Загруженный файл из приложения Android не отображается в каталоге "Загрузки"

Я занимаюсь разработкой приложения, в котором я загружаю PDF файлы с удаленного сервера. Я до сих пор успешно загружал файлы PDF на свой телефон через приложение. Проблема, с которой я столкнулся, заключается в том, что загруженный файл не отображается в каталоге "Загрузки" на моем Galaxy Nexus. Когда я использую приложение файлового менеджера, я вижу файл там, и он открывается очень хорошо.

Я попытался использовать следующие параметры в своем коде, но ни один из них, похоже, не решил мою проблему (обе эти опции успешно загружают файл и его вид в файловом менеджере):

outFile = new File(Environment.getExternalStorageDirectory() + "/" + fileName);

и

outFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), fileName);

Может кто-нибудь, пожалуйста, помогите мне с некоторыми подсказками? Любые подсказки или подсказки будут очень полезны.

1 ответ

Я смог сделать это с помощью DownloadManager следующим образом:

dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); Request request = new Request( Uri.parse("http://")); enqueue = dm.enqueue(request); BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) { long downloadId = intent.getLongExtra( DownloadManager.EXTRA_DOWNLOAD_ID, 0); Query query = new Query(); query.setFilterById(enqueue); Cursor c = dm.query(query); if (c.moveToFirst()) { int columnIndex = c .getColumnIndex(DownloadManager.COLUMN_STATUS); if (DownloadManager.STATUS_SUCCESSFUL == c .getInt(columnIndex)) { Toast.makeText(getApplicationContext(), "Download Complete!!!", Toast.LENGTH_LONG).show(); } } } } }; registerReceiver(receiver, new IntentFilter( DownloadManager.ACTION_DOWNLOAD_COMPLETE));

licensed under cc by-sa 3.0 with attribution.