Страницы

Поиск по вопросам

суббота, 4 января 2020 г.

Правильный путь к файлу на android устройстве

#android


Загружаю файл из сети и записываю его вот таким образом:

BufferedInputStream inputStream = new BufferedInputStream(response.body().byteStream());
OutputStream stream = new FileOutputStream(Environment.getExternalStorageDirectory()+
"/Download/" + messages.get(position).getFile().get(finalI).getName());


Затем закрываю соединение и запускаю уведомление о загруженном файле при клике на
которое должна открываться папка с загруженным файлом.

resultIntent = new Intent(ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory());
resultIntent.setDataAndType(uri, "*/*");
resultPendingIntent = PendingIntent.getActivity(ctx, 1, resultIntent, PendingIntent.FLAG_ONE_SHOT);
mBuilder.setContentIntent(resultPendingIntent);


Вот только когда указываем Uri.parse и FileOutputStream один и тот же путь Environment.getExternalStorageDirectory(),
то открываются (и загружаются) они в разных директориях. При переходе на уведомление
открываются "Недавние файлы", а сам файл записался по нужному адресу (на карту памяти,
в папку "Download")
    


Ответы

Ответ 1



Здесь похожий вопрос. Используйте startActivity(new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS));

Ответ 2



Думаю, стоит пытаться открыть папку таким образом: resultIntent = new Intent(ACTION_GET_CONTENT); //Uri uri = Uri.parse(Environment.getExternalStorageDirectory()); Uri uri = Uri.parse(Environment.getExternalStorageDirectory()+"/Download/"); resultIntent.setDataAndType(uri, "*/*"); resultPendingIntent = PendingIntent.getActivity(ctx, 1, resultIntent, PendingIntent.FLAG_ONE_SHOT); mBuilder.setContentIntent(resultPendingIntent);

Комментариев нет:

Отправить комментарий