我正在 onDestroy ( ) 方法中取消注册广播接收器。即使我正在检查空值。
我的代码就像
If (broadcastReceiver!=null)
{
activity.unregisterReceiver (broadcastReceiver);
}
问题是什么?
最佳答案
您可以维护 bool 检查来注册和取消广播接收器的注册。
我在这里给出一些示例代码。它可能对你有帮助。
最初
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;
}
}
关于javascript - 尝试取消注册广播接收器时出现非法参数异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28500850/