Как открыть URI в файловом менеджере в Android - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь создать кнопку в своем приложении, когда пользователь нажимает на нее, она открывает определенный c URI в файловом менеджере, но лучшее, что я мог бы сделать, - это то, что кнопка открывает недавнюю вкладку по умолчанию файловый менеджер.

Пожалуйста, если возможно, предложите мне код, который открывает пользователю возможность выбора между его приложениями файлового менеджера, и когда пользователь выбирает, этот файловый менеджер открывается в указанном мной c URI в моем коде.

Вот мой код:

val intent = Intent(Intent.ACTION_GET_CONTENT)
val uri = Uri.parse(
    //my path
)
intent.data = uri
intent.type = "*/*"
startActivity(Intent.createChooser(intent, "Open folder"))

Также один из пользователей предложил мне использовать INITIAL_URI. Я сделал это так, но не сработало:

val intent = Intent(Intent.ACTION_GET_CONTENT)
            intent.addCategory(Intent.CATEGORY_OPENABLE)
            val uri = Uri.parse(
                //my path
            )
            intent.data = uri
            intent.type = "*/*"
            intent.putExtra("android.provider.extra.INITIAL_URI", uri)
            intent.putExtra("android.content.extra.SHOW_ADVANCED", true)
            startActivity(Intent.createChooser(intent, "Open folder"))

Ответы [ 2 ]

1 голос
/ 04 марта 2020

предложите мне код, который открывает пользователю возможность выбора между его приложениями файлового менеджера и, когда пользователь выбрал, этот файловый менеджер открывается в указанном c URI, который я определил в своем коде

Это никогда не было шаблоном при разработке приложений Android. Не существует стандартного Intent действия для того, что вы ищете, которое, вероятно, будет реализовано многими вещами, не говоря уже о значительном количестве приложений файлового менеджера.

0 голосов
/ 04 марта 2020
fun openNewTabWindow(urls: String, context : Context) {
    val uris = Uri.parse(urls)
    val intents = Intent(Intent.ACTION_VIEW, uris)
    val myV = Bundle()
    myV.putBoolean("new_window", true)
    intents.putExtras(myV)
    context.startActivity(intents)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...