android – 如何禁止与webview中的html5视频交互或正确地捕获他们的例外?

前端之家收集整理的这篇文章主要介绍了android – 如何禁止与webview中的html5视频交互或正确地捕获他们的例外?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有webview的应用程序,我使用 ACRA.我收到与HTML5Video互动造成的错误用户的崩溃报告.
错误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");

解决方法

不幸的是,我不会提供一个直接的答案,但是,我确实发现一个有趣的帖子激发了很多的谈话.
WebView and HTML5 Video

这是一个老问题,但您会注意到,随着时间的推移,发布了一些新的和较新的答案,允许HTML5视频正常工作.希望阅读其中的一些答案将让您在正确的轨道上,并最终让您为您工作.

我还发现一个开源项目,为您解决问题…但是它是老的,并不适用于4.0及以上.
HTML5 WebView

猜你在找的Android相关文章