#java #android #policy #android-11
Вопрос:
Как вы все знаете, 5 мая-крайний срок для использования хранилища с областью действия для Android 11. И вот в чем дело: у меня есть приложение, в котором пользователь загружает изображение во время процесса регистрации, и я использую этот метод для выбора изображения из галереи
Intent chooseImageIntent = new Intent();
chooseImageIntent.setType("image/*");
chooseImageIntent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(chooseImageIntent, "Select image"), requestCode);
затем
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case PICK_IMAGE_ID:
// If image is selected successfully, set the image URI and bitmap.
Uri imageUri = data.getData();
mBitmap1 = ImageHelper.loadSizeLimitedBitmapFromUri(
imageUri, getContentResolver());
if (mBitmap1 != null) {
ivItem1.setImageBitmap(mBitmap1);
uploadFile(mBitmap1, PICK_IMAGE_ID);
} else {
Toast.makeText(this, "image not loaded", Toast.LENGTH_SHORT).show();
}
break;
default:
super.onActivityResult(requestCode, resultCode, data);
break;
}
}
Какие изменения я должен внести, чтобы соответствовать обновлению Android 11 или обновлению политики хранения?
Комментарии:
1. опубликуйте свой файл Manisfest
2. Ничего. Поскольку то, что вы делаете, не имеет ничего общего с хранением.
3. @AgentP вот разрешение в манифесте
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Ответ №1:
Это упоминается на веб-сайте поддержки Google, и я цитирую
Google Play ограничивает использование разрешений с высоким уровнем риска или конфиденциальных разрешений, включая специальный доступ к приложениям, называемый доступом ко всем файлам. Это применимо только к приложениям, предназначенным для Android 11 (уровень API 30) и объявляющим разрешение MANAGE_EXTERNAL_STORAGE, которое добавлено в Android 11. Кроме того, эта политика не влияет на использование разрешения READ_EXTERNAL_STORAGE.
Поэтому, если вы запрашиваете разрешение MANAGE_EXTERNAL_STORAGE на Android 11, вам необходимо удалить его, если это не требуется вашим приложением. Если вам нужно это разрешение, вам нужно объяснить, почему вы его используете.
Так как вы спрашиваете только разрешение READ_EXTERNAL_STORAGE. Тебе не нужно ничего делать. и политика не повлияет на ваше приложение, если вы не запросите разрешение MANAGE_EXTERNAL_STORAGE
Более подробную информацию можно найти здесь : Предварительный просмотр: Разрешение на доступ ко всем файлам (MANAGE_EXTERNAL_STORAGE)