【问题标题】:Bringing a PhoneGap app to the foreground将 PhoneGap 应用程序带到前台
【发布时间】:2015-09-24 20:51:56
【问题描述】:

我正在编写一个包含提醒组件的应用程序。一旦用户输入要提醒的时间,应用程序就会被发送到后台。 (我目前正在使用插件使应用程序在后台保持活动状态 (https://github.com/katzer/cordova-plugin-background-mode)。

该程序似乎在后台运行,但是,当需要触发警报时,它会安静地(并且在后台)运行。我希望它生成的“Snooze”/“Dismiss”对话框在前台呈现给用户。

提前致谢。

【问题讨论】:

  • 您需要在 iOS 上发布 UILocalNotification。
  • 好的,但我想知道这个问题是否有 HTML5/JS 解决方案(这就是我正在开发的)。
  • 一旦应用程序在 iOS 上处于后台(顺便说一下,使用该插件,您不会获得 App Store 批准)您所能做的就是发布通知 - 我不使用 Cordova,但我想有人会写一个插件来做到这一点。
  • 这很有趣。我正在为android做一个cordova应用程序,行为相反。我试图将应用程序保持在后台,但一旦触发警报,它就会进入前台。你用什么来安排/触发警报?

标签: android ios cordova phonegap-plugins background-process


【解决方案1】:

该插件看起来是一个自定义的Service,因此,从源代码中,您可以编辑KeepAliveTask.run() 方法,使用一个事件侦听器来侦听警报(广播接收器?)。

【讨论】:

    【解决方案2】:

    你可以像这样使用https://github.com/caioladislau/cordova-toforeground插件:

      cordova.plugins.backgroundMode.enable();
    
      cordova.plugins.backgroundMode.onactivate = function() {
        setTimeout(function(){ 
          toForeground("MainActivity", "com.package.name", function() {
            console.log("foreground")
          }, function(){
            console.log("background still")
          }); 
        }, 4000);
      };
    

    【讨论】:

    • 只适用于安卓
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    相关资源
    最近更新 更多