WebView的setBuiltInZoomControls未知bug

在友盟log上面发现有这一个崩溃日志,平时开发时都没有发现有这样的崩溃:
java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController$1@f45a001
at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:809)
at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1294)
at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:576)
at android.widget.ZoomButtonsController.setVisible(ZoomButtonsController.java:404)
at android.widget.ZoomButtonsController$2.handleMessage(ZoomButtonsController.java:178)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5939)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:817)

通过查找网上资料知道这个崩溃应该是启用webView.getSettings().setBuiltInZoomControls(true)后没有做适当处理导致的。项目中的办法是直接把它禁用掉,因为在这些页面缩放控制并不是必须的。

如果必须在webView进行缩放控制,可以用如下的处理办法:

  1. 在Activity的onDestroy里面加上这么一句:web.setVisibility(View.GONE);把WebView设置为GONE就可以了。
  2. 延迟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(); 
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,192评论 25 708
  • 准备工作: 三台机器: 192.168.222.129 192.168.222.130 192.168...
    文宗1995阅读 1,959评论 0 49
  • 找工作的人一大堆,说工作实在难找; 招聘的公司一大堆,说人实在难招。 为什么呢?因为人太多,人材太少。 公司列一个...
    遇见番茄大人阅读 2,554评论 3 8
  • 9月,到达北京已经八号了,去了朋友居住的小屋,给自己找了一处落脚之所,还好,不至于流落街头。 就这样开...
    花开在未来阅读 274评论 0 0
  • 文/易觉 北方的天可能就是有些忧伤,秋渐渐深时,天总是笼罩一种阴沉沉的感觉,像是有一层灰色的面纱。 上天台时,却和...
    易觉阅读 607评论 0 3

友情链接更多精彩内容