2016-01-31 4 views
0

Что-то я не понимаю в Android DownloadManager, потому что если я загружаю файл из Chrome (это то же самое, когда я загружаю файл из своего собственного приложения), и когда файл загружается, если я загляну в sdcard/Download с файловым проводником, я вижу файл с именем с его окончательным именем и с его окончательным размером, тогда как файл снова недоступен.Как использовать DownloadManager?

Итак, мне интересно, как узнать, когда файл в порядке или нет.

О, конечно, если я все еще запускаю свое приложение, я могу просто ждать, чтобы его уведомил ретранслятор Broadcast, но это ситуация, которая не может произойти при длительной загрузке.

Если я покину свое приложение и запустил его через некоторое время, как проверить мои загрузки?

+0

Вы хотите что-то сканировать прямо сейчас? – Amir

ответ

1

С Curser вы можете найти информацию о вашем файле. Ваш код может быть что-то вроде этого:

mIdColumnId = cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_ID); 
    mTitleColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_TITLE); 
    mStatusColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_STATUS); 
    mReasonColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_REASON); 
    mTotalBytesColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_TOTAL_SIZE_BYTES); 
    mCurrentBytesColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR); 
    mMediaTypeColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_MEDIA_TYPE); 
    mDateColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_LAST_MODIFIED_TIMESTAMP); 

Разделив TOTAL_SIZE и DOWNLOAD_SO_FAR вы можете найти то, что процент файла загрузки. для полного кода посмотреть this библиотека.

+0

Я предполагаю, что он можно использовать до тех пор, пока я не выхожу из приложения, и в этой ситуации я могу спокойно ждать уведомления, которое DownloadManager должен отправить мне, когда загрузка будет завершена. Но моя проблема в основном, когда я оставляю свое приложение и возвращаюсь через минуту. Думаю, я больше не должен получать информацию от DownloadManager? – 2ndGAB

+0

Вам нужно позвонить curser каждый раз, чтобы посмотреть список загружаемых файлов и их статус – Amir

+0

Хорошо, я понимаю. Большое спасибо. – 2ndGAB

Смежные вопросы