1

我需要始终在 android 系统之上运行我的应用程序,而用户只能使用自己的密码退出应用程序。有人告诉我,为了做到这一点,我需要设置并运行我自己的服务。

我的问题是可以以及它是如何使用 Phonegap 和 Jquery 完成的。我如何定义和运行我自己的服务?谢谢你的帮助。

4

2 回答 2

2

首先,不要那样做。我知道这听起来不像是答案,但相信我,这实际上就是答案。我的意思是,不,您不希望您的应用程序“始终位于 android 系统之上”。使用实际的 Android 生命周期并作为一个好公民参与,不要滥用它,并尝试让您的应用程序始终运行。我知道你可能有一个用例让你认为你需要这样做,但你很可能不需要。

其次,你可以编写一个原生服务(不是 JS)并让它在后台运行。这是一个标准的 Android 服务。您需要创建一个PhoneGap 插件以通过该服务连接到您的应用程序(或者您可以在PhoneGap 之外自己创建它,无论哪种方式)。然后你可以在后台工作,或者通过服务将你的应用程序带到前台。

这个答案可能会有所帮助:Creating an Android Service with Phonegap? (即使关闭也可以运行phonegap应用程序)

第三,再次,不要那样做。大多数长期运行的服务都是一个坏主意(并非所有人都介意,一些用例需要它,音乐播放器等,但大多数不需要)。如果您只需要偶尔做一些后台工作(获取数据等),创建一个 IntentService 并安排一个警报(通过 AlarmManager)在后台定期启动它是一个更好的主意。不管用例如何,长时间运行的后台服务都会消耗大量资源,并使用户对您的应用程序保持警惕。

于 2012-11-03T00:36:22.530 回答
1

我认为Phonegap 不会让您仅在javascript 中创建服务。为了能够提供服务,您必须至少编写一些本机代码。请参阅https://stackoverflow.com/a/10427975/1721527

我从未使用过Phonegap,但我认为您可以创建一个本机插件来与javascript 对话。请参阅http://docs.phonegap.com/en/2.1.0/guide_plugin-development_index.md.html

请参阅http://developer.android.com/guide/components/services.html上有关服务的 Android 文档。

于 2012-11-03T00:29:03.860 回答