Cocos游戏Android平台后台双显示
Angulu Lv1
问题出现原因

起因:Cocos游戏打包后,由于接了一个开屏广告(在游戏画布的插入了一个Activity)后,出现了如下的两个后台的现象。
演示1
这个问题会导致部分渠道审核人员驳回,认为是bug,其实也不是开发者希望出现的情况,但是开屏广告在展示完后已经finish了,为什么还会存在呢?

原因:Cocos引擎对其绘制画布的Activity设置了android:taskAffinity属性,并且在这个界面前面还增加了一个启动界面。

解决办法

1.在Androidmanifest里的游戏主activity配置里把android:taskAffinity=””去掉
2.在Cocos2dxActivity里的onCreate()回调里注释以下代码

1
2
3
4
5
6
if (!isTaskRoot())
{
finish();
Log.w(TAG, "[Workaround] Ignore the activity started from icon!");
return;
}

3.在Cocos2dxActivity里的onDestroy()回调里注释以下代码

1
2
3
if (!isTaskRoot()) {
return;
}

4.在AppActivity里的onCreate(),onDestroy()回调里注释以下代码

1
2
3
if (!isTaskRoot()) {
return;
}