Android與unity交互

最近項目需要Android與Unity進行交互工作,下面談談自己的經驗,希望對大家有所幫助.

一.Unity向Android主動交互

比如在Unity中我們需要調用某個函數,代碼如下:

 
//例子

 AndroidJavaClass jc = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");

 AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject> ("currentActivity");
        
 jo.Call ("login","");

//當然也可以如下:調用android靜態函數

new AndroidJavaClass("包名").CallStatic("函數名", new object[0]);

這樣我們就可以在Unity中調用Android的函數了,也可以傳參,這裏我只做個引子,大家可以以此作爲擴展.

二.Unity向Android主動交互

這裏同樣以.UnitySendMessage作爲引子向大家介紹.


//這裏要說明一下,UnitySendMessage的第一個參數是unity控件的名字,

 // 第二個參數是方法名

  //第三個參數是要傳遞的參數而且只能傳遞一個參數

  ->對象.UnitySendMessage("", "", "");

需要注意的是:

1.第一個參數是unity控件的名字,我們有時候不好找怎麼辦,這裏可以提供一個小技巧

//正如Android一樣,Unity同樣有自己的生命週期,在這裏我們可以給該控件命名

//方便我們進行交互,需要注意的是有些類可能無效,要具體分析

void Start () {

    this.name = "";
}

2.第三個參數只能傳遞一個參數,不過我們可以靈活點,可以傳個串數據,在Unity中做一些分割工作.

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章