我正在使用Unity創建Android應用程序。無法通過Unity在Android上啓動活動
我有兩個插件。每個工作都很好,但是當我想要使用它們兩個時,我無法在它們之間切換活動。
我已經花了近十天閱讀所有類似的問題,並嘗試了從反編譯/編輯/重新編譯Java代碼到從Unity本身做到的一切,但沒有運氣。
這是我寫的最終代碼和我得到的錯誤。
我AndroidManifest.xml
文件:
...
<activity
android:name="com.Company.Game.RRAndroidPluginActivity"
android:label="My Game">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.codiwans.iab.IAB"
android:screenOrientation="landscape"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:label="My Game IAB" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
...
這裏是統一代碼(C#):
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject pm = jo.Call<AndroidJavaObject>("getPackageManager");
AndroidJavaObject intent = pm.Call<AndroidJavaObject>("getLaunchIntentForPackage",
"com.codiwans.iab.IAB");
jo.Call("startActivity", intent);
以下是錯誤我得到:
JNI: Unable to find method id for 'getClass'
Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
JNI: Unable to find method id for 'getName'
Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
JNI: Unable to find method id for 'getName'
Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
Caused by: java.lang.NoClassDefFoundError: com/unity3d/player/UnityPlayer$12
at com.unity3d.player.UnityPlayer.setScreenSize(Unknown Source)
at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
at com.unity3d.player.UnityPlayer.onDrawFrame(Unknown Source)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1462)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1216)
Caused by: java.lang.NullPointerException
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1382)
at android.app.Activity.startActivityForResult(Activity.java:3190)
at android.app.Activity.startActivity(Activity.java:3297)
... 4 more
這兩項活動是主要的。其中之一是LAUNCHER。
我可以在兩者上成功調用方法。
但是,我無法將活動切換到非啓動程序,但獲取指定的錯誤(無法找到'getClass'的id)。
我感覺如此接近,但迄今爲止。任何幫助表示讚賞。在這裏瘋狂!
謝謝。