-
Notifications
You must be signed in to change notification settings - Fork 239
Description
Type of issue
Other (describe below)
Description
Hi docs team,
The Media Picker page states that android.permission.CAMERA is required on Android. But MediaPicker.CapturePhotoAsync() opens the system camera via Intent (android.media.action.IMAGE_CAPTURE). Android’s own docs say that apps invoking the camera app via Intent do not need the CAMERA permission.
Why this is risky
Adds an unnecessary permission prompt → poorer UX.
Causes Google Play filtering (back camera + autofocus implied) unless features are explicitly set to required="false".
What the code & docs show
MAUI Android implementation is Intent-based (no Camera/Camera2):
https://github.com/dotnet/maui/blob/main/src/Essentials/src/MediaPicker/MediaPicker.android.cs
The same docs page already shows adding a package-visibility query for IMAGE_CAPTURE, which only applies when launching another app via Intent:
https://learn.microsoft.com/dotnet/maui/platform-integration/device-media/picker?view=net-maui-9.0
What Android says
Camera Intents (use Intent for basic capture):
https://developer.android.com/media/camera/camera-intents
Camera API note (no CAMERA needed when invoking the camera app):
https://developer.android.com/media/camera/camera-deprecated/camera-api
Suggested fixes
Change wording from “required” to:
“On Android, MediaPicker.CapturePhotoAsync launches the system camera via Intent. This doesn’t require android.permission.CAMERA. If you embed an in-app camera (Camera2/CameraX) elsewhere, then declare/request CAMERA.”
If you still mention CAMERA for historical reasons, add a bold note to prevent Play filtering:
Keep the queries example for IMAGE_CAPTURE (Android 11+ package visibility), since the flow is Intent-based.
Thanks!
Page URL
Content source URL
https://github.com/dotnet/docs-maui/blob/main/docs/platform-integration/device-media/picker.md
Document Version Independent Id
1e5277f4-f2e4-dffe-0c08-06531d4145a1
Platform Id
27207929-eaa2-6859-b3f3-4f8a3728d85f
Article author
Metadata
- ID: 1e5277f4-f2e4-dffe-0c08-06531d4145a1
- PlatformId: 27207929-eaa2-6859-b3f3-4f8a3728d85f
- Service: dotnet-mobile
- Sub-service: dotnet-maui