我需要始终在Android系统上运行我的应用程序,而用户只能使用自己的密码退出应用程序。有人告诉我,为了做到这一点,我需要设置和运行我自己的服务。
我的问题是可以以及如何使用Phonegap和Jquery完成。我如何定义和运行我自己的服务?谢谢你的帮助。
答案 0 :(得分:2)
首先,不要这样做。我知道这听起来不像答案,但相信我,它实际上就是答案。我的意思是,不,你不希望你的应用程序“永远在Android系统之上”。使用实际的Android生命周期并作为一个好公民参与,不要滥用它并尝试让您的应用始终运行。我知道你可能有一个用例,让你认为你需要这样做,但你很可能不这样做。
其次,您可以编写本机服务(而不是JS)并使其在后台运行。这是一个标准的Android服务。您需要创建一个PhoneGap插件,通过该服务挂钩您的应用程序(或者您可以在PhoneGap以外的任何方式创建它)。然后,您可以在后台工作,或通过服务将您的应用程序带到前台。
这个答案可能有所帮助:Creating an Android Service with Phonegap? (Have phonegap app run even when closed)
第三,再次,不要这样做。大多数长时间运行的服务都是一个坏主意(不是所有人都在意,一些用例需要它,一个音乐播放器等,但大多数都没有)。如果你只需要做一些偶尔的后台工作(获取数据等),那么创建一个IntentService并安排一个警报(通过AlarmManager)定期在后台启动它是一个更好的主意。但是,无论使用情况如何,长时间运行的后台服务都会消耗大量资源,并使用户有理由对您的应用程序保持警惕。
答案 1 :(得分: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文档。