重新启动Whatsapp等android系统中被杀死(被任务杀手停止)的服务



我正在研究一个应用程序锁柜,它有一些后台服务(锁定应用程序)。我正在使用小米红米Note 4g进行开发。MIUI有一个内置的任务管理器,可以用来杀死正在运行的应用程序。当我用这个杀死应用程序时,所有的服务、广播接收器和警报管理器都被删除了(正如任务管理器所期望的那样)。我的要求是防止我的后台服务被任务杀手清除,但如果用户导航到设置并强制关闭,服务应该停止。我该如何做到这一点?

顺便说一句,我知道这不是不可能实现的,因为Whatsapp和Truedialer(一些鸡蛋)已经在最新的android版本上这样做了。

我对Whatsapp的观察:

  • 我从任务管理器中终止应用程序
  • Whatsapp的所有服务都停止了,除了"MessagingService"
  • 正在运行的应用的列表视图显示状态为"重新启动"
  • "AlarmService"服务启动(不确定MessagingService是启动它还是从一个AlarmManager)
  • 经过一段时间后,所有服务都启动并运行

注意:MessagingService上的计时器没有重置,它仍然保持滴答。但是,如果我强制停止服务,它不会再次启动,直到我手动启动应用程序。

对TrueDialer进行了类似的观察。

我已尝试用START_STICKY, AlarmManager, BroadcastReceiver复制此操作,但未成功。有人能帮我一下吗?我只是想了解Whatsapp是如何做到这一点的。

我已经解决了这个问题。

MIUI 7.0解决方案=>安全=>自动启动=>选择要在后台运行的应用程序=>重新启动重启后,你的设备应该能够像其他android设备一样在后台运行你的应用程序服务。

MIUI 4.0设置

MIUI AutoStart详细说明

最新更新