Supported on Android and iOS targets
Quick start
The camera picker component provides a native interface for users to capture photos using their device’s camera.Camera type
You can specify the type of media to capture using thetype
parameter:
Photo
- Capture a photo (default)Video
- Capture a video (coming soon)
Video capture support is planned for a future release.
Camera facing
You can specify whether the front or rear facing camera is used, using thecameraFacing
parameter:
Front
opens the front facing camera (Selfie-Camera)Back
opens the rear facing camera
Android has no documented parameter for an intent to specify which camera is supposed to be used by the Camera App.
Since Android implementations differ, we can not guarantee that this feature will work for every device/Android version.
If you encounter issues please file an issue.
Destination file
You can specify where the captured photo should be saved using thedestinationFile
parameter. By default, the photo is saved to the cache directory with a randomly generated filename.
On Android, when using a custom
destinationFile
, you must provide the openCameraSettings
parameter with your app’s FileProvider authority. This ensures the camera app has permission to write to your specified location.Destination file Android Setup
Opening files on Android requires additional FileProvider configuration to securely share files with other applications. Starting from Android 7.0 (API level 24), Android restricts the sharing of file URIs between apps for security reasons. FileProvider generates secure content URIs that allow temporary access to specific files. Why FileProvider is required? Android uses FileProvider to:- Enhance security: Prevents exposing your app’s internal file structure to other apps
- Control access: Grants temporary, limited access to specific files only
- Maintain compatibility: Required for opening files on Android 7.0+ due to
FileUriExposedException
For detailed information about FileProvider, see the official Android documentation.
- Add the FileProvider to your
AndroidManifest.xml
:
- Create
androidMain/res/xml/file_paths.xml
:
Important: Include only the path type that matches your FileKit usage:
- Use
<files-path>
if you useFileKit.filesDir
- Use
<cache-path>
if you useFileKit.cacheDir
- Include both if you use both directories
- When using a custom
destinationFile
, provide theopenCameraSettings
parameter with your app’s FileProvider authority: