在链接上启动媒体播放器单击WebView

时间:2010-08-01 04:43:31

标签: android

我创建了一个使用WebView加载网站的应用程序。一切正常,但我无法在应用程序中播放任何视频文件。因此,当我点击以.mp4结尾的链接时,我正在寻求帮助的是让我的应用程序启动媒体播放器。任何帮助和提示将不胜感激!

2 个答案:

答案 0 :(得分:5)

您需要覆盖webViewCient的shouldOverrideUrlLoading方法......

final class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.endsWith(".mp4") {
            Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(url));
            view.getContext().startActivity(intent);
            return true;
        } else {
            return super.shouldOverrideUrlLoading(view, url);
        }
    }
}

...您已分配到您的网络视图:

WebViewClient webViewClient = new MyWebViewClient();
webView.setWebViewClient(webViewClient);

编辑: 同样重要的是你添加:

webView.getSettings().setAllowFileAccess(true);

允许文件下载/流,例如mp4文件。

答案 1 :(得分:2)

注意:您可能还想设置数据类型。这似乎解决了Android 4.0(冰淇淋三明治)中的一些问题。例如:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "video/*");
startActivity(intent);`