---
title: "Declare restricted Android permissions in · Agent Wranglers"
url: https://agentwranglers.se/playbook/mobile-apps/privacy-declarations/play-restricted-permissions
id: MOB-52
level: Required
risk: outage
updated: 2026-10-27
build: a2a6bdfed830
tokens: 1044
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Declare restricted Android permissions in the Play Console

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Privacy declarations](https://agentwranglers.se/playbook/mobile-apps/privacy-declarations.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

- ID: MOB-52
- Level: Required
- Chapter: [Privacy declarations](https://agentwranglers.se/playbook/mobile-apps/privacy-declarations.md)
- Rule: Request broad photo and video access, foreground service types and full-screen intents only when the app's core feature needs them. Fill in the Play Console declaration for each one the app keeps.
- Check: A script reads the merged release manifest and lists each restricted permission and foreground service type. The build fails on any entry missing from a checked-in list that names its Play Console declaration.
- Risk: The app down or unusable
- How: Google Play treats these as sensitive. Apps that target Android 13 or later may ask for `READ_MEDIA_IMAGES` or `READ_MEDIA_VIDEO` only when broad access to photos is their core feature. Everyone else uses the system photo picker, which needs no permission. Since 28 May 2025, apps that break this policy can be removed from Google Play. Apps that target Android 14 declare each foreground service type in the manifest and in the Play Console, with a video of the feature. `USE_FULL_SCREEN_INTENT` is on by default only for calling and alarm apps. The same idea holds on iOS, where `PHPickerViewController` reads chosen photos without the photo library permission. Ask for any permission when it is needed, as [ask for each permission when the feature needs it](https://agentwranglers.se/playbook/mobile-apps/privacy-declarations/permission-in-context.md) says.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### Kotlin example

```kotlin
private val pickReceipt = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
    uri?.let(::uploadReceipt)
}

fun onAddReceiptTapped() = pickReceipt.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly))
```

### Plain text example

```swift
func onAddReceiptTapped() {
    var config = PHPickerConfiguration()
    config.filter = .images
    let picker = PHPickerViewController(configuration: config)
    picker.delegate = self
    present(picker, animated: true)
}
```

## Sources

- [Google Play, Photo and video permissions policy](https://support.google.com/googleplay/android-developer/answer/14115180)
- [Google Play, Foreground service and full-screen intent requirements](https://support.google.com/googleplay/android-developer/answer/13392821)
- [Android, Photo picker](https://developer.android.com/training/data-storage/shared/photopicker)

## Related rules

- MOB-30 [Ask for each permission when the feature needs it](https://agentwranglers.se/playbook/mobile-apps/privacy-declarations/permission-in-context.md) in Mobile apps
- MOB-53 [Schedule exact alarms only after checking the permission](https://agentwranglers.se/playbook/mobile-apps/privacy-declarations/exact-alarms.md) in Mobile apps

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/mobile-apps/privacy-declarations/play-restricted-permissions">Agent Wranglers mobile apps playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Request the system notification permission before you rely on notifications](https://agentwranglers.se/playbook/mobile-apps/privacy-declarations/notification-permission.md)
- Next: [Schedule exact alarms only after checking the permission](https://agentwranglers.se/playbook/mobile-apps/privacy-declarations/exact-alarms.md)
- [Privacy declarations](https://agentwranglers.se/playbook/mobile-apps/privacy-declarations.md)
