Tôi đang cố gắng sử dụng LocalBroadcastManager với các ý định tùy chỉnh của mình. Dường như nó rất kén chọn về ý nghĩa và Nếu tôi gửi ý định theo cách này:NullPointerException khi sử dụng LocalBroadcastManager
Trong Myintents.java Tôi tuyên bố
public static final String LOCATION_UPDATE = "com.example.myapp.location_update";
Sau đó trong người gửi broadcast tôi làm:
Intent intent = new Intent(MyIntents.LOCATION_UPDATE);
localBroadcastManager.sendBroadcast(intent);
Sau đó, tôi nhận được ngoại lệ này:
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)
Tuy nhiên, nếu tôi sử dụng giải thích icit string
Intent intent = new Intent("my-intent");
Mọi thứ đều hoạt động tốt.
Có vấn đề gì? Tại sao tôi không thể xác định tên ý định trong một lớp khác?
Chuỗi cuối cùng tĩnh công khai "LOCATION_UPDATE = (Trích dẫn trước LOCATION_UPDATE), nó có lỗi đánh máy? – Sudhee
nội dung của" LocalBroadcastManager.java:297 " – k3b
Không phải là lỗi đó. LocalBroadcastManager là một phần của khung công tác Android. – ApriOri