WebView中的按钮下载无效

时间:2013-07-10 04:01:36

标签: android android-webview

我想知道我在WebView下使用iframe的网站之一,一切顺利,只有WebView中的按钮下载不起作用,当我启动应用程序时...它是去的打开要加载的浏览器,我在下面的代码中遗漏了一些内容:

布局:

<WebView 
    android:id="@+id/ringtones"
    android:layout_width="fill_parent"
    android:layout_height="0dip"
    android:layout_weight="0.55"
    android:scrollbars="none" />

活动:

mWebView = new WebView(this);

        mWebView = (WebView) findViewById(R.id.ringtones);
        mWebView.setWebChromeClient(new WebChromeClient() {
        });
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setAllowFileAccess(true);
        mWebView.getSettings().setPluginsEnabled(true);
        mWebView.getSettings().setBuiltInZoomControls(true);
        mWebView.loadUrl("http://www.free-ringtones.cc/android/");

上面的代码工作正常,但只有URL位于WebView下时我才能下载铃声文件,如果在浏览器中打开,它就会正常工作。

我做错了吗?

感谢。

2 个答案:

答案 0 :(得分:0)

webview无法直接下载文件,您需要使用类似的东西来实现它:

mWebView.setDownloadListener(new DownloadListener() {
    public void onDownloadStart(String url, String userAgent,
            String contentDisposition, String mimetype,
            long contentLength) {

      // open in external browser (for download)
      Intent i = new Intent(Intent.ACTION_VIEW);
      i.setData(Uri.parse(url));
      startActivity(i);

      // OR you call a method to download url to file directly
    }
});

答案 1 :(得分:0)

您可以实现DownloadListener,但是它将打开一个AppChooser来选择要下载的浏览器。我认为我们无法在应用程序内下载。

webView.setDownloadListener(new DownloadListener() {
        @Override
        public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
            Intent appChooser = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
            startActivity(appChooser);
        }
    });