0
我正在爲unity 3d寫一個android插件,我的問題是初始化我需要將applicationContext傳遞給一個方法。 所以我MyPlugin.cs
就像下面從Unity獲取applicationContext 3d
using UnityEngine;
using System.Collections;
public class MyPlugin : MonoBehaviour {
void Awake() {
Debug.Log ("awake");
Initialize();
}
public static void Initialize()
{
AndroidJavaClass playerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = playerClass.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaClass pluginClass = new AndroidJavaClass("com.mycompany.product.UnityPlugin");
pluginClass.CallStatic("initialize", new object[1] {activity});
}
}
和Android的UnityPlugin.java
類我有
public class UnityPlugin extends Plugin {
static public void initialize (Activity unityActivity){
try {
MyApp.initialize(unityActivity.getApplicationContext());
} catch (NullPointerException e){
Log.d("unity", "null pointer exception");
}
}
}
,我得到NullPointerException
所有的時間。從統一活動中獲得AppilcationContext
的正確方法是什麼?
真棒!爲我工作得很好 –