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

来源:互联网 发布:金相分析软件下载 编辑:程序博客网 时间:2024/05/23 17:33

网上翻了很多都没找到正确答案,好多都说重写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_ACTIVITY_NEW_TASK                        | Intent.FLAG_ACTIVITY_SINGLE_TOP);                WebPageActivity.this.startActivity(intent);            } catch (Exception e) {                // 防止没有安装的情况                e.printStackTrace();            }            return true;        }        return false;    }});

一定要写在

webView.setWebViewClient(new WebViewClient()下。

阅读全文
0 0
原创粉丝点击