Android Q - Как добавить вложенную папку в Uri - PullRequest
0 голосов
/ 08 октября 2019

С помощью Intent.ACTION_OPEN_DOCUMENT_TREE Я выбрал подпапку "abc/bumbum" в папке "Downloads". Результатом URI является:

content://com.android.providers.downloads.documents/tree/msd%3A127

Под этим URI у меня теперь есть права на чтение и запись.

В папке «bumbum» есть еще одна подпапка «test».

Как я могу обновить возвращенный uri с помощью подпапки «test», если я хочу создать файл в папке «test»?

1 Ответ

0 голосов
/ 08 октября 2019
String contentScheme = "content://com.android.providers.downloads.documents/tree/msd%3A127";

String folder = "test";

if (createDirectory(contentScheme, folder))
  {
  ;
  }


private boolean createDirectory ( String contentScheme, String folderName ) {

DocumentFile documentDir = DocumentFile.fromTreeUri(context, Uri.parse(contentScheme));

if ( documentDir==null )
{
Toast.makeText( context, "documentDir==null\n\n" + contentScheme, Toast.LENGTH_SHORT).show();

return false;
}

DocumentFile folder = documentDir.createDirectory(folderName);

if ( folder==null )
{
Toast.makeText( context, "documentsubDir==null\n\n" + folderName + "\n\n" + contentScheme, Toast.LENGTH_SHORT).show();

return false;
}

Toast.makeText( context, "created\n\n" + folder.getName() + "\n\n" + contentScheme, Toast.LENGTH_SHORT).show();

return true;

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...