在webview中打开内置的android图像查看器

时间:2015-07-24 02:18:53

标签: android webview

首先我要下载所有文件。所以我使用setDownloadListener函数,它可以工作!

此外,我想要webview处理页面导航(在WebView中打开内部链接)...但如果它是文件则不是!

例如,如果网址是' www.example.com'它在WebView中打开但是 如果网址是' www.example.com/file.mp4'它与外部应用程序打开! (我宁愿用默认的Android媒体播放器打开它!)

也适用于' www.example.com/file.jpg'我宁愿打开内置的android图像查看器!

所以我尝试编码:

webView.setWebChromeClient(new WebChromeClient());

        webView.setDownloadListener(new DownloadListener() {
            @Override
            public void onDownloadStart(String url, String userAgent,
                                        String contentDisposition, String mimetype,
                                        long contentLength) {
                // handle download, here we use brower to download, also you can try other approach.
                Uri uri = Uri.parse(url);
                Intent intent = new Intent(Intent.ACTION_VIEW, uri);
                startActivity(intent);
            }
        });


        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if (url.contains(".mp4") || url.contains(".jpg")) {
                    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    startActivity(intent);
                    return true;
                }
                else if (Uri.parse(url).getHost().equals("www.example.com")) {
                    // This is my web site, so do not override; let my WebView load the page
                    return false;
                }
                // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(intent);
                return true;
            }

        });


        webView.loadUrl("http://www.example.com");

当我点击图片或视频链接时,我有两个选择:

1-使用外部浏览器打开 2-用webview打开(我的应用程序)

所以我有两个问题:

1-一定不能建议我"打开webview(我的应用程序)" ...它必须只建议我外部应用程序......所以我该怎么做?

2-我想要开放本机内置图像查看器(用于mp4链接)和android中的视频播放器(用于jpg链接)....而不是外部浏览器!

请帮我纠正我的代码... 至少解决第一个问题!

0 个答案:

没有答案