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