public bool Initialize() { callback = new CallbackBridge(null); //일단 아까 plugin의 context를 설정해주기 위해 //유니티 자체의 UnityPlayerActivity를 가져옵시다. using (AndroidJavaClass activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) { activityContext = activityClass.GetStatic <AndroidJavaObject>("currentActivity"); } //클래스를 불러와줍니다. //패키지명 + 클래스명입니다. using (pluginClass = new AndroidJavaClass("com.example.myunityplugin.MyUnityPluginBridge")) { if (pluginClass != null) { //아까 싱글톤으로 사용하자고 만들었던 static instance를 불러와줍니다. pluginClassInstance = pluginClass.CallStatic <AndroidJavaObject>("instance"); //Context를 설정해줍니다. pluginClassInstance.Call("setContext", activityContext); //Initialize pluginClassInstance.Call <bool>("Initialize", callback); } } if (activityContext != null && pluginClass != null && pluginClassInstance != null) { return(true); } else { return(false); } }
public GarlicWebviewAndroidImpl() { callback = new CallbackBridge(null); pluginClass = new AndroidJavaClass(fullClassName); unityActivity = GetUnityActivity(); }