重新启动 android 中被杀死(被任务杀手停止)的服务,例如 Whatsapp

Restarting killed (stopped by task-killers) services in android like Whatsapp

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

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

我对 Whatsapp 的观察:

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

对 TrueDialer 进行了类似的观察。

我尝试用 START_STICKY、AlarmManager、BroadcastReceiver 复制它,但没有成功。有人可以帮我吗?我只想了解 Whatsapp 如何实现这一目标。如果您需要更多信息,请随时询问。

我已经解决了问题。

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

MIUI 4.0 settings

MIUI AutoStart Detailed Description