我想知道我在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
下时我才能下载铃声文件,如果在浏览器中打开,它就会正常工作。
我做错了吗?
感谢。
答案 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);
}
});