Как открыть проводник в определенном каталоге и избежать несвязанных приложений?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как открыть проводник в определенном каталоге и избежать несвязанных приложений?

Сообщение Anonymous »

Я работаю над приложением для Android с использованием Kotlin, и мне нужно открыть проводник в определенном каталоге, где находится файл. В частности, я хочу открыть каталог «Документы». Кроме того, я хочу убедиться, что в качестве параметров отображаются только приложения файлового менеджера, а не другие типы приложений.
Вот соответствующий фрагмент кода, который я использую:

Код: Выделить всё

private val documents = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)

fun open() {
val documentsUri = Uri.fromFile(documents)
val intent = Intent(Intent.ACTION_VIEW).apply {
data = documentsUri
type = "*/*"
flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
}
}
Однако я столкнулся с несколькими проблемами:
  • Отображаются несвязанные приложения: при использовании приведенный выше код, на моем устройстве Android
    13 я вижу в средстве выбора множество несвязанных приложений, таких как
    Messenger, Signal, Gmail и т. д. Появляется только одно приложение для просмотра файлов
    (хотя их должно быть больше).
  • Открытие не той папки: при выборе файлового менеджера открывается
    вкладка "Загрузки" " вместо папки "Документы". Это может
    быть связано с тем, как приложение File Explorer обрабатывает намерения.


Подробнее здесь: https://stackoverflow.com/questions/788 ... lated-apps
Ответить

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

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

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

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

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