我使用DownloadManager開始2Gb文件下載,並且這樣做可以讓用戶選擇他們想要保存的位置文件:內部存儲或SD卡。 此外,我給用戶一個選項來取消所述下載。這裏是我的代碼:DownloadManager需要3-5分鐘才能停止下載,只有在使用SD卡時
DownloadManager.Query query = new DownloadManager.Query();
query.setFilterById(downloadId);
Cursor cursor = downloadManager.query(query);
try {
if (cursor.moveToFirst()) {
int status =cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS));
if (status == DownloadManager.STATUS_RUNNING ||
status == DownloadManager.STATUS_PENDING) {
downloadManager.remove(downloadId);
}
}
} finally {
cursor.close();
}
我的問題:下載到內部存儲的時候,在卸下襬臂(downloadId)調用工作瞬間,並且下載停止。但使用相同的代碼下載到SD卡(在三星Galaxy S7 Edge上)時,需要3-5分鐘才能停止下載。
關於消除延遲的任何想法?
編輯:一些路徑的示例,通過Activity.getExternalFilesDirs()返回:
/storage/emulated/.../ - 這是內部
/存儲/ 0123-4567/.../- 這是SD卡
您可以舉出您認爲是內部存儲器和SD卡上的路徑示例嗎? – greenapps
剛剛編輯的問題添加路徑 – zrgiu
/storage/emulated/0/......被稱爲外部存儲。用getExternalStorageDirectory()獲得。但我沒有看到解決方案。抱歉。你測試過其他設備了嗎? – greenapps