什么是下载管理器可下载的文件大小限制在android中,因为我正在尝试下载文件大小(700MB)它没有下载但是当我尝试与 1MB或2MB 下载完美。
所以,请帮忙
答案 0 :(得分:1)
文件大小没有文档限制,但可用磁盘空间可能是一个限制。
如果您的下载失败,请使用DownloadManager.Query
检查下载的COLUMN_STATUS
和COLUMN_REASON
值,以尝试确定正在进行的操作。
在this sample app中,我下载了一个DownloadManager
的文件,我有一个按钮,可以让您查看状态信息。
当您请求下载时,您会收到int
返回的下载请求ID:
lastDownload=mgr.enqueue(req);
当用户点击相应的按钮时,我会查询下载状态,将部分信息记录到LogCat,然后显示Toast
:
private void queryStatus(View v) {
Cursor c=
mgr.query(new DownloadManager.Query().setFilterById(lastDownload));
if (c == null) {
Toast.makeText(getActivity(), R.string.download_not_found,
Toast.LENGTH_LONG).show();
}
else {
c.moveToFirst();
Log.d(getClass().getName(),
"COLUMN_ID: "
+ c.getLong(c.getColumnIndex(DownloadManager.COLUMN_ID)));
Log.d(getClass().getName(),
"COLUMN_BYTES_DOWNLOADED_SO_FAR: "
+ c.getLong(c.getColumnIndex(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR)));
Log.d(getClass().getName(),
"COLUMN_LAST_MODIFIED_TIMESTAMP: "
+ c.getLong(c.getColumnIndex(DownloadManager.COLUMN_LAST_MODIFIED_TIMESTAMP)));
Log.d(getClass().getName(),
"COLUMN_LOCAL_URI: "
+ c.getString(c.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)));
Log.d(getClass().getName(),
"COLUMN_STATUS: "
+ c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS)));
Log.d(getClass().getName(),
"COLUMN_REASON: "
+ c.getInt(c.getColumnIndex(DownloadManager.COLUMN_REASON)));
Toast.makeText(getActivity(), statusMessage(c), Toast.LENGTH_LONG)
.show();
c.close();
}
}
private String statusMessage(Cursor c) {
String msg="???";
switch (c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS))) {
case DownloadManager.STATUS_FAILED:
msg=getActivity().getString(R.string.download_failed);
break;
case DownloadManager.STATUS_PAUSED:
msg=getActivity().getString(R.string.download_paused);
break;
case DownloadManager.STATUS_PENDING:
msg=getActivity().getString(R.string.download_pending);
break;
case DownloadManager.STATUS_RUNNING:
msg=getActivity().getString(R.string.download_in_progress);
break;
case DownloadManager.STATUS_SUCCESSFUL:
msg=getActivity().getString(R.string.download_complete);
break;
default:
msg=
getActivity().getString(R.string.download_is_nowhere_in_sight);
break;
}
return(msg);
}