我在onDestroy()方法中取消注册广播接收器。即使我正在检查空值。
我的代码就像
If (broadcastReceiver!=null)
{
activity.unregisterReceiver (broadcastReceiver);
}
问题是什么?。
答案 0 :(得分:5)
您可以维护布尔检查以注册和取消加扰广播接收器。
我在这里给出一些示例代码。它可能对你有帮助。
最初
ReceiverRegistered = false;
public void registerReceiverFunction()
{
ReceiverRegistered = true;
BR = new BroadcastReceiver()
{
@Override
public void onReceive(Context arg0, Intent intent)
{
activity.unregisterReceiver(BR);
ReceiverRegistered = false;
}
IntentFilter mFilter = new IntentFilter("updateData");
activity.registerReceiver(BR, mFilter);
}
当您需要该接收器时,您可以将此功能称为接收器。 如果您尝试取消注册接收器,请执行
if (ReceiverRegistered)
{
if(BR!=null)
{
activity.unregisterReceiver(BR);
ReceiverRegistered = false;
}
}