我目前正试图通过网页浏览下载文件,但似乎没有运气。我正在使用下载管理器,并逐步完成代码,它会在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中看到任何错误,所以我不确定如何调试它。
答案 0 :(得分:1)
Download.bin是下载文件。您需要使用正确的文件名重命名它,或者在下载链接上使用HttpURLConnection并从标题中获取正确的文件名(内容处置)。