From d25bb1e2a1f81cf6eb072473924e053ea6e4f60c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Bragan=C3=A7a?= <495495+thefringeninja@users.noreply.github.com> Date: Sat, 12 Apr 2025 09:37:13 -0700 Subject: [PATCH] fix incorrect READ_EXTERNAL_STORAGE permission check in android api >=33 --- .../Platform/Storage/AndroidStorageProvider.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs b/src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs index 54d6afad43..80d850c703 100644 --- a/src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs +++ b/src/Android/Avalonia.Android/Platform/Storage/AndroidStorageProvider.cs @@ -291,8 +291,12 @@ internal class AndroidStorageProvider : IStorageProvider ActivityFlags.GrantReadUriPermission) == global::Android.Content.PM.Permission.Granted; - // TODO: call RequestPermission or add proper permissions API, something like in Browser File API. - hasPerms = hasPerms || await _activity.CheckPermission(Manifest.Permission.ReadExternalStorage); + // https://developer.android.com/reference/android/Manifest.permission#READ_EXTERNAL_STORAGE + if (!OperatingSystem.IsAndroidVersionAtLeast(33)) + { + // TODO: call RequestPermission or add proper permissions API, something like in Browser File API. + hasPerms = hasPerms || await _activity.CheckPermission(Manifest.Permission.ReadExternalStorage); + } } catch (Exception ex) {