Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
應用程式經常會用到service來跑背景服務,然後應用程式被kill掉之後service卻還在。
或者你想要kill掉service,但是執行了kill指令之後它有預設啟動了。
這是預設的系統行為,下面是解決方法:
如果Service原本就有onStartCommand,那麼直接修改傳回值,如果沒有,那麼添加如下code即可:
public int onStartCommand(Intent intent, int flags, int startId) {
return START_NOT_STICKY;
}
參考:
如何提高Service的優先級避免被殺死或者殺死後如何再次重新開機Service?
Why does my Android service get restarted when the process is killed, even though I used START_NOT_STICKY?
Service總結
Service API changes starting with Android 2.0
Android的服務(Service)(二)Service的自動重新開機問題