【发布时间】:2013-09-24 16:04:14
【问题描述】:
我从各个地方停止服务。如何检查命令“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();
}
【问题讨论】:
-
现在,我控制它的方式是使用 SharedPreferences 并在广播中添加一个布尔首选项,指示我的意图是否由 NetworkReceiver 启动。
标签: android class android-intent service ondestroy