Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android LocalBroadcastManager中的NullPointerException_Android_Broadcastreceiver_Localbroadcastmanager - Fatal编程技术网

Android LocalBroadcastManager中的NullPointerException

Android LocalBroadcastManager中的NullPointerException,android,broadcastreceiver,localbroadcastmanager,Android,Broadcastreceiver,Localbroadcastmanager,我试图在短信到达后更新我的列表。我得到了正确的接收器,但当我试图将接收器发送到我的班级时,我在一些电话中得到了以下错误 05-20 09:50:57.749: E/AndroidRuntime(8873): java.lang.NullPointerException 05-20 09:50:57.749: E/AndroidRuntime(8873): at android.support.v4.content.LocalBroadcastManager.executePendingB

我试图在短信到达后更新我的列表。我得到了正确的接收器,但当我试图将接收器发送到我的班级时,我在一些电话中得到了以下错误

05-20 09:50:57.749: E/AndroidRuntime(8873): java.lang.NullPointerException
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:297)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.support.v4.content.LocalBroadcastManager.access$000(LocalBroadcastManager.java:46)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:116)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.os.Looper.loop(Looper.java:153)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.app.ActivityThread.main(ActivityThread.java:5299)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at java.lang.reflect.Method.invokeNative(Native Method)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at java.lang.reflect.Method.invoke(Method.java:511)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at dalvik.system.NativeStart.main(Native Method)
我的代码在某些手机中正常工作

05-20 09:50:57.749: E/AndroidRuntime(8873): java.lang.NullPointerException
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:297)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.support.v4.content.LocalBroadcastManager.access$000(LocalBroadcastManager.java:46)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:116)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.os.Looper.loop(Looper.java:153)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at android.app.ActivityThread.main(ActivityThread.java:5299)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at java.lang.reflect.Method.invokeNative(Native Method)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at java.lang.reflect.Method.invoke(Method.java:511)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
05-20 09:50:57.749: E/AndroidRuntime(8873):     at dalvik.system.NativeStart.main(Native Method)
我已使用以下代码发送广播:

Intent intent = new Intent(filtering);
intent.putExtra(RESULT, result);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
receiver = new BroadcastReceiver() {

            @Override
            public void onReceive(Context context, Intent intent) {

                Bundle bundle = intent.getExtras();

                if (bundle != null) {
                    int resultCode = bundle
                            .getInt(NormalIncommingTextService.RESULT);

                    if (resultCode == Activity.RESULT_OK) {
                        RefreshList(getActivity());

                    }
                }

            }
        };
我用下面的代码得到接收器:

Intent intent = new Intent(filtering);
intent.putExtra(RESULT, result);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
receiver = new BroadcastReceiver() {

            @Override
            public void onReceive(Context context, Intent intent) {

                Bundle bundle = intent.getExtras();

                if (bundle != null) {
                    int resultCode = bundle
                            .getInt(NormalIncommingTextService.RESULT);

                    if (resultCode == Activity.RESULT_OK) {
                        RefreshList(getActivity());

                    }
                }

            }
        };
我已使用以下代码在onResume和onPause中注册和注销我的收件人:

LocalBroadcastManager.getInstance(this).registerReceiver(Home.receiver,
                new IntentFilter(NormalIncommingTextService.NOTIFICATION));
// registerReceiver

LocalBroadcastManager.getInstance(this).unregisterReceiver(Home.receiver); // unregisterReceiver
我搜索了很多,但找不到有效的解决方案

提前感谢您抽出时间

如果你想看到我代码的任何部分,请问我

normalincommmingtextservice.NOTIFICATION
与我的代码中的
过滤功能相同

//编辑

这是第297行@
LocalBroadcastManager

br.receivers.get(j).receiver.onReceive(mAppContext, br.intent);
更多信息,但我不知道有什么问题。这个错误发生在
FragmentActivity
类上,当更新一个片段数据时,我在Activity上测试了它,效果很好

PS:在某些手机中,我在更新
FragmentActivity

//回答

我已经解决了这个问题,使用普通的
BroadCastReceiver
而不是
LocalBroadcastManager

br.receivers.get(j).receiver.onReceive(mAppContext, br.intent);