如何停止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中排队下载。