Android 6.0 Зефир. Не удается записать на SD-карту

У меня есть приложение, которое использует внешнее хранилище для хранения фотографий. Как требуется, в его манифесте запрашиваются следующие разрешения

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

и он использует следующее, чтобы получить необходимый каталог

File sdDir = Environment
            .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);

SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd", Locale.US);
String date = dateFormat.format(new Date());
storageDir = new File(sdDir, getResources().getString(
            R.string.storagedir)
            + "-" + date);

// Create directory, error handling
if (!storageDir.exists() && !storageDir.mkdirs()) {
 ... fails here

Приложение отлично работает на Android 5.1 до 2.3; это было в Google Play больше года.

После обновления одного из моих тестируемых телефонов (Android One) до 6, теперь он возвращает ошибку при попытке создать необходимый каталог, "/ sdcard / Pictures / myapp-yy-mm".

SD-карта настроена как «Портативное хранилище». Я отформатировал SD-карту. Я заменил это. Я перезагрузился. Все безрезультатно.

Кроме того, встроенная функция скриншота Android (через Power + Lower volume) не работает "из-за ограниченного места на диске, или это не разрешено приложением или вашей организацией".

Есть идеи?

Ответы на вопрос(6)

Ваш ответ на вопрос