最近使用unity做游戏发布android游戏,内置付费功能实现后,付完费停留在付完费界面的时候点击home键回到手机桌面,然后点击游戏图标游戏重启。付费失败。但是钱已经扣了,这就比较坑了。然后查了一下资料发现不只我遇到了这样的问题。关于android游戏home返回再点击游戏图标也会出现重启的现象。而且安装apk后点击“”打开”重复以上操作必然出现重启现象。在网上也试了一些方法。有的有效,有的没有效果。这里我把两个解决方法写说来。废话不多说。直接上解决方法。
1.在你启动的activity的OnCreate方法中加入以下判断:
if (!isTaskRoot()) {
finish();
return;
}
2.同样在OnCreate方法中加入
if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){
finish();
return;
}
这两个方法我是放在我的主活动窗口中的OnCreate中。两个效果一样。解决了付费不能解锁的情况。但是安装后直接点击打开付费结束后home返回单击图标进入还是会重启游戏但是显示付费是成功的,而且锁也解了。退出游戏。如果安装后点击游戏图标进入游戏后付完费home返回。点击图标进入游戏不会重启。还是停留在解锁后游戏界面,可以继续进行游戏。(亲测)。
下面是我查到的这两个方法的原文链接:
http://www.07net01.com/program/2016/08/1647367.html
http://www.cnblogs.com/vipmhy/p/4383891.html