![](/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.