WebView中使用setBuiltInZoomControls进行缩放并destroy webview时崩溃
2016-09-28 11:54
477 查看
问题描述
webview使用settings.setBuiltInZoomControls(true);进行控制缩放。由于某些原因需要在该activity的onDestroy方法里面调用webView.destroy()。当进入该webview并且进行缩放操作时,退出该activity程序崩溃。settings代码如下:
settings = previewWebview.getSettings(); settings.setUseWideViewPort(true); settings.setLoadWithOverviewMode(true); settings.setBuiltInZoomControls(true); settings.setDefaultTextEncodingName("gbk");
在activity的onDestroy方法中进行的操作:
@Override protected void onDestroy() { super.onDestroy(); previewWebview.destroy(); }
错误log:
Uncaught Exception in main[1] java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController$1@683fa71 at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:878) at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1279) at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:601) at android.widget.ZoomButtonsController.setVisible(ZoomButtonsController.java:404) at android.widget.ZoomButtonsController$2.handleMessage(ZoomButtonsController.java:178) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7237) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) (LogExceptionHandler.java:29)
原因分析
未知。解决方案
添加如下代码:/** * 防止webview缩放时退出崩溃。 */ @Override public void finish() { ViewGroup view = (ViewGroup) getWindow().getDecorView(); view.removeAllViews(); super.finish(); }
相关文章推荐
- android WebView设置缩放setBuiltInZoomControls(true)同时隐藏缩放按钮
- android webview setBuiltInZoomControls 与 onTouch 冲突解决
- MapView的OnTouchListener与setBuiltInZoomControls冲突导致无法触发OnTouch的解决办法
- google Map OnTouchListener事件和setBuiltInZoomControls 冲突
- Android KitKat 4.4 使用Chrome DevTools 进行WebView远程调试 | remote debug web APP in chrome
- Android 3.X中WebView使用ZOOM崩溃的问题
- 在android4.x中使用自定义的webview中出现ZOOM崩溃的问题
- Android 3.X中WebView使用ZOOM崩溃的问题
- Android 3.X中WebView使用ZOOM崩溃的问题
- Python中使用pickle对内建类型(built in types)进行对象序列化(object serialization and deseirialzation)
- 控件(View)之ZoomControls, Include, VideoView, WebView, RatingBar, Tab, Spinner, Chronometer, ScrollView【转】
- 系出名门Android(7) - 控件(View)之ZoomControls, Include, VideoView, WebView, RatingBar, Tab, Spinner, Chronometer, ScrollView
- Android中Webview使用自定义的javascript进行回调
- 使用手势对UIImageView进行缩放、旋转和移动(转)
- WebGame UI 制作之使用 对位图进行九切片(九宫格)缩放
- [Android] 使用Webview进行OAUTH
- android WebView缩放设置setInitialScale(...)后,修改设置的值,问题解决
- android 使用webview.copyBackForwardList()来进行判断是否是在当前页打开的链接
- 在web.xml中配置openSessionInView的使用
- WebView添加Title使用隐藏函数setEmbeddedTitleBar的方法