【问题标题】:PhoneGap/Cordova blank screen on pause/resumePhoneGap/Cordova 暂停/恢复时出现黑屏
【发布时间】:2014-09-14 16:36:48
【问题描述】:

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

一旦按下“后退按钮”,屏幕就会刷新到应用显示的最后一页。

我是 PhoneGap 的新手,我确信我缺少一些简单/基本的东西 - 在如何处理“恢复”事件等方面。我已按照 Phil Mitchell 在此链接上提供的说明进行操作http://wiki.phonegap.com/w/page/35501397/Tutorials(顺便说一句,这是一个很棒的资源..)

谢谢。

更新:

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

        super.setBooleanProperty("keepRunning", false);

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

非常感谢任何帮助..

【问题讨论】:

    标签: android cordova


    【解决方案1】:

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

    我的应用基于 ionic/angular/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 不会刷新页面)

    我希望这对某人有帮助!

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        从您创建活动的地方或从“扩展 DroidGap”的类尝试这个。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-01-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-14
          • 2022-01-25
          • 1970-01-01
          相关资源
          最近更新 更多