【发布时间】:2018-02-10 20:05:33
【问题描述】:
我按照这个答案注册了一个接收器,它工作得很好。Here 现在我想知道如何在 ondestroy 中注销它?
【问题讨论】:
-
你能告诉我你是如何注册它的代码吗?
我按照这个答案注册了一个接收器,它工作得很好。Here 现在我想知道如何在 ondestroy 中注销它?
【问题讨论】:
取消注册广播接收器很简单,你调用unregisterReceiver方法并将广播接收器传递给它。
根据您分享的答案
1) 将onCreate方法中广播接收器的注册改为
registerReceiver(gpsReceiver, new IntentFilter(LocationManager.PROVIDERS_CHANGED_ACTION));
2) 声明一个全局变量
final BroadcastReceiver gpsReceiver = new GpsReceiver(new LocationCallBack() {
@Override
public void onLocationTriggered() {
//Location state changed
}
});
3) 在onDestroy中,注销广播接收器
unregisterReceiver(gpsReceiver);
【讨论】: