Android Activity跳转到cocos的AppActivity 的问题

本文探讨了在Android工程中嵌入Cocos Creator游戏时遇到的挑战,包括Activity跳转问题的解决方法,以及如何应对AppActivity生命周期限制。通过注释引擎拦截、设置启动模式和回调拦截,作者分享了复现率100%的故障及最终解决方案。
摘要由CSDN通过智能技术生成

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

环境:cocosCreator2.4.3

androidStudio:4.1.2

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

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

 

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

1620984704(1)

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

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

 

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风堂主人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值