標籤: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方法(非外掛程式方式)