Choose direct capture or delegation
If your app directly controls the camera or records audio, use the relevant APIs and permission model. If the user selects existing media or delegates capture to another app, the access requirements can differ.
The permission reference and runtime request guide describe the platform grants. A manifest declaration alone does not authorize a runtime operation on versions requiring user approval.
Request access at the right moment
| User action | Sensible request boundary |
|---|---|
| Starts voice recording | Microphone access |
| Opens an in-app scanner | Camera access |
| Starts video capture with sound | Camera and microphone with a clear explanation |
| Chooses an existing photo | Picker flow rather than automatic camera access |
Explain which feature is unavailable after denial while keeping unrelated screens usable. Do not start capture immediately on a future launch merely because a grant exists from an earlier session.
Handle lifecycle and revocation
Release capture resources when the feature stops or the lifecycle requires it. Test interruptions, another app using the camera, microphone privacy controls and permission revocation. The device may temporarily deny access even though the manifest is correct.
Do not swallow a failure and show a recording timer that implies capture is happening. Report the actual state and preserve any safely completed output.
Protect captured data
Apply Android security guidance to temporary files, sharing and retention. Avoid putting recordings into broadly accessible storage without a user reason. Do not log raw audio, images or sensitive derived content as diagnostics.
Validate the release path
Test a clean install, first denial, later grant, cancellation and a partially completed capture. APKLint can inspect camera and microphone declarations and identify unexpected SDK requests. It cannot verify sensor state, lifecycle cleanup or whether capture begins only after a deliberate user action; those require runtime tests.
Sources and further reading
- Android Developers: Request runtime permissions
- Android Developers: Manifest.permission reference
- Android Developers: Security best practices
Reference review: 22 September 2026. Examples illustrate the workflow; check your installed versions, release artifact and account-specific Console requirements before applying them. This guide is not a claim that APKLint executed your project or verified your private account.



