我正在尝试将 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");
一切正常。
怎么了?为什么我不能在另一个类中定义意图名称?