Android:
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
Flutter:
import 'package:photo_manager/photo_manager.dart';
Future<void> checkPermission() async {
final permissionState = await PhotoManager.requestPermissionExtend();
final hasPhotoPermission = permissionState.isAuth;
}
Code that works fine on iOS is still outputting denied on Android despite allowing image permissions
Environment: Android Version 13
When allowing image permissions
Expect: permissionState.isAuth = true
Actual: permissionState.isAuth = false 🥲
Expect: PermissionState.authorized
Actual: PermissionState.denied 😞😭
Reference links
What I learned from the reference link
As a result, I changed the android xml permissions back and forth, but it still came out as denied. 😞
PhotoManager.requestPermissionExtend(requestOption: ...)
Android:
<!-- SDK 32 or lower -->
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<!-- SDK 33 (Android13) -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<!-- SDK 34 (Android14) -->
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED" />
Flutter:
Future<void> checkPermission() async {
final permissionState = await PhotoManager.requestPermissionExtend(
requestOption: const PermissionRequestOption(
androidPermission:
AndroidPermission(type: RequestType.image, mediaLocation: true),
),
);
final hasPhotoPermission = permissionState.isAuth;
}
감사합니다.
덕분에 바로 해결했습니다~!