我正在使用WebView开发一个Android应用程序,该应用程序将本地存储的HTML5/JQuery Mobile应用程序加载到assets文件夹中。该应用程序从我拥有的域上的REST服务获取内容。内容是HTML内容和可下载文件的混合体。
我的问题在于,当用户点击按钮下载文件时,浏览器窗口启动,文件被下载,这很好。然而,我的应用程序失去了焦点,屏幕上出现了一个空白浏览器。我在谷歌上做了一些搜索,阅读了一些关于Stack Overflow的答案,并调整了我的代码以设置下载侦听器,但这仍然会加载浏览器。请告知。我的代码列在下面
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 Intent?我认为您只需要从DownloadListener中排队下载即可。