通过Android / JAVA中的webview下载文件

时间:2014-03-28 13:58:39

标签: java android eclipse webview

我是一名新的Java程序员,使用Eclipse工作在Android SDK上。我使用webview创建了一个浏览器,但问题是,当我在任何页面上单击下载时,它在Android的默认浏览器中没有做任何事情,它会下载文件“在同一个网站上测试过”。我搜索了几个小时,我看到一些人使用setDownloadListener但在我的情况下,当我点击下载它只在默认浏览器中打开一个新页面。我不知道这是否重要,但我正在下载的文件是MP3。

这是我的代码:

    public class MainActivity extends Activity {
   WebView web1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        web1 = (WebView) findViewById(R.id.webView1);
        web1.setWebViewClient(new view());
        web1.loadUrl("http://site.org");
        web1.getSettings().setJavaScriptEnabled(true);
        web1.getSettings().setUseWideViewPort(true);
        web1.getSettings().setLoadWithOverviewMode(true);
          web1.setDownloadListener(new DownloadListener() {
                @Override
                public void onDownloadStart(String url, String userAgent,
                        String contentDisposition, String mimetype,
                        long contentLength) {
                    Uri uri = Uri.parse(url);
                    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
                    startActivity(intent);
                }
            });

我不确定setDownloadListener是否放在正确的位置?但无论如何我还有一个webclient来处理同一浏览器中的新链接:

public class view extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView v ,String url){
v.loadUrl(url);
return true;

0 个答案:

没有答案