android – NullPointerException当使用LocalBroadcastManager时

前端之家收集整理的这篇文章主要介绍了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相关文章