Android平台上的Phonegap应用程序 - 让应用程序保持运行

时间:2013-06-21 00:15:12

标签: android cordova

我有一个Phonegap应用程序,可以作为特定人群的通信服务。使用phonegap-plugins GitHub页面上的本地通知插件,我已经在应用程序中实现了通知,这样每当有人收到新消息时,如果应用程序在后台,则会显示通知。

但是,大约一个小时之后,不会再发生任何通知,并且看起来该进程已被终止。当我回到应用程序时,它完全开始,而不是从我最后离开的地方恢复。我假设在一段时间后,Android停止在后台运行应用程序。

有没有人知道如何让应用程序在后台运行,直到用户告知它停止,并阻止Android杀死进程?

1 个答案:

答案 0 :(得分:6)

正如CommonsWare建议的那样,你可以写一个虚拟服务来保持你的应用程序活着,但正如他正确地建议的那样,如果你打算去编写本地虚拟服务,你也可以写下实际的本地服务并完成了它。

作为一个快速而肮脏的解决方案,您可以使用部分唤醒锁(see here)来保持CPU在后台运行您的应用程序。

我成功地使用这种方法让我的Phonegap-based walk navigation apps在后台保持活着状态,以便他们可以继续接收和处理位置更新。

在你的情况下,保持活着接收通知并不是一个部分唤醒锁的意图,因此我不确定android是否会在一段时间之后杀死你的应用程序,因为它没有做任何事情(不像我的不断接收和处理位置更新)但它可以在不需要编写服务的情况下完成工作,因此可能值得一试。

查看我的answer to this question,其中包含我的PowerManagement plugin for Android更新版本的代码。我更新了用于Cordova 2.8.0的插件,但也将其扩展为能够获得部分唤醒锁。