私の活動では、Broadcast Receiver
の登録を解除しようとしています。私は単にこの行を登録解除するだけです。アンドロイドでのブロードキャストの登録をチェックする方法は?
unregisterReceiver(myBroadcastReceiver);
しかし、問題は、私は私のonActvityResult
2に結果を取得する場合、私のBroadcast
は2つの条件
1)一つ上の登録解除であるということである)onDestroy
しかし、問題は、いつということです私のはonActvityResult
から登録解除し、ユーザーがActivity
を閉じると私のonDestroy
が呼び出され、アプリケーションがクラッシュします。
マイLogcat:java.lang.IllegalArgumentExceptionが::
に起因するレシーバない 登録: com[email protected]831c755 android.app.LoadedApkで.forgetReceiverDispatcher(LoadedApk.java:782)android.content.ContextImpl.unregisterReceiver com.coincide.ridetog.post_ride.PostRideActvity.onDestroy(PostRideActvity.java:300)ここで
は私onDestroy()
@Override
protected void onDestroy() {
super.onDestroy();
if (myBroadcastReceiver!=null) {
unregisterReceiver(myBroadcastReceiver);
}
}
myBroadcastReceiverがnullではないかどうかはすでに確認しています。あなたがそれを使用する明白な(プログラマーのための)方法からあなたを止めているのは何ですか? – Selvin
また、それはBroadcastReceiverの何かのミスのように思えます...あなたのアプリが "活動をしないでください"の場合に試しました – Selvin