我正在onDestroy()方法中注销广播接收器。即使我正在检查null值。
我的代码就像
If (broadcastReceiver!=null)
{
activity.unregisterReceiver (broadcastReceiver);
}
有什么问题?
最佳答案
您可以维护 bool(boolean) 检查,以注册和取消广播接收机的设置。
我在这里提供一些示例代码。它可能会帮助您。
原来
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;
}
}