簡體   English   中英

Android-如何檢查“ stopService”意圖的發送者類?

[英]Android - How can I check the sender class of the “stopService” Intent?

我從各地停止服務。 如何檢查命令“ stopService(Intent intent)”的發送者是我的NetworkReceivar類(擴展BroadcastReceiver)?

這是我的代碼,可以更清楚地做到這一點:

public class NetworkReceiver extends BroadcastReceiver{

public void onReceive(Context context, Intent intent) {
    boolean isNetworkDown = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
    if (isNetworkDown) {
        context.stopService(new Intent(context, MyService.class));
    }

我的服務等級:

public void onDestroy() {
    Log.i(TAG, "OnDestroy");
    // if came from NetworkReceiver do something.
    this.updater.interrupt();
    this.updater = null;
    super.onDestroy();
}

如何檢查命令“ stopService(Intent intent)”的發送者是我的NetworkReceivar類(擴展BroadcastReceiver)?

AFAIK,您不能。

但是,您可以調用startService()而不是stopService() ,以發送一條您的服務將其解釋為“關閉時間”的命令。 Intent上的命令(您的命令)可以用來指示發件人,以便您可以區分一個發件人和另一個發件人。 並且,該服務可以調用stopSelf()關閉自身。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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