Метод DownloadManager.enqueue()
возвращает идентификатор ( DOC IS HERE ). Таким образом, вы должны «сохранить» этот идентификатор для будущих операций (например, обратитесь к Uri загруженного файла).
Таким образом, вы можете использовать этот Id для получения Uri
, если файл был успешно загружен с использованием Uri getUriForDownloadedFile(long id);
( DOC HERE )
EDIT
Если вы создали BroadcastReceiver
для получения трансляций о завершенной загрузке, вы можете получить Uri, как только ваш файл будет загружен:
private int mFileDownloadedId = -1;
// Requesting the download
DownloadManager manager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
mFileDownloadedId = manager.enqueue(request);
// Later, when you receive the broadcast about download completed.
private BroadcastReceiver onDownloadComplete = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
long id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);
if (downloadedID == mFileDownloadedId) {
// File received
DownloadManager manager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
Uri uri = manager.getUriForDownloadedFile(mFileDownloadedId);
}
}
}