如何停止webChromeClient在Android浏览器中打开文件

问题描述:

我正在开发一个使用WebView的Android应用程序,该应用程序在资产文件夹中加载本地存储的HTML5/JQuery Mobile应用程序。该应用程序从我拥有的域上的REST服务获取内容。内容是HTML内容和可下载文件的混合体。如何停止webChromeClient在Android浏览器中打开文件

我的问题在于,当用户点击按钮下载文件,浏览器窗口启动并且文件被下载时,这很好。然而,我的应用程序失去了重点,我在屏幕上有一个空白的浏览器。我做了一些谷歌搜索,并阅读了堆栈溢出的几个答案,并调整了我的代码来设置下载监听器,但是这仍然会加载浏览器。请指教。我的代码是下面列出

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    WebView webView = (WebView)findViewById(R.id.webView); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setAllowFileAccess(true); 
    webView.setWebChromeClient(new WebChromeClient()); 
    webView.setDownloadListener(new DownloadListener() { 
     public void onDownloadStart(String url, String userAgent, 
       String contentDisposition, String mimetype, 
       long contentLength) { 
      Intent i = new Intent(Intent.ACTION_VIEW); 
      i.setData(Uri.parse(url)); 
      startActivity(i); 
     } 
    }); 
    webView.loadUrl("file:///android_asset/www/index.html"); 
} 

你使用Android下载管理器(请参阅http://developer.android.com/reference/android/app/DownloadManager.html),而不是开始VIEW意图试过吗?我认为你只需要从你的DownloadListener中排队下载。