描述:在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。