Открытие внешнего приложения «Проводник файлов»: как получить абсолютный путь от uri, указывающего на папкуAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Открытие внешнего приложения «Проводник файлов»: как получить абсолютный путь от uri, указывающего на папку

Сообщение Anonymous »

В моем приложении пользователь может выбирать, где будут создаваться созданные файлы (текстовые файлы).
Эта часть работает нормально.
Но теперь я хочу открыть внешнее приложение «Проводник файлов». , указывающий непосредственно на выбранную папку.
Приложения "Проводник файлов", которые я знаю, принимают в качестве входных данных абсолютный путь (например, /storage/emulated/0/Documents/test_folder)
Когда пользователь выбирает папку (с помощью Intent.ACTION_OPEN_DOCUMENT_TREE), я получаю URI контента (например, content://com.android.externalstorage.documents/tree/home%3Atest_folder)
Другой пример с внешней SD-картой:
  • uri: content://com.android.externalstorage.documents/tree/3877 -DB74%3ADocuments%2Ftest_folder
  • ожидаемый путь: /storage/3877-DB74/Documents/test_folder
URI указывает на папку, а не на файл, поэтому я не могу использовать что-то вроде openInputStream.
Я пробовал:
File f = new File(uri.getPath());
String path = f.getAbsolutePath();

но выдает: /tree/home:test_folder или /tree/3877-DB74:Documents/test_folder, если на SD-карте
Как я могу получить настоящий абсолютный путь?
Код, который я использую для вызова проводника:
Intent intent = new Intent(Intent.ACTION_VIEW);
String path = getExternalFilesDir(null).getAbsolutePath();
intent.setDataAndType(Uri.parse(path), "resource/folder");
if (intent.resolveActivityInfo(getPackageManager(), 0) != null)
{
startActivity(intent);
}


Подробнее здесь: https://stackoverflow.com/questions/752 ... -a-uri-poi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»