javascript - 尝试取消注册广播接收器时出现非法参数异常

标签 javascript android android-fragments

我正在 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/

相关文章:

javascript - 从字符串调用 javascript 函数

android - 在 Android 中对 xml 布局文件进行逻辑分组

Android:java.lang.OutOfMemoryError:无法分配 23970828 字节分配,2097152 空闲字节和 2MB 直到 OOM

android - Kotlin 在 fragment 中显示类型不匹配

php - 如何将外部数据库(xampp)中的 listView 填充到 fragment 中?

android - 将 Touch 事件从 DialogFragment View 分派(dispatch)到父 Activity View

c# - 如何从javascript获取返回值到.cs页面

javascript - 传递给 js 的字典不起作用

javascript - 如何创建停留 5 秒的加载弹出窗口

java - 无法使用 LeakCanary 监视 fragment (ClassCastException 错误)