【问题标题】:Twitter video not rendering in webviewTwitter视频未在webview中呈现
【发布时间】:2016-03-21 13:34:59
【问题描述】:

我在描述中得到tweet blockquote。我创建了一个html 文档并附加了blockquotetwitter script 并将html 加载到webview。所有推文和视频都能正确呈现。唯一的问题是,当我点击视频时,它显示黑屏。 kitkatdevcies 中的所有 Twitter 视频都会发生这种情况。在棒棒糖及更高版本中工作正常。我知道 API 级别 16 和 17 中存在错误,并且视频无法在 web 视图中播放。但是从 API 级别 18 开始,必须播放 webview 中的视频,并且所有其他视频都在这些设备的 webview 中播放。只有推特视频不起作用。以下是我的html内容:

<!DOCTYPE html> <head> 

<script async src ="http://platform.twitter.com/widgets.js" 
charset="utf-8"></script></head> <body><blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Goodbye <a href="https://twitter.com/hashtag/Sarbjit?src=hash">#Sarbjit</a>.Gratitude to <a href="https://twitter.com/OmungKumar">@OmungKumar</a> <a href="https://twitter.com/Vanita_ok">@Vanita_ok</a> <a href="https://twitter.com/SandeepSinghOne">@SandeepSinghOne</a> <a href="https://twitter.com/RichaChadda_">@RichaChadda_</a> <a href="https://twitter.com/kirandeohans">@kirandeohans</a> <a href="https://twitter.com/hashtag/AishwaryaRai?src=hash">#AishwaryaRai</a> CREW <a href="https://t.co/1tC4CiCwBN" target="_blank">pic.twitter.com/1tC4CiCwBN</a></p>&mdash; Randeep Hooda (@RandeepHooda) <a href="https://twitter.com/RandeepHooda/status/709620030510600192">March 15, 2016</a></blockquote></body> </html>

这是我的 webview 代码:

public static void setupWebview(WebView webView) {
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setDomStorageEnabled(true);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
    }
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

    webView.getSettings().setPluginState(WebSettings.PluginState.ON);
    webView.setBackgroundColor(Color.parseColor("#ffffff"));
    android.webkit.CookieManager.getInstance().setAcceptCookie(true);
}

这可能是什么问题。我google了很多,但找不到任何解决方案。是否还有其他人也面临类似问题?

提前致谢

【问题讨论】:

标签: android html video twitter webview


【解决方案1】:

我面临同样的问题。对我来说,它正在 JellyBean(4.1.2) 和 Lollipop 及更高版本上运行,但无法在 KitKat(API 19) 上加载。我正在通过覆盖 WebChromeClient 的 onConsoleMessage 方法检查来自 webview 的日志,并注意到在尝试加载视频资源后出现以下错误:

Uncaught InvalidStateError: 试图使用一个对象 不可用或不再可用。

检查您的日志并尝试在尝试渲染视频时调试失败的步骤。

【讨论】:

  • 即使我得到相同的日志。你解决了这个问题吗?
  • 不,我无法修复它。处理相对于基本 URL 的资源加载似乎有些问题。来自 CommosWare 的 cmets 关于这个问题:stackoverflow.com/q/23932708/6065015
猜你喜欢
  • 2017-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 2011-11-07
  • 2013-07-16
相关资源
最近更新 更多