Unity3D調用android方法(非外掛程式方式)

來源:互聯網
上載者:User

標籤:pos   phone   unity3   訊息   iphone   外掛程式   pop   console   href   

關於Unity3Dproject與androidproject的轉換與合并,請參考我的另外一篇部落格。假設你對Unity3Dproject增加到androidproject的過程不熟悉。也請先看完以下這篇部落格:

android與Unity3D互動,fragment顯示unity3d視圖。

以下,我們來說說本部落格的終端,Unity3D調用android的方法:

1.首先,在網路上大家能夠看到非常多把android project打包,然後以外掛程式的方式,放入Unity3D工程中來調用的方式,這樣的方式,我不做評論,可是非常麻煩,所以我也沒有進行嘗試。大家有興趣能夠到網路上搜尋一下看看。

2.假設講Unity3D的project匯出為android project然後進行再次開發的過程中。須要Unity3D調用android的方法,這個時候,再使用1中的方法。顯然是不合適的。


那麼我們要怎麼樣來做呢?分為以下幾部分:

1.在初始化UnityPlayer的Activity中加入方法,例如以下:

/** * 測試Unity調用Android的方法 */public void testMethod(String param){System.out.println("參數為:"+param);}

對於提供的方法,不能夠進行UI操作,由於Unity3D對於android的UI線程來說,僅僅是個子線程。假設要進行UI操作,能夠使用Handler發訊息。


2.在Unityproject中。利用c#檔案來書寫,Unity調用的代碼:

public static void ActivateShareImage(string content)    {        if (Application.platform == RuntimePlatform.IPhonePlayer)        {            _PressButton3(content);        }        else if (Application.platform == RuntimePlatform.Android)        {            UISystem.Console("test method!");            AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");            AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");            jo.Call("testMethod", "unity");        }        else        {                 }    }
3,假設你已經有android項目了,那麼就把新修改的Unity3D的項目匯出為android project的,把新匯出的project中的assets的目錄,替換掉之前老的project中的,這樣做的目的是更換Unity的修改,假設修改了其它的東西,也是這樣更換的。可是假設你的assets目錄下還有其它資源。請保留。

假設。你沒有android項目,那麼就把Unity3D的項目匯出為android的project項目使用。


4.對於AndroidJavaClass這個類。以及它提供的方法,大家能夠參考以下的網站:

AndroidJavaClass 安卓Java類


這樣,就能夠完畢調用了。根本就不須要使用外掛程式。關於android向Unity3D發送訊息,日後會發部落格敘述。

Unity3D調用android方法(非外掛程式方式)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.