Я пытаюсь открыть PDF-файл, загруженный DownloadManager, но время от времени получаю сообщение «Неверный путь к документу» на Samsung Galaxy S3 с Android 4.1.2.
Намерение:
Intent openIntent = new Intent(Intent.ACTION_VIEW);
openIntent.setDataAndType(downloadManager.getUriForDownloadedFile(lastDownloadId), "application/pdf");
startActivity(openIntent);
Разрешения:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Менеджер закачек:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).mkdirs();
DownloadManager downloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
long lastDownloadId = downloadManager.enqueue(new DownloadManager.Request(uri)
.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE)
.setAllowedOverRoaming(false)
.setTitle(title)
.setDescription(description)
.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "myfile.pdf"));
Что я делаю не так?
Изменить: время от времени я получаю это:
COLUMN_ID: 108
COLUMN_BYTES_DOWNLOADED_SO_FAR: 33085
COLUMN_LAST_MODIFIED_TIMESTAMP: 1397152425941
COLUMN_LOCAL_URI: null
COLUMN_STATUS: 16 COLUMN_REASON: 1008
Почему?
getUriForDownloadedFile()
? - person CommonsWare   schedule 10.04.2014