getExternalStorageDirectory устарела в Android 10 - PullRequest
1 голос
/ 29 марта 2020

Я пытаюсь сгенерировать имя файла для сохранения модели AR с использованием ARCore и Kotlin.

. С Android 10 методы среды getExternalStoragePublicDirectory() и getExternalStorageDirectory() устарели из-за соображений конфиденциальности.

Что может заменить следующий код?

private fun generateFileName() : String {
        val date = SimpleDateFormat("yyyyMMddHHmmss", java.util.Locale.getDefault()).format(Date())
        return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + File.separator + "CardAR/" + date + "_screenshot.jpg"
    }

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Вместо использования Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) теперь вы можете использовать getExternalFilesDir(Environment.DIRECTORY_PICTURES)

Здесь - несколько ответов, которые могут вам помочь.

0 голосов
/ 29 марта 2020
private File getAbsoluteFile(String relativePath, Context context) {
    if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
        return new File(context.getExternalFilesDir(null), relativePath);
    } else {
        return new File(context.getFilesDir(), relativePath);
    }
}

Этот метод возвращает полный путь к файлу.

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