您的位置:首页 > 移动开发

[置顶] webview播放优酷视频,网页无法加载,提示位于intent://....,无法加载因为net::ERR_UNKNOWN_URL_SCHEME

2017-09-16 21:23 866 查看
网上翻了很多都没找到正确答案,好多都说重写shouldOverrideUrlLoading这个方法,但是照做还是不能播放视频,于是我用其它浏览器打开优酷网址发现,浏览器会弹出是否启用外部应用程序,原来如此。由于优酷推荐自带客户端播放,这里需要判断是否启用第三方应用程序,所以就需要重写shouldOverrideUrlLoading,代码如下:

webView.setWebViewClient(new WebViewClient(){

public boolean shouldOverrideUrlLoading(WebView view, String url) {

Log.d("shouldOverrideUrlLoading", url);
// 处理自定义scheme
if (!url.startsWith("http")) {
Log.i("shouldOverrideUrlLoading", "处理自定义scheme");
Toast.makeText(WebPageActivity.this, "需要下载客户端收看", Toast.LENGTH_LONG)
.show();
try {
// 以下固定写法
final Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(url));
intent.setFlags(Intent.FLAG_AC
4000
TIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
WebPageActivity.this.startActivity(intent);
} catch (Exception e) {
// 防止没有安装的情况
e.printStackTrace();
}
return true;
}
return false;
}
});


一定要写在

webView.setWebViewClient(new WebViewClient()下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: