private void StartOnUI() { using (var zapicClass = new AndroidJavaClass("com.zapic.sdk.android.Zapic")) { using (var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) using (var gameActivityObject = unityPlayerClass.GetStatic <AndroidJavaObject>("currentActivity")) { var methodId = AndroidJNI.GetStaticMethodID( zapicClass.GetRawClass(), "attachFragment", "(Landroid/app/Activity;)V"); var objectArray = new object[1]; var argArray = AndroidJNIHelper.CreateJNIArgArray(objectArray); try { argArray[0].l = gameActivityObject.GetRawObject(); AndroidJNI.CallStaticVoidMethod(zapicClass.GetRawClass(), methodId, argArray); } finally { AndroidJNIHelper.DeleteJNIArgArray(objectArray, argArray); } } if (_authenticationHandler == null) { _authenticationHandler = new ZapicPlayerAuthenticationHandler(this); var methodId = AndroidJNI.GetStaticMethodID( zapicClass.GetRawClass(), "setPlayerAuthenticationHandler", "(Lcom/zapic/sdk/android/ZapicPlayerAuthenticationHandler;)V"); var objectArray = new object[1]; var argArray = AndroidJNIHelper.CreateJNIArgArray(objectArray); try { argArray[0].l = AndroidJNIHelper.CreateJavaProxy(_authenticationHandler); AndroidJNI.CallStaticVoidMethod(zapicClass.GetRawClass(), methodId, argArray); } finally { AndroidJNIHelper.DeleteJNIArgArray(objectArray, argArray); } } } }
internal ZapicAndroidInterface() { _authenticationHandler = null; }