描述:在unity游戲集成我們公司自己的SDK后,進入游戲然后退出都桌面,再按圖標返回游戲,這時游戲是黑屏的。
分析:由於SDK在游戲啟動之前需要做一些初始化,所以第一個activity是SDK的,並且繼承自unity的<span>UnityPlayerActivity,假設這個activity取名GameActivity。SDK的操作都在
GameActivity中實現,執行完后進入游戲activity。這個GameActivity需要自己手動配置在AndroidManifest.xml文件中,其他的游戲的activity都是unity工具已經自動生成了。
解決方案:下面是unity自動生成的activity配置,
<activity android:name="com.unity3d.player.UnityPlayerNativeActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="unityplayer.UnityActivity" android:value="true" /> <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" /></activity>
對比一般的android的AndroidManifest.xml配置可以發現,unity自動生成的activity多了兩行:
<meta-data android:name="unityplayer.UnityActivity" android:value="true" /><meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
所有的unity的activity都需要配置這兩行,包括繼承自unity的activity。