Unity Android 通訊

通過 Unity 中提供 AndroidJavaClass, AndroidJavaObject 兩個類及其方法

參考:

AndroidJavaObject


Unity --> Android

C#

if UNITY_ANDROID

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

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

	jo.Call("functionInAndroid");

#endif
前兩行不可改動,另外可以調用靜態方法:

jo.CallStatic("functionInAndroid");

可以調用一個帶有返回值的方法:

bool b = jo.Call<bool>("functionInAndroid");

可以向 Android 方法中傳遞參數:
jo.Call("functionInAndroid", "parameter");


Android Java

    public void functionInAndroid() {
        Log.d("unity", "functionInAndroid is called.");
    }
標準的 java 方法


Android --> Unity

UnityPlayer.UnitySendMessage("GameObject", "FunctionName", "");
參數一:遊戲體名稱

參數二:腳本中方法名

參數三:傳遞參數

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