![](/img/trans.png)
[英]When I clear all recent apps, android system kills my app service on Android v7.1.2
[英]how to keep my background service active when android system kills my app?
我有一个后台服务,该服务在后台运行以跟踪屏幕打开和关闭事件。 其开始如下:
Intent intentService = new Intent(context, UnlockdService.class);
context.startService(intentService);
它在onStartCommand方法中返回Service.START_REDELIVER_INTENT
。 但是,当android系统杀死应用程序时,该线程也会死亡。
我该如何预防?
我认为使用BroadcastReceiver而不是Service是更好的解决方案。 然后,在onReceive中,您可以启动服务以完成其工作,然后该服务可以自行终止-如果您的工作是一次性的,则可以使用IntentService。
如果仍然需要服务,则可以通过在通知栏中显示永久通知来减少被杀死的可能性,但是从用户的角度来看这可能很糟糕。 我强烈建议您使用广播接收器路线。
解决方案非常简单:从onStartCommand()
返回START_STICKY
onStartCommand()
完成工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.