android - 保持应用程序在后台运行

标签 android ios cordova phonegap-plugins mobile-application

我有一个围绕计时器的移动应用程序,该计时器在屏幕上倒计时并在计时器到达特定时间时发送各种内容,例如文本消息以及颜色变化、振动等。有没有办法保留该应用程序不断在后台运行,这样它就不会被杀死?我正在使用 PhoneGap 服务,因此可以选择 PhoneGap 插件。我试过一个名为“后台模式”的插件,这里是 link to the documentation .但是,这似乎并不是 100% 的时间都有效。

PhoneGap 生成一个 config.xml,我可以在其中更改应用程序的一些属性/设置。这是我在配置文件中定义的属性/首选项(与背景相关的)。

<preference name="exit-on-suspend" value="false" />
<preference name="KeepRunning" value="true" />
<gap:plugin name="de.appplant.cordova.plugin.background-mode" version="0.5.0" />

如有任何建议,我们将不胜感激。

谢谢。

最佳答案

有时找到答案涉及改写问题。移动环境中的 Phonegap/Cordova 对后台进程的使用方式非常敏感,因为这些东西会占用设备有限的资源(电池和数据限制)。

改变解决这个问题的方式,您会发现 phonegap/cordova 可以为您提供完成任务的工具。

一般来说,使用 phonegap/cordova 框架很难让应用程序在后台运行超过 15 分钟。计时器几乎是不可能的。相信我,我试过了。当应用程序失去焦点时,它会暂停,如果设备需要内存,则可能会完全关闭,具体取决于您使用的平台。

另一种方法是让您的服务器处理计时问题并发送推送通知,这些通知可以短暂唤醒您的应用并允许您进行处理和响应。我已经成功使用后台获取方法来检查更新和安排通知(有些是即时的,有些是稍后发生的)。

安排通知作为定时事件发生,提示您的用户使用第三方打开应用程序 local notification插入。一旦用户听到和/或看到您的通知并打开应用程序,您就可以在应用程序恢复时对显示进行更改。参见 http://docs.phonegap.com/en/3.5.0/cordova_events_events.md.html有关如何处理此事件的详细信息。

希望这对您有所帮助..祝您好运

关于android - 保持应用程序在后台运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26797553/

相关文章:

cordova - Phonegap 2.9.0、Windows Phone 8、Durandal 2.0、XAP 运行时问题

javascript - Galaxy Nexus 忽略视口(viewport)元标记

android - 如何安全查询另一个应用程序的CP

android - Phongap config.xml 和 Cordova config.xml 之间有区别吗?

ios - SwipeCellKit 滑动删除未调用

iOS:右滑动手势在 UIPageViewController 中没有响应

iphone - iPhone 上的 Ionic 如何将 StatusBar 设置为透明

android - 如何设置KeepScreenOn()

android - 如何以编程方式获取 android.R.id.content 的资源 Id?

ios - 使用导航 Controller 在不同 View 之间切换