Twitter视频无法在webview中呈现

时间:2016-03-21 13:35:00

标签: android html video twitter webview

我在说明中得到tweet blockquote。我创建了一个html文档并添加了blockquotetwitter script并将html加载到webview。所有推文和视频都能正确呈现。唯一的问题是,当我点击视频时,它显示黑屏。这种情况发生在kitkat个陌生的所有推特视频中。在棒棒糖及以上工作正常。我知道API级别16和17中存在一个错误,并且视频不会在webview中播放。但是从API级别18开始,webview中的视频必须播放,所有其他视频都在这些设备的webview中播放。只有Twitter视频不起作用。以下是我的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>

这是我的网络视图代码:

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了很多,但无法得到任何解决方案。是否还有其他人,面临同样的问题?

先谢谢

1 个答案:

答案 0 :(得分:0)

我面临同样的问题。对我而言,它正在研究JellyBean(4.1.2)和Lollipop及以上版本,但未能加载KitKat(API 19)。我通过覆盖WebChromeClient的onConsoleMessage方法检查webview中的日志,发现我在尝试加载视频资源后收到以下错误:

  

Uncaught InvalidStateError:尝试使用该对象   是不是,或不再可用。

检查日志并尝试调试尝试呈现视频时失败的步骤。