/** * 获得全部的下载列表 * * @return */ public List<DownloadStatus> getAllDownloadList() { List<DownloadStatus> downloadStatusList = new ArrayList<>(); DownloadManager.Query query = new DownloadManager.Query(); Cursor cursor = downloadManager.query(query); while (cursor.moveToNext()) { long time = cursor.getLong(cursor.getColumnIndex(DownloadManager.COLUMN_LAST_MODIFIED_TIMESTAMP)); // Log.d(TAG, "time:" + System.currentTimeMillis()); // Log.d(TAG, "time:" + time); int reason = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_REASON)); int downId = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_ID)); int bytes_downloaded = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR)); int bytes_total = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES)); int status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)); String url = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_URI)); // 下载的url int progress = (int) ((float) bytes_downloaded / (float) bytes_total * 100); Log.d( TAG, bytes_downloaded + "/" + bytes_total + "--" + progress + "uri" + downloadManager.getUriForDownloadedFile(downId)); DownloadStatus downloadStatus = new DownloadStatus(); downloadStatus.setDownloadId(downId); downloadStatus.setDownloadedbyte(bytes_downloaded); downloadStatus.setStatus(status); downloadStatus.setReason(reason); downloadStatus.setDownloadtotalbyte(bytes_total); downloadStatus.setFileUri(downloadManager.getUriForDownloadedFile(downId)); downloadStatus.setProgress(progress); downloadStatus.setUrl(url); downloadStatusList.add(downloadStatus); } cursor.close(); return downloadStatusList; }