将 PhoneGap 应用程序带到前台

Posted

技术标签:

【中文标题】将 PhoneGap 应用程序带到前台【英文标题】:Bringing a PhoneGap app to the foreground 【发布时间】: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应用程序,行为相反。我试图将应用程序保持在后台,但一旦触发警报,它就会进入前台。你用什么来安排/触发警报? ***.com/questions/32376247/… 【参考方案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);
  ;

【讨论】:

只适用于安卓

以上是关于将 PhoneGap 应用程序带到前台的主要内容,如果未能解决你的问题,请参考以下文章

为啥单击子窗口并不总是将应用程序带到前台?

将应用程序带到前台时获取准确的坐标

UILocalNotification 触发时自动将应用程序从后台带到前台?

有没有办法在推送通知接收时将应用程序带到前台?

iOS10:从本地通知中点击操作不会将应用程序带到前台

是否可以使用 Phonegap 将 PlayN 游戏带到 iOS?