android - 在 WebView 中单击链接启动媒体播放器

标签 android

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

最佳答案

您需要重写 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);
        }
    }
}

...您分配给您的 WebView :

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

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

webView.getSettings().setAllowFileAccess(true);

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

关于android - 在 WebView 中单击链接启动媒体播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3380767/

相关文章:

java - Android - 以编程方式对齐 TableRow 列

android - 为什么编译器要求我在适配器类上使用方法 "final"时声明变量 "OnClickListener"?

android - 由于 list 设置,蜂窝不支持

android - Dagger 2 创建单例实例

android - 检测传入的 SMS 消息

android - 是否有任何工具可以从 AppEngine 中的 Discovery 文档开始为 Android 自动生成库代码?

java - 在 Android 中绘制电影

java - 在标记周围 50 米半径内时,触发方法

java - 无法解析符号 'MyGcmListenerService' 和 'MyInstanceIDListenerService'

android - 如何解码从 parcelfiledescriptor 接收的 H.264 视频流