簡體   English   中英

如何在活動從任務切換器中清除后阻止服務重新啟動?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM