我有一个简单的html / javascript应用程序,可在Android设备上启动并正常运行。然而,当应用程序通过使用“主页按钮”放入后台,然后通过再次单击应用程序返回到前台 - 它以空白屏幕(android上的白色空白屏幕)开始并保持这种状态直到'按下后退按钮。
按下“后退按钮”后,屏幕会刷新到应用程序显示的最后一页。
我是PhoneGap的新手,我确信我缺少一些简单/基本的东西 - 关于如何处理'简历'事件/等等。我已按照此链接提供的说明由Phil Mitchell http://wiki.phonegap.com/w/page/35501397/Tutorials(这是一个很好的资源btw ..)
感谢。
更新:
在查看DroidGap代码后,我尝试添加以下行: -
super.setBooleanProperty("keepRunning", false);
但这似乎没有帮助。我很高兴每次进入主页按钮时应用程序退出,然后在移动设备上单击应用程序时完全重启。
非常感谢任何帮助..
答案 0 :(得分:1)
我遇到了同样的问题,我想分享一个对我有用的黑客。
我的应用程序基于离子/角度/ cordova,Android版本在暂停/恢复时给我一个白色屏幕大约50%的时间。
当它发生时,点击屏幕上的任何地方或按下后退按钮会使屏幕再次渲染得很好。
我添加了一个绑定到名为random
的范围变量的div,如下所示:
<body ng-app="starter" id="body">
<div>{{ random }}</div>
<ion-nav-view>
</ion-nav-view>
</body>
然后我在app.js中添加了一个监听器来捕获由cordova触发的resume event
,然后更改随机变量并调用$ apply(),如下所示:
document.addEventListener("resume", function() {
angular.element(document.querySelector('#body')).scope().random = Math.random();
angular.element(document.querySelector('#body')).scope().$apply();
})
由于ion-nav-view
接管div从不显示的整个屏幕,但angular不知道并刷新页面,导致整个事情发生。
(我试图将变量绑定到一个不可见的元素,但是angular不会刷新页面)
我希望这有助于某人!
答案 1 :(得分:0)
通过使用JS SDK通过PhoneGap和“Dialog”到客户端FB身份验证流程来呈现页面似乎存在问题。如果我禁用客户端身份验证,那么当应用程序从后台(暂停/恢复/等)转到前台时,页面的呈现和显示效果非常好。
我假设页面需要感知它是通过移动设备显示并使用IOS或Androi SDK进行客户端身份验证..(如果/当我开始测试时,我会更新答案 - 如果有人有更多的光线,请随意修饰。
答案 2 :(得分:0)
如果您仍然说“我很高兴每次进入主页按钮时应用程序退出,然后在移动设备上点击该应用程序时完全重启。”然后去吧。
@Override
protected void onStop(){
super.onStop();
}
从创建活动的位置或“扩展DroidGap”的类中尝试此操作。