У меня есть приложение с 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 Video в моем веб-браузере или просто правильно перехватить исключения (кажется, это не очень хороший подход). Какой лучший способ сделать это?
Вот мои настройки веб-просмотра, если они требуются:
webView.getSettings().setJavaScriptEnabled(false);
webView.getSettings().setUserAgentString("Some user agent");