Android:如何检测正在WebView中播放的视频?

时间:2016-04-12 04:43:12

标签: android webview android-video-player

我正在开发一个应用程序,YouTube.com已嵌入到WebView中。当我点击任何视频时,视频无法播放(它永远处于加载状态)。因此,当用户点击视频播放按钮时,我会尝试使用VideoView或YouTubePlayerFragment播放视频。我的问题是:有没有办法检测用户是否点击了播放按钮?

我在WebView上添加了下面的监听器,但hr不足以告诉使用点击播放按钮。

    webView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            WebView.HitTestResult hr = ((WebView)v).getHitTestResult();

            return false;
        }
    });

1 个答案:

答案 0 :(得分:-1)

经过调查,我使用其他帖子中提供的解决方案: WebView link click open default browserSupport for other protocols in Android webview

webView.setWebViewClient(new WebViewClient() {
    ...
    @Override
    public void onPageFinished(WebView view, String url) {
        String string = "YouTube URL regular expression";
        if (url.toLowerCase().matches(string)) {
            launchInBrowserOrYouTubeApp(url);
        }
    }
    ...
}

此解决方案仍有一个问题。当我第一次点击任何视频时,会触发此方法并且网址为www.youtube.com' (网址是' www.youtube.com/watch?v = ajsdfhjh'当我第二次点击任何视频或更多时),这在初始化webview时完全相同。所以我无法分辨是用户点击视频还是webview初始化。