我正在尝试使用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");
一切都运行良好。
出了什么问题?为什么我不能在另一个类中定义意图名称?