Skip to content
Narvy

Exact alarm permission: Play Console declaration

Your build requests USE_EXACT_ALARM. Google Play only allows it when the app is an alarm or timer app, or a calendar app that shows event notifications, and asks for a declaration in Play Console (Policy, App content). Qualify and declare, or remove the permission and use SCHEDULE_EXACT_ALARM, which the user grants in system settings, or inexact alarms and WorkManager when the exact minute does not matter.

What it means

The app is an alarm or timer app. The app is a calendar app that shows event notifications.

Permissions and APIs that access sensitive information

Google Play treats USE_EXACT_ALARM as access to sensitive data or capabilities. An app that requests it must qualify for an allowed use and say so in a declaration in Play Console; Google can reject an update, or remove the app, when the use is not declared or not allowed. It is allowed when the app is an alarm or timer app, or a calendar app that shows event notifications.

Rejections for this policy arrive as Play Console policy messages whose wording varies, so this page quotes the policy itself rather than one message.

Deadline

No upcoming date is recorded by the store check: the policy is in force, and the declaration is checked at review.

How to fix it

1. Check whether your app qualifies

The permission is allowed when the app is an alarm or timer app, or a calendar app that shows event notifications. If that is not your app's core feature, do not declare it: remove it.

2. If it qualifies: fill in the declaration

In Play Console, open Policy, then App content, and complete the declaration for this permission: the feature that needs it, why no alternative works, and, when Play Console asks for it, a short video of the feature.

3. Otherwise: remove it, including from libraries

Use SCHEDULE_EXACT_ALARM, which the user grants in system settings, or inexact alarms and WorkManager when the exact minute does not matter. If a dependency adds the permission, remove it from the merged manifest:

AndroidManifest.xml (xmlns:tools="http://schemas.android.com/tools")
<uses-permission android:name="android.permission.USE_EXACT_ALARM" tools:node="remove" />

Check before you submit

Upload the APK, AAB or split-APK set (XAPK, APKS, APKM) on the store check page. It runs PLAY-PERMISSION-DECLARATION against the dates on this page, then deletes the file: nothing about the app is kept. The same engine runs offline in the Narvy CLI, and exits with code 1 when a blocker is found, so it can gate a CI job.

Offline, from a terminal (narvy-cli 1.2.0 or later)
narvy store-check app-release.aab

Check a build in the browser

FAQ

A library added this permission. Is my app concerned?

Yes. Google reviews the uploaded build, and its merged manifest includes the permissions of every dependency. Remove it with tools:node="remove" if the app does not need it.

Does the store check tell me whether my use is allowed?

No. It detects the permission in the build and tells you a declaration is needed. Whether the use qualifies is Google's review decision.