WebView引发Receiver未注册:android.widget.ZoomButtonsController

我发现在我的应用程序(野外)中偶尔会出现这种exception。 WebView是用来显示一个JPG(使用Android版本/设备的缩放/滚动function,而不是重新发明轮子,做所有reflection的东西)。

我不知道为什么这个例外最终会出现。 基本上我只能想到一个Android错误。

我做什么(在GUI线程中的一切):

  • 首先显示一个缩略图作为预览
  • set getSettings()。setBuiltInZoomControls(false)
  • 当正常的图片加载时,反而显示那一个
  • set getSettings()。setBuiltInZoomControls(true)

为什么设置ZoomControls打开/closures:拇指不应该是可缩放的,因为一旦常规图片可用并且显示,WebView在loadData上重置该缩放。 会有一些不好的用户体验。

示例设备发生这种情况:HTC Desire @ htc_wwe / htc_bravo / bravo / bravo:2.2 / FRF91 / 226611:用户/释放键

我有完全相同的设备/软件,它从来没有发生过我…

有任何想法吗?

问候,奥利弗

Solutions Collecting From Web of "WebView引发Receiver未注册:android.widget.ZoomButtonsController"

我不喜欢自己回答,但是LittleFluffyKitty没有(只在评论中)。

解决scheme在于如何根据需要安全地打开和closuresWebView缩放function

a)创build您自己的WebView类

public class MyWebView extends WebView { 

b)添加它的onDestroy()方法:

 getSettings().setBuiltInZoomControls(true); 

而已。 由此,没有更多的例外显示出来。