webview ZoomButtonsController 调用崩溃问题android.widget.ZoomButtonsController
来源:互联网 发布:eplan无法打开数据库 编辑:程序博客网 时间:2024/06/07 22:58
webwiew无意中出现这样的错误:
05-09 09:38:06.899: E/AndroidRuntime(13332): java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController$1@4162fc18
根据异常信息再参考一下WebView的源码就可以知道ZoomButtonsController有一个register和unregister的过程。但是这两个过程是我们控制不了的,WebView有显示控制的API但我们访问不过。我们能访问到的只有这几个和ZoomButtonsController的控制相关:
void setBuiltInZoomControls(boolean enabled)
void setDefaultZoom(WebSettings.ZoomDensity zoom)
void setDisplayZoomControls(boolean enabled)
void setSupportZoom(boolean support)
试过了一遍都不管用。
最后看终极解析方案吧
在Activity的onDestroy里面加上这么一句:web.setVisibility(View.GONE);把WebView设置为GONE就可以了。
有参考一篇文章说是在3.X上才有,但是4.x上也发现有这个错误
后来发现在三星很多手机上面就算加了web.setVisibility(View.GONE)也无济于事,由于ZoomButtonsController他们的自动隐藏是一个渐变的过程,所以在逐渐消失的过程中如果先调用了父容器的destroy方法,就会导致Leaked 所以应该在destroy()方法前把他们消失掉
if (mWebView != null) {//解决Receiver not registered: android.widget.ZoomButtonsController
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.setVisibility(View.GONE);// 把destroy()延后
long timeout = ViewConfiguration.getZoomControlsTimeout();
System.out.println("time=="+timeout);
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
mWebView.destroy();
}
}, timeout);
}
- webview ZoomButtonsController 调用崩溃问题android.widget.ZoomButtonsController
- webVIew中ZoomButtonsController崩溃//解决Receiver not registered: android.widget.ZoomButtonsController
- has leaked window android.widget.ZoomButtonsController$Container(webView导致ZoomButtonsController)
- Webview ZoomButtonsController
- android webview ZoomButtonsController 导致android.view.WindowLeaked 问题彻底解决
- android webview ZoomButtonsController 导致android.view.WindowLeaked 问题彻底解决
- android webview ZoomButtonsController 导致android.view.WindowLeaked 问题彻底解决
- android webview ZoomButtonsController 导致android.view.WindowLeaked 问题彻底解决
- android webview ZoomButtonsController 导致android.view.WindowLeaked 问题
- Android webview ZoomButtonsController 导致android.view.WindowLeaked 问题
- webview在设置放大缩小功能时,android.widget.ZoomButtonsController错误解决办法
- Receiver not registered: android.widget.ZoomButtonsController crash android
- Receiver not registered: android.widget.ZoomButtonsController crash android
- Android 解决IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController
- java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController$1@
- java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController
- android webview ZoomButtonsController 导致android.view.WindowLeaked 问题解决
- View=android.widget.ZoomButtonsController$Container not attached to window manager
- Github for Windows使用图文教程
- 【程序猿的小幽默】
- POJ1830开关问题——gauss消元
- 读书太少而想得太多
- expect: spawn id exp4 not open
- webview ZoomButtonsController 调用崩溃问题android.widget.ZoomButtonsController
- LINQ学习资源
- Google File System中文翻译
- Matlab中统计矩阵中相同元素的个数
- Android学习笔记之AndroidManifest.xml文件解析
- 【甘道夫】info could only be replicated to 0 nodes, instead of 1
- 链表极其应用
- coco2dx-3.0正式版,示例项目手机运行
- 【LeetCode】Remove Element