cc.game.EVENT_HIDE和cc.game.EVENT_SHOW问题修正思路,大家都知道这两个事件不是100%能保证触发的,现在主要问题,可能是在程序回到前台或者到后台以后,JS引擎或逻辑还没有准备好或者已经提前暂停,无法真正触发到这个事件.但是原生级别的接口调用是一定能成功的.
比如安卓的OnStart事件是一定会触发的,有这个思路,可以在OnStart里在系统层设置一个变量比如_hasEventShow = true.在逻辑层的update或者其它什么需要用这个的时候去取这个变量的值,处理完以后setHasEventShow(false),以保证不重复调用.
如此一来,能够解决cc.game.EVENT_SHOW事件不能保证100%能调用的问题.cc.game.EVENT_HIDE事件的问题修正应该也可以用类似的方法.
1赞
这个思路我自己已经实现,相当不错的效果,再也不用烦那两事件了。
安卓和iOS是可以确保被调用的,等同于游戏进入后台/前台(拉出状态栏不会触发)
这里文档没说清楚,只有 Web 才可能不会触发,也没有办法确保触发
所以这个思路是对的,但是可能是多余的。
1赞
我是因为苹果下碰到偶尔没触发才查的这个资料,之后才想办法解决的,不过也不能确定是不是其他写法问题导致的。
偶尔没触发么?几率大吗?可能的话麻烦说说重现方式?
1.7 ios 在我这必现,看下这个帖子,http://forum.cocos.com/t/cocos1-7-ios-cc-game-event-show-bug/54859,
有需要可以提供demo
creator 1.8.1
切换前后头都没有问题,但在游戏中微信分享,游戏暂停后没有几秒就切入前台了,很诡异,求解决?
下面调用日子输出
cc.game.EVENT_HIDE …切入后台
cc.game.EVENT_SHOW …切回来 | …切入前台
如果下拉顶部栏,或者接到电话 ,这时候会监听到从前台进入后台,但是回到游戏以后 没有监听到后台进入前台,IOS下必现,但是我通过调试 好像是IOS那边的问题,不知道该怎么解决呢

