【发布时间】:2015-08-09 03:00:08
【问题描述】:
我目前正在尝试通过 webview 下载文件,但似乎没有运气。我正在使用下载管理器,并单步执行它在 webview 下载侦听器中接收所有正确信息的代码,但是在开始下载时,通知会出现片刻,然后消失。当我检查下载历史时,有一个 download.bin 文件。为什么会发生这种情况?代码如下。
webView = (WebView) findViewById(R.id.wv_webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
if (login) {
webView.loadUrl("javascript:(function() { "
+ "document.getElementsByName(\"username\")[0].value = \"" + computingid + "\";" +
"document.getElementsByName(\"password\")[0].value = \"" + password + "\"; " +
"document.forms[0].submit();"
+ "})()");
login = false;
}
}
});
webView.setDownloadListener(new DownloadListener() {
public void onDownloadStart(String url, String userAgent,
String contentDisposition, String mimetype,
long contentLength) {
Log.d("TEST", "Test");
Uri source = Uri.parse(url);
final DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request(source);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,"Test");
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE);
manager.enqueue(request);
}
});
我在 logcat 中没有看到任何错误,所以我不确定如何调试它。
【问题讨论】: