java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController$1@
2017-03-17 15:27
459 查看
最近抓LOG发现有这个错;
java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController$1@7b2c560 at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:781) atandroid.app.ContextImpl.unregisterReceiver(ContextImpl.java:1727) at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:522) at android.widget.ZoomButtonsController.setVisible(ZoomButtonsController.java:408) at android.widget.ZoomButtonsController$2.handleMessage(ZoomButtonsController.java:178) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:159) at android.app.ActivityThread.main(ActivityThread.java:5541) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:975) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)
问题的来源是WebView中包含一个ZoomButtonsController,当使用web.getSettings().setBuiltInZoomControls(true);启用后,用户一旦触摸屏幕,就会出现缩放控制图标。如果图标自动消失前退出当前Activity的话,就会报上面的这些异常。
查到的解决方案:
禁用在Activity的onDestroy里面加上这么一句:web.setVisibility(View.GONE);把WebView设置为GONE就可以了。
延迟destroy webview
我的代码:
@Override protected void onDestroy() { /* if(webview!=null) { webview.setVisibility(View.GONE); webview.removeAllViews(); webview.destroy(); releaseAllWebViewCallback(); }*/ if(webview != null) { webview.getSettings().setBuiltInZoomControls(true); webview.setVisibility(View.GONE); long timeout = ViewConfiguration.getZoomControlsTimeout();//timeout ==3000 Log.i("time==",timeout+""); new Timer().schedule(new TimerTask() { @Override public void run() { // TODO Auto-generated method stub webview.destroy(); } }, timeout); } super.onDestroy(); }
相关文章推荐
- java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController
- Caused by: java.lang.IllegalArgumentException: Receiver not registered: android.widget.ViewFlipper
- Android广播接收器注册问题:Caused by: java.lang.IllegalArgumentException: Receiver not registered
- java.lang.IllegalArgumentException: Receiver not registered: null
- java.lang.IllegalArgumentException: Receiver not registered
- 错误提示:java.lang.IllegalArgumentException: Receiver not registered。
- java.lang.IllegalArgumentException: Receiver not registered
- android java.lang.IllegalArgumentException: The observer is null.异常解决【转】
- Android学习----异常(3)---java.lang.IllegalArgumentException: column '_id' does not exist
- 【遇见Android bug】java.lang.IllegalArgumentException: contentView required: pkg=com.sinvideo.joyshow id
- android java.lang.IllegalArgumentException: The observer is null 异常解决
- android 如何分析java.lang.IllegalArgumentException: Cannot draw recycled bitmaps异常
- Android Caused by: java.lang.IllegalArgumentException: column '_id' does not exist
- 使用Android提供的模拟任意地理位置,报java.lang.IllegalArgumentException: Incomplete location object异常的解决方法
- Android 错误信息java.lang.IllegalArgumentException: Illegal character in query at index xxx:
- android之“java.lang.IllegalArgumentException: Window type can not be changed after the window is add”
- android ICS 4.0.3 报 java.lang.IllegalArgumentException: pointerIndex out of range 解决方案
- Android异常总结---1.异常原因: java.lang.IllegalArgumentException: URI: content://com.android.contacts/con
- Android酱油笔记之关于java.lang.IllegalArgumentException: contains a path separator的问题
- Android异常总结---E/AndroidRuntime(23439): Caused by: java.lang.IllegalArgumentException: column '_id' d