Есть ли способ определить, для какого получателя (или для какого URI) DownloadManager отправил намерение после завершения?

У меня есть куча файлов для загрузки (одновременно, если это возможно). Поэтому я регистрирую N BroadcastReceivers для ACTION_DOWNLOAD_COMPLETE и ставлю в очередь N запросов.

Хорошо, все идет лучше, чем ожидалось, пока я не получил Intent, переданный DownloadManager. Да, КАЖДЫЙ получатель получает это намерение.

Хм. Я могу получить строку для определенного идентификатора загрузки (который возвращает DownloadManager.enqueue) и проверить, является ли статус файла с URL-адресом, связанным с этим получателем, равным STATUS_SUCCESSFUL, сделать то, что мне нужно, а затем отменить регистрацию получателя.

Но... Знаете, это не лучший способ сделать это.

Есть ли способ определить URL-адрес или какую-либо другую информацию из намерений, или DownloadManager только уведомляет меня, когда что-то делается? Или как обрабатывать несколько загрузок одновременно?


person efpies    schedule 31.05.2012    source источник


Ответы (1)


Intent имеет поле extra_download_id, которое равно идентификатору одного из запросов в очереди.

Как определить, какой файл инициировал намерение Download_Complete

person efpies    schedule 31.05.2012