android – 导致这个NullpointerException的原因是什么?

android – 导致这个NullpointerException的原因是什么?,第1张

概述我收到了一份包含以下日志内容的崩溃报告: java.lang.NullPointerExceptionat android.webkit.PluginFullScreenHolder.show(PluginFullScreenHolder.java:85)at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:85 我收到了一份包含以下日志内容的崩溃报告:

java.lang.NullPointerExceptionat androID.webkit.PluginFullScreenHolder.show(PluginFullScreenHolder.java:85)at androID.webkit.WebVIEw$PrivateHandler.handleMessage(WebVIEw.java:8553)at androID.os.Handler.dispatchMessage(Handler.java:99)at androID.os.Looper.loop(Looper.java:137)at androID.app.ActivityThread.main(ActivityThread.java:4340)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:784)at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:551)at dalvik.system.NativeStart.main(Native Method)

我尝试在网上搜索PluginFullScreenHolder,但第85行似乎是我发现的类中的注释.

我猜测崩溃与WebVIEw有关 – 可能是因为我正在尝试加载null,但我对此非常不确定,特别是因为我没有看到URL为null的方法.

我认为该报告来自galaxy Nexus(在AndroID 4.0上),如果这有任何区别,但我不确定.如果没有,那就是Honeycomb设备.

有PluginFullScreenHolder经验的人吗?

这是我的代码

web = (WebVIEw) findVIEwByID(R.ID.webVIEw1);web.setBackgroundcolor(androID.R.color.black);web.getSettings().setJavaScriptEnabled(true);web.getSettings().setPluginsEnabled(true);web.getSettings().setUserAgent(1);web.getSettings().setSupportZoom(false);web.loadUrl("http://www.justin.tv/Widgets/live_embed_player.swf?auto_play=true&fullscreen=true&start_volume=100&hostname=www.justin.tv&channel=" + this.getIntent().getExtras().getString("channelname"));

奇怪的是,市场的崩溃报告没有提到任何关于我的代码的事情 – 没有什么事情 – 你正在查看上面的完整日志.毫无疑问,它是PluginFullScreenHolder.java.

编辑2:

找到了正确的课程:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/android/webkit/PluginFullScreenHolder.java#PluginFullScreenHolder.show%28%29

有问题的一行是:

clIEnt.onShowCustomVIEw(mLayout,mOrIEntation,mCallback);
解决方法 这是PluginFullScreenHolder.java source code for android 4.0.

在第84行,您有mWebVIEw.getWebChromeClIEnt(),它根据您的异常返回null(它在第85行使用,没有空检查).

解决方法是设置一个空的WebChromeClIEnt(当可能影响浏览器UI的事件发生时调用,例如,在此处发送进度更新和JavaScript警报):

web.setWebChromeClIEnt(new WebChromeClIEnt());

但这真的很奇怪,因为它永远不应该是空的.

总结

以上是内存溢出为你收集整理的android – 导致这个NullpointerException的原因是什么?全部内容,希望文章能够帮你解决android – 导致这个NullpointerException的原因是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1129661.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存