Android 未捕获IllegalArgumentException
一个非常奇怪的错误…我在onResume()和onPause()方法中注册和注销了一个接收器。下面是onStop()方法中的代码: 我得到以下错误:Android 未捕获IllegalArgumentException,android,Android,一个非常奇怪的错误…我在onResume()和onPause()方法中注册和注销了一个接收器。下面是onStop()方法中的代码: 我得到以下错误: Caused by: java.lang.IllegalArgumentException: Receiver not registered: myownlife.pigeau.activityVideo.ActivityVideo$SdCardReceiver@405443f8 我发现了错误…但我的应用程序还是崩溃了…知道吗 以下是完整日志:
Caused by: java.lang.IllegalArgumentException: Receiver not registered: myownlife.pigeau.activityVideo.ActivityVideo$SdCardReceiver@405443f8
我发现了错误…但我的应用程序还是崩溃了…知道吗
以下是完整日志:
java.lang.RuntimeException: Unable to stop activity {myownlife.pigeau/myownlife.pigeau.activityVideo.ActivityVideo}: java.lang.IllegalArgumentException: Receiver not registered: myownlife.pigeau.activityVideo.ActivityVideo$SdCardReceiver@405443f8
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:2434)
at android.app.ActivityThread.handleWindowVisibility(ActivityThread.java:2506)
at android.app.ActivityThread.access$1900(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Receiver not registered: myownlife.pigeau.activityVideo.ActivityVideo$SdCardReceiver@405443f8
at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:610)
at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:851)
at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:342)
at myownlife.pigeau.activityVideo.ActivityVideo.onStop(ActivityVideo.java:224)
at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1170)
at android.app.Activity.performStop(Activity.java:3884)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:2431)
... 11 more
我假设您得到的exeption不是从代码中抛出的,甚至不是从活动类代码中抛出的,而是在某个系统级库中创建的,因此无法正确处理它 您可以在这里找到解决方法:
如果您正在使用本地广播,请尝试以下操作
onPause(){
LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver);
}
你能同时添加logcat输出吗?为什么不使用你最喜欢的调试器来找出发生了什么?似乎你正在尝试做一些自定义的事情:[1]:让我们看看完整的堆栈跟踪这个解决方案会很好:)我希望我能给Avinash一百万票!!!这个问题让我疯狂了好几个小时,这个简单的技巧完全解决了这个问题!!!
onPause(){
LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver);
}