0

我有一个简单的 html/javascript 应用程序,可以在 Android 设备上启动并正常运行。但是,当应用程序通过使用“主页按钮”置于后台,然后通过再次单击应用程序回到前台时 - 它以空白屏幕(android 上的白色空白屏幕)开始并保持这种状态直到“后退按钮'被按下。

按下“后退按钮”后,屏幕将刷新到应用程序显示的最后一页。

我是 PhoneGap 的新手,我确信我缺少一些简单/基本的东西 - 关于如何处理“恢复”事件等。我已按照 Phil Mitchell http:/ /wiki.phonegap.com/w/page/35501397/Tutorials(顺便说一句,这是一个很好的资源……)

谢谢。

更新 :

查看 DroidGap 代码后,我尝试添加以下行:-

        super.setBooleanProperty("keepRunning", false);

但这似乎没有帮助。我很高兴应用程序在每次输入主页按钮时退出,然后在移动设备上单击应用程序时完全重启。

任何帮助深表感谢..

4

3 回答 3

1

我遇到了同样的问题,我想分享一个对我有用的黑客。

我的应用程序基于 ionic/angular/cordova,而 android 版本在暂停/恢复时给了我大约 50% 的白屏。

当它发生时,点击屏幕上的任意位置或点击后退按钮将使屏幕再次渲染就好了。

我添加了一个与名为 的范围变量绑定的 div random,如下所示:

  <body ng-app="starter" id="body">
    <div>{{ random }}</div>
    <ion-nav-view>
    </ion-nav-view>
  </body>

然后我在我的 app.js 中添加了一个监听器来捕获resume event由 cordova 触发的事件,然后更改随机变量并调用 $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 不会刷新页面)

我希望这可以帮助别人!

于 2014-09-14T08:36:48.787 回答
0

如果您仍然说“我很高兴应用程序在每次输入主页按钮时退出,然后在移动设备上单击应用程序时完全重启。” 然后去吧。

@Override
protected void onStop(){
super.onStop();
}

从您创建活动的地方或从“扩展 DroidGap”的类中尝试此操作。

于 2012-07-12T05:40:14.927 回答
0

使用 JS SDK 通过 PhoneGap 渲染页面和通过客户端 FB 身份验证流程“对话”似乎存在问题。如果我禁用客户端身份验证,那么当应用程序从后台(暂停/恢复/等)进入前台时,页面的呈现和显示效果会非常好。

我假设该页面需要感知它正在显示在移动设备上并使用 IOS 或 Androi SDK 进行客户端身份验证..(如果/当我开始测试它时,我会更新答案 - 如果有有谁有更多的光芒,请随意修饰)。

于 2012-06-26T21:38:25.040 回答