【发布时间】:2011-07-13 03:56:07
【问题描述】:
正如这个未回答的问题所述:WebView throws Receiver not registered: android.widget.ZoomButtonsController
根据需要打开和关闭 WebView 缩放控件会引发以下情况:
java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController
对于某些用户。我自己还没有看到这种崩溃,但我在来自野外设备的日志中看到了它。它不会经常发生,但无论如何它都是崩溃。有什么想法吗?
谢谢
更新:如何重现
我找到了重现此崩溃的方法:http://code.google.com/p/android/issues/detail?id=15694
如果我发现解决方法,我会报告。
根据要求,完整的堆栈跟踪:
java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController$1@487a4290
at android.app.ActivityThread$PackageInfo.forgetReceiverDispatcher(ActivityThread.java:793)
at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:913)
at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:331)
at android.widget.ZoomButtonsController.setVisible(ZoomButtonsController.java:404)
at android.widget.ZoomButtonsController$2.handleMessage(ZoomButtonsController.java:178)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
还有一个类似的:
java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:391)
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:236)
at android.view.Window$LocalWindowManager.removeView(Window.java:432)
at android.widget.ZoomButtonsController.setVisible(ZoomButtonsController.java:406)
at android.widget.ZoomButtonsController$2.handleMessage(ZoomButtonsController.java:178)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:5068)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
我可以拥有完整的崩溃堆栈@littleFluffyKitty 吗?
-
@Reno 哦,嘿!你肯定能骗到它!
-
@the100rabh,现在我只是在需要时通过将 getSettings().setBuiltInZoomControls() 设置为 true 或 false 来打开和关闭它。然而,在野外,它似乎会产生上述崩溃(不是非常频繁,但经常足以想要找到不同的方法)