如何正确注销广播接收器
How to unregister a broadcast receiver properly
我按照这个答案注册了一个接收器,它工作得很好。
现在我想知道如何在 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);
我按照这个答案注册了一个接收器,它工作得很好。
注销广播接收器很简单,调用 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);