【问题标题】:How to put my app to run "Always On Top" using Phonegap?如何使用 Phonegap 让我的应用程序运行“始终在最前面”?
【发布时间】:2012-11-03 00:24:05
【问题描述】:

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

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

【问题讨论】:

    标签: javascript android jquery cordova always-on-top


    【解决方案1】:

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

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

    这个答案可能会有所帮助:Creating an Android Service with Phonegap? (Have phonegap app run even when closed)

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

    【讨论】:

    • 感谢您的回答,我会为我的应用考虑另一种方法,并研究 PhoneGap 插件的创建。我想这样做的唯一原因是因为我的应用程序需要在 android 系统之上为特定的特定受众提供简单且持续的使用。
    【解决方案2】:

    我认为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 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 2014-12-06
      • 2019-12-22
      相关资源
      最近更新 更多