在全屏 webview 诺基亚 x 中输入视频时出现 NullPointerException
Posted
技术标签:
【中文标题】在全屏 webview 诺基亚 x 中输入视频时出现 NullPointerException【英文标题】:NullPointerException when entering video in full screen webview nokia x 【发布时间】:2014-05-16 07:02:25 【问题描述】:您好,我在过去两天一直在寻找解决此问题的方法,但仍然没有得到任何解决方案。在webview
我正在播放YouTube 视频,当我点击它时,视频工作正常,但如果我点击Full Screen
图标,应用程序崩溃并出现以下错误。我尝试在WebCromeClient
中覆盖onShowCustomeView
,但它不起作用。
我尝试了WebView and html5 <video>线程的所有解决方案。这些解决方案适用于android手机我在LG g2和xperia p和nexus 7上测试过,但在诺基亚x上它仍然崩溃。有什么办法可以阻止视频全屏播放或完全播放。
04-03 10:12:50.769 E/AndroidRuntime( 3867): java.lang.NullPointerException
04-03 10:12:50.769 E/AndroidRuntime( 3867): at android.view.ViewGroup.addViewInner(ViewGroup.java:3384)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at android.view.ViewGroup.addView(ViewGroup.java:3256)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at android.view.ViewGroup.addView(ViewGroup.java:3232)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at android.webkit.HTML5VideoFullscreen.enterFullscreen(HTML5VideoFullscreen.java:253)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at android.webkit.HTML5VideoView.enterFullscreenVideoState(HTML5VideoView.java:535)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at android.webkit.HTML5VideoViewProxy$VideoPlayer.enterFullscreenVideo(HTML5VideoViewProxy.java:183)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at android.webkit.HTML5VideoViewProxy.handleMessage(HTML5VideoViewProxy.java:476)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at android.os.Handler.dispatchMessage(Handler.java:99)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at android.os.Looper.loop(Looper.java:137)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at android.app.ActivityThread.main(ActivityThread.java:4807)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at java.lang.reflect.Method.invokeNative(Native Method)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at java.lang.reflect.Method.invoke(Method.java:511)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:559)
04-03 10:12:50.769 E/AndroidRuntime( 3867): at dalvik.system.NativeStart.main(Native Method)
04-03 10:12:50.769 I/ActivityManager( 571): Notify an ApplicationCrash
【问题讨论】:
developer.android.com/reference/android/webkit/… 这如何帮助阻止视频进入全屏模式? 覆盖该方法以返回非空视图对象(例如,您的布局中的虚假 0x0 视图)并查看您是否仍然崩溃。如果它,我们可以尝试阻止视频进入全屏再次崩溃 @Sreekanthss 你绝对是天才。只需在诺基亚 x 上工作,非常感谢!我将方法覆盖为@Override public View getVideoLoadingProgressView() FrameLayout frameLayout = new FrameLayout(getSherlockActivity()); frameLayout.setLayoutParams(new LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); return frameLayout;
现在视频全屏播放没有任何问题。
请将此作为答案发布。
【参考方案1】:
看this
覆盖该方法以返回非空视图对象(例如,布局中的虚假 0x0 视图)并查看是否仍然崩溃
@Override
public View getVideoLoadingProgressView()
FrameLayout frameLayout = new FrameLayout(getSherlockActivity());
frameLayout.setLayoutParams(new LayoutParams( LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
return frameLayout;
【讨论】:
以上是关于在全屏 webview 诺基亚 x 中输入视频时出现 NullPointerException的主要内容,如果未能解决你的问题,请参考以下文章