关闭应用程序时如何保持服务运行?

时间:2017-06-03 14:30:13

标签: android service

我的应用程序需要服务在后台运行,即使应用程序关闭,我刚刚实施START_STICKY以防止操作系统关闭它,但是当我手动关闭应用程序时,服务停止运行并且我不知道如何保持活着而不使用startforeground

这是一个类似于Whatsapp和Telegram的现存消息传递应用程序,所以我的目标是实现一种推送通知系统。

所以主要问题是:当用户手动关闭应用程序时,如何保持服务的活动

1 个答案:

答案 0 :(得分:1)

在StackOverflow或其他地方发现没有任何真正令人满意的答案后,我决定研究(当前,2017年)最终解决方案。

这是:

https://github.com/JamesSmartCell/PersistentWidgetTask.git

这是一个演示,展示了如何实现一个不会关闭的持久后台任务,这也显示了一个非常简单的小部件按钮实现,这是另一个非常常见的设计。得到很多好的答案。

我看了很多互联网上的小演示,关键在于Vogella网站上的优秀演示:

http://www.vogella.com/tutorials/AndroidTaskScheduling/article.html

细分是:

  1. 您需要使用JobScheduler而不是AlarmManager
  2. 您需要创建一个JobService来接收预定作业,然后从JobService onStartJob调用您的后台服务
  3. 在AndroidManifest文件中,您需要指定:

    机器人:权限=" android.permission.BIND_JOB_SERVICE"

  4. 我希望能节省那些仍在寻找答案的人!