[英]How to prevent service from restarting after activity is swept from task switcher?
我有關於Android中的服務的問題,以及如果活動在任務管理器中被清除(如果您按住主頁按鈕),如何防止立即重啟服務。
我想要一個服務是持久的並擁有它自己的進程和內存映像,所以當我的活動關閉時,在這種情況下從任務切換器中掃除,服務將不會重新啟動...
有人能給我看一些解釋如何解決這個問題的教程和網站嗎?
將您的服務放在單獨的流程中,如下所示:
轉到Android清單中的服務聲明並將其更改為:
<service android:name=".ServiceName" android:process=":remote" />
注意:
由於您的服務在單獨的進程中運行,因此您必須在LogCat中切換進程(如果使用Android Studio)以查看調試日志。
服務被設計為在銷毀時在后台重啟(這是一個廣泛的聲明,有很多因素),所以要確保不會發生這種情況:
創建使用調用活動創建和銷毀的綁定服務 :
此示例取自文檔
public class LocalService extends Service {
private final IBinder mBinder = new LocalBinder();
public class LocalBinder extends Binder {
LocalService getService() {
return LocalService.this;
}
}
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
}
或者在前台運行服務,這樣當它從前台移除時就會被銷毀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.