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