我有webview的应用程序,我使用
ACRA.我收到与HTML5Video互动造成的错误的用户的崩溃报告.
错误1:
错误1:
"java.lang.NullPointerException at android.webkit.HTML5VideoViewProxy$VideoPlayer.exitFullScreenVideo(HTML5VideoViewProxy.java:180) at android.webkit.HTML5VideoViewProxy.exitFullScreenVideo(HTML5VideoViewProxy.java:770) at android.webkit.WebViewClassic$PrivateHandler.handleMessage(WebViewClassic.java:7422) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5039) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method)"
错误2:
"java.lang.NullPointerException at android.webkit.HTML5VideoFullscreen.switchProgressView(HTML5VideoFullscreen.java:455) at android.webkit.HTML5VideoView.enterFullscreenVideoState(HTML5VideoView.java:546) at android.webkit.HTML5VideoViewProxy$VideoPlayer.enterFullscreenVideo(HTML5VideoViewProxy.java:182) at android.webkit.HTML5VideoViewProxy.handleMessage(HTML5VideoViewProxy.java:479) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:155) at android.app.ActivityThread.main(ActivityThread.java:5485) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795) at dalvik.system.NativeStart.main(Native Method)"
如果需要,这是我的DropBox日志
错误1:http://pastebin.com/w8G1UJvG
似乎很有趣:
11-14 22:19:29.912 E/libEGL (14744): call to OpenGL ES API with no current context (logged once per thread) 11-14 22:19:29.917 W/dalvikvm(14744): threadid=1: thread exiting with uncaught exception (group=0x40d4a2d0)
错误2:http://pastebin.com/8BEK1vAm
似乎很有趣:
12-10 00:14:52.542 W/YourLogTag(24823): Couldn't find activity to view mimetype: video/x-m4v
事实上,我甚至不建议在我的网页视图中与HTML5视频进行交互.我猜,用户从页面打开他们,也没有提供互动.此外,我认为尝试禁止用户与其他网页进行交互是一个糟糕的方法(如果我的应用程序可能真的很难).而且,用户对于我的应用程序绝对不会感到温暖的感觉,当他出现崩溃对话框时…
所以我想阻止用户在我的网页视图中与HTML5视频的交互,或者正确地捕获异常(似乎不是很好的方法).最好的方法是什么?
以下是我们的Webview设置,如果需要的话:
webView.getSettings().setJavaScriptEnabled(false); webView.getSettings().setUserAgentString("Some user agent");
解决方法
@H_403_30@ 不幸的是,我不会提供一个直接的答案,但是,我确实发现一个有趣的帖子激发了很多的谈话.WebView and HTML5 Video
这是一个老问题,但您会注意到,随着时间的推移,发布了一些新的和较新的答案,允许HTML5视频正常工作.希望阅读其中的一些答案将让您在正确的轨道上,并最终让您为您工作.
我还发现一个开源项目,为您解决问题…但是它是老的,并不适用于4.0及以上.
HTML5 WebView