Photo and Video Permissions Policy: Use of permissions is not directly related to the core purpose of your app.
Status
We found that your app does not comply with how READ_MEDIA_IMAGES / READ_MEDIA_VIDEO permissions may be used.
Your app only requires one-time or infrequent access to media files on the device. Only apps whose core use case requires persistent access to photos and videos stored in shared storage are allowed to use these permissions.
✅ I checked my project, and I do not have these permissions in my AndroidManifest.xml.
✅ My pubspec.yaml dependencies are:
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
## Firebase
firebase_core: ^3.8.1
firebase_crashlytics: ^4.2.0
firebase_remote_config: ^5.2.0
firebase_analytics: ^11.3.6
## File Mangement Video/Image/etc...
video_player: ^2.7.1
chewie: ^1.7.1
youtube_player_flutter: ^9.1.1
open_filex: ^4.5.0
file_picker: ^10.2.0
image_cropper: ^9.1.0
image_picker: ^1.1.2
flutter_svg: ^2.0.16
## Web and Html
webview_flutter: ^4.10.0
#html_editor_enhanced: ^2.7.0
html_editor_enhanced:
path : ../flutter_test/html-editor-enhanced
flutter_html: ^3.0.0-alpha.6
## Websockect and SEE
stomp_dart_client: ^2.1.0
flutter_client_sse: ^2.0.3
## Notif
flutter_local_notifications: ^19.2.1
## charts / Graph
syncfusion_flutter_charts: ^30.1.37
syncfusion_flutter_calendar: ^30.1.37
syncfusion_flutter_maps: ^30.1.37
graphview: ^1.2.0
# path: '../test_flutter/graphview'
## Icons
font_awesome_flutter: ^10.8.0
## Phone contact
flutter_contacts: ^1.1.9
## router
go_router: ^15.1.2
dartz: ^0.10.1
connectivity_plus: ^6.1.1
uuid: ^4.2.2
flutter_cache_manager: ^3.4.1
flutter_portal: ^1.1.4
any_link_preview: ^3.0.2
auto_size_text: ^3.0.0
easy_date_timeline: ^2.0.6
states_rebuilder: ^6.4.0
device_info_plus: ^11.2.0
shimmer: ^3.0.0
flutter_spinkit: ^5.2.1
overlay_support: ^2.1.0
smooth_page_indicator: ^1.2.0
fluttertoast: ^8.2.8
shared_preferences: ^2.3.3
url_launcher: ^6.3.1
intl: any
path_provider: ^2.1.5
get_it: ^8.0.2
dio: ^5.7.0
flutter_bloc: ^9.0.0
equatable: ^2.0.7
flutter_typeahead: ^5.2.0
timeline_tile: ^2.0.0
two_dimensional_scrollables: ^0.3.3
data_table_2: ^2.5.18
speech_to_text: ^7.0.0
avatar_glow: ^3.0.1
math_expressions: ^3.0.0
dev_dependencies:
flutter_test:
sdk: flutter
lints: ^6.0.0
flutter_lints: ^6.0.0
flutter_launcher_icons: ^0.14.3
build_runner: ^2.4.13
go_router_builder: ^3.0.0
flutter_driver:
sdk: flutter
I do not require persistent access to user photos or videos on device storage.
Why is Google Play rejecting my app for READ_MEDIA_IMAGES / READ_MEDIA_VIDEO if I never declared them?
Does any of these plugins implicitly request these permissions at install time?
Should I migrate my image_picker usage to Android Photo Picker API to avoid this issue?
Is there a way to check final built APK/Bundle for hidden permission requests before submission?
✅ Reviewed AndroidManifest.xml – no READ_MEDIA_IMAGES or READ_MEDIA_VIDEO.
✅ Checked Google Play photo and video permissions policy.
✅ Read plugin docs but no clear mention of these permissions being automatically declared.
Even if your app doesn't use these permissions directly, they might be required by other libraries (dependencies) used in your Flutter project
In Your AndroidManifest.xml (typically in android/app/src/main/AndroidManifest.xml) file add 👇🏻
<!-- Added by open_filex -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" tools:node="remove" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" tools:node="remove" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" tools:node="remove" />