Получить имена файлов для результатов, возвращенных из контракта ActivityResultContracts.OpenMultipleDocuments () - PullRequest
2 голосов
/ 07 мая 2020

В моем приложении Android я запускаю средство выбора документов, чтобы пользователь мог импортировать некоторые документы в мое приложение:

this.intentlauncherchoosedoc = this.registerForActivityResult(
    new ActivityResultContracts.OpenMultipleDocuments(), 
    new ActivityResultCallback<List<Uri>>() {
        @Override
        public void onActivityResult(List<Uri> urilist) {
            for (Uri uri : urilist) {
                String filename = uri.getLastPathSegment();
                createdoc(uri, filename);
            }
        }
    }   
);

К сожалению, когда пользователь выбирает документ, возвращается возвращаемый uri вот так:

content: //com.google.android.apps.docs.storage/document/acc=1; doc = encoded = mgMyynWh7Lrq1qW1dradGc60EJWehheCQiS5mYY7a8CF80Ouzro

1007 *1007* 1007 * Есть ли способ получить исходное имя файла для выбранного документа, чтобы я мог сохранить это имя файла и передать его моему пользователю, когда они просматривают свои импортированные документы?
...