Android Activity跳转到cocos的AppActivity 的问题

最近有个需求,是在原生的Android工程里面植入cocos游戏,我是把cocos游戏构建成一个Android工程,以依赖库的形式供Android原生工程调用,遇到如下问题:

环境:cocosCreator2.4.3

androidStudio:4.1.2

问题1.安卓Activity跳转到AppActivity,直接跳转失败:

 该问题是因为如果AppActivity不是根Activity的话,引擎里面直接做了拦截,只要搜索“isTaskRoot”把相关的拦截全注释掉,就OK了:

Android Activity跳转到cocos的AppActivity 的问题

 

问题2:解决完上面的问题后,又一个问题,我从Android工程的MainActivity跳转到cocos的AppActivity 时,第一次成功,返回,在跳转过去,失败,第三次成功,返回再跳转又失败,如此反复,复现率100%。异常日志如下:

Android Activity跳转到cocos的AppActivity 的问题

在百度和cocos论坛查了下,都没有找到解决答案,但是在官方论坛里,子龙山人大佬的回复说引擎不支持Activity的生命周期函数被多次调用:

Android Activity跳转到cocos的AppActivity 的问题

再结合我一个前同事的提示,我试一下,在cocos的AppActivity返回回调里做了下拦截,直接改成启动Android工程的MainActivity,然后把MainActivity和AppActivity的启动模式都改成singleTask,防止AppActivity被finish,再编译运行一下,结果可以正常反复跳转了。

Android Activity跳转到cocos的AppActivity 的问题

Android Activity跳转到cocos的AppActivity 的问题

Android Activity跳转到cocos的AppActivity 的问题

贴出相关问题的论坛路径(再次感谢):

https://forum.cocos.org/t/android-crash/57455/3

 

上一篇:cocos角色和敌人行为互动脚本制作


下一篇:如何临时发布部署Cocos小游戏到Linux服务器,让别人能在微信打开