cocos2d 3.11.1 关于Android包第一次打开按Home键挂起再进入的问题 too much recursion
来源:互联网 发布:java自动装箱和拆箱 编辑:程序博客网 时间:2024/06/06 17:41
问题描述,打好安卓包点开包,用手机系统自带程序安装器安装后,会有一个“完成”和“打开”按钮,点击打开程序后,再按Home键退出程序,回到手机桌面再点击应用图标进入,程序直接卡死,点游戏界面上的任何按钮都无反应!!!eclipse上报出一连串“too much recursion”,此时的我一脸懵逼。
经过反复测试,只有第一次这样做会出问题,且如果不点击那个“打开”按钮,而是安装完程序后,回主界面使用点击应用图标的方法去打开就不会出问题!!!
推测这一定涉及到了Android的问题,就去论坛上看了一下,找到了关于Android程序启动的类似问题。
解决方案和问题的原因如下:
在cocos2dxActivity.java的onCreate方法中添加代码
注意添加到super.onCreate(savedInstanceState);的后面
if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){ finish(); return;}
造成问题的原因:很简单,利用程序安装器打开程序,启动的Intent是没有带Category,而我们自己打开程序是带了Category,所以只需要在配置Intent.ACTION_MAIN的Activity判断下有无Category。然后放到通知栏的时候要更具有无Category 来生成启动的Intent。
然而,我照此方法改了,并没有什么luan用!!! 只是不像之前那样卡死了,是直接闪退!!!闪退!!!
好了,平复一下激动的情绪,仔细分析。第一次启动后,我们是按了Home键再进入,然而上述的解决方法大概意思就是,防止重复创建Activity,除此之外好像没有做关于cocos2d的什么事,但是我们的程序是按Home键挂起的,也就是此Activity到了后台,虽然不需重新创建,但是再进入应该要做resume的事情吧,关于cocos2dxActivity的事。
以上只是我的推测,于是我大胆的做了下尝试:
在return之前添加了onResume方法。
然后重新打包,问题居然就这么解决了!!!
亲测数十遍,也没有出现其他的什么问题。
虽然解决了,但也不能证明我的想法是完全正确的,如果有大神看到本文有什么不对的地方可以指出,我也可以学习一下。
- cocos2d 3.11.1 关于Android包第一次打开按Home键挂起再进入的问题 too much recursion
- 关于Cocos Creator构建的android程序第一次安装home键挂起再进入程序崩溃问题的解决方案
- too much recursion 的解决方法
- mootools setOptions 发生too much recursion问题
- Error:too much recursion
- swfupload too much recursion
- too much recursion
- 关于应用第一次安装打开,点击home键,然后再点击图标打开时,重复打开页面问题
- 关于应用第一次安装打开,点击home键,然后再点击图标打开时,重复打开页面问题
- 关于应用第一次安装打开,点击home键,然后再点击图标打开时,重复打开页面问题
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- Spring RESTful
- Win32开发:完整的开发流程
- D
- opencv二值化函数cvAdaptiveThreshold和cvThreshold
- .Net Core下通过Proxy 模式 使用 WCF
- cocos2d 3.11.1 关于Android包第一次打开按Home键挂起再进入的问题 too much recursion
- Vue的轮播图组件实现
- FreeRTOS_001_准备工作
- spring boot统一处理结果(含异常)
- logback+slf4j日志实例
- 十二、mcg-helper业务系统单表业务模块自动化生成model类
- 面试总结之select和epoll
- .Net Reactor 5脱壳教程
- 读书笔记:机器学习实战【第3章 决策树】