Каталог, который вы ищете, на самом деле /storage/emulated/0
в вашем случае. Я имею в виду, что единственным каталогом, который может использоваться / доступен всем другим приложениям, является внешнее хранилище.
Однако, начиная с Android Q (targetSDKVersion 29), разрешение на внешнее хранение имеет довольно много изменений.
Я бы рекомендовал изучить документацию из getExternalStoragePublicDirectory
, если у вас версия Android, которая меньше Android Q.
Для Android Q и выше, я бы рекомендовал изучить документацию из getExternalFileDir
.
Кроме того, есть замечательная статья @CommonsWare об этом. Пожалуйста, загляните сюда в его блоге . Я цитирую его блог здесь.
Для Android Q вы можете добавить android:requestLegacyExternalStorage="true"
к вашему <application>
элементу в манифесте. Это переключит вас на устаревшую модель хранения, и ваш существующий код внешнего хранилища будет работать.
Технически это понадобится вам только после обновления targetSdkVersion
до 29
. Приложения с более низкими значениями targetSdkVersion
по умолчанию выбирают устаревшее хранилище, и для отказа потребуется android:requestLegacyExternalStorage="false"
.