android – NullPointerException当使用LocalBroadcastManager时

我试图使用LocalbroadcastManager与我的自定义意图.
看来这是非常挑剔的意图,如果我这样发送意图:

在Myintents.java中我声明

public static final String LOCATION_UPDATE = "com.example.myapp.location_update";

后来在广播发送者我做:

Intent intent = new Intent(MyIntents.LOCATION_UPDATE);
localbroadcastManager.sendbroadcast(intent);

然后我得到这个例外:

05-05 02:23:29.914: E/AndroidRuntime(6952): FATAL EXCEPTION: main 
05-05 02:23:29.914: E/AndroidRuntime(6952): java.lang.NullPointerException 
05-05 02:23:29.914: E/AndroidRuntime(6952): at android.support.v4.content.LocalbroadcastManager.executePendingbroadcasts(LocalbroadcastManager.java:297) 
05-05 02:23:29.914: E/AndroidRuntime(6952): at android.support.v4.content.LocalbroadcastManager.access$000(LocalbroadcastManager.java:46)  
05-05 02:23:29.914: E/AndroidRuntime(6952): at android.support.v4.content.LocalbroadcastManager$1.handleMessage(LocalbroadcastManager.java:116) 
05-05 02:23:29.914: E/AndroidRuntime(6952): at android.os.Handler.dispatchMessage(Handler.java:99)

但是如果我使用一个显式字符串

Intent intent = new Intent("my-intent");

一切都很好.

怎么了?为什么我不能在另一个类中定义意图名称

解决方法

我刚刚遇到这个. NPE是针对您正在触发的事件(MyIntents.LOCATION_UPDATE)的注册侦听器(读取:receiver)未被托管它的组件实例化的结果.

检查你想对这个广播做出反应的事情实际上已经在正确的时候被实例化了(可能是主机活动/片段).

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...