Understanding foreground service and full-screen intent requirements

In order to enable developers to create apps that deliver a consistent user experience, we’re introducing additional foreground service types along with a new set of related policy restrictions. This article explains upcoming foreground service requirements and how to declare foreground service information in Play Console. It also details requirements for using full-screen intent notifications.

Foreground service requirements for Android 14

To help you identify which use cases are appropriate for foreground services and clearly define the intent of the background work of your app, Android 14 and above requires you to do the following before you use a foreground service:

  • Declare foreground service type(s) in your manifest. You must do this for each foreground service you intend to use.
  • If applicable to the type selected, declare and request the foreground service permission that is appropriate for each foreground service type.

The Permissions for Foreground Services (FGS) section of our Device and Network Abuse policy outlines the criteria required for using foreground services in detail. You are required to declare foreground service types when you update to Android 14.

Declaring your foreground service information in Play Console

When your apps target Android 14 and above, you’ll need to declare any foreground service types that you use in a new declaration on the App content page (Monitor and improve > App content) in Play Console .

For each foreground service type you declare, you’ll need to do the following:

  1. Provide a description of the app functionality that is using each foreground service type.
  2. Describe the user impact if:
    • the task is deferred by the system (does not start immediately); and/or
    • the task is interrupted by the system (paused and/or restarted).
  3. Include a link to a video demonstrating each foreground service feature. The video should demonstrate the steps the user needs to take in your app in order to trigger the feature.
  4. Choose your specific use case for each foreground service type. A pre-set list of use cases will be provided for you to choose from. Select use cases mapped to foreground service types are listed in the chart below. This is a non-exhaustive list; if you do not see your use case listed, you can enter your use case manually.

    For certain use cases, we suggest using alternative APIs. For a list of those use cases and their alternative recommended APIs, visit the Android Developers site.

Note: Below is a non-exhaustive list. To determine if access is FGS appropriate, refer to the Permissions for Foreground Services (FGS) policy for use cases that are not mentioned below.

FGS Type Use Cases Descriptions and Examples
TYPE_CAMERA Background Camera Streaming Continue to access the camera from the background. For example, video chat apps that allow for multitasking.
TYPE_CONNECTED_DEVICE Continuous Data Transfer to an External Device Interactions with external devices including data transfer that require a Bluetooth, NFC, IR, USB, or network connection. For example, wearable, baby monitor, headset, car.
TYPE_DATA_SYNC Network transfer: Backup and restore Use for specifically user-initiated features. For example, selecting a specific photo to back up to cloud vs daily auto backup of all new photos.
Network transfer: Upload or download For example, data fetch, server-side processing.
Local processing: Import or export Includes migration of files from SD card.
Local processing: Other Use for specifically user-initiated work and not for regular system or server-initiated tasks. For example, encryption, resizing.
TYPE_HEALTH Health Data Sync Syncing of health data for apps in the fitness category, which can be across apps or to gather data collected through on-device tracking. For example, step counter, exercise tracker.
TYPE_LOCATION Background Location Updates: User-initiated location sharing For example, Find My Friend feature, vehicle activity tracking.
Background Location Updates: Navigation For example, continuing driving navigation in maps, ride tracking for ride share.
Geofencing Define parameters, which surround the areas of interest.
TYPE_MEDIA_PLAYBACK Media Playback Continue audio or video playback from the background, including streaming.
Show Picture in Picture When media is minimized format while playing in the background.
TYPE_MEDIA_PROJECTION Media or Content Projection and streaming or recording with MediaProjection API Project media to non-primary display or external devices using the MediaProjection APIs, including streaming.
FOREGROUND_SERVICE_MEDIA_PROCESSING Media transcoding Performing time-consuming operations on media assets, like converting media to different formats.
TYPE_MICROPHONE Background Audio Access Capture audio input, for example, voice commands for virtual assistant without saving, voice recording.
TYPE_PHONE_CALL Calling: Cellular/VoiP/Telecom APIs Support various calling dialer features.
TYPE_REMOTE_MESSAGING Relay text communication to another device Assists without continuity of a user's messaging tasks when they switch devices. For example, allow users to send text messages via a web client by scanning a QR code and establishing a connection between the web client and the phone. Not limited to SMS.

The declaration will be available by November 2023, and we’ll provide you time to complete the declaration, receive feedback, and make adjustments if needed.

Full-screen intent requirements for Android 14

You may want to use full-screen intent notifications to share high-priority messages that require the user's immediate attention. To ensure that this permission is limited to the appropriate high-priority use cases, for Android 14, we're introducing restrictions to the usage of the USE_FULL_SCREEN_INTENT permission. Limiting notifications in this way helps ensure a better experience for users.

If you use the USE_FULL_SCREEN_INTENT permission, you are required to complete the Play Console declaration starting May 31, 2024 to indicate if your app has a permitted core functionality and qualifies for automatic granting. Starting January 22, 2025, for apps targeting Android 14+, only apps that have calling or alarm functionalities will have this permission enabled by default. Otherwise, you must get user permission to use the USE_FULL_SCREEN_INTENT permission. For apps that did not complete the declaration or have not been approved for default enabling, developers will need to prompt users to grant permission on new installs and gracefully degrade the experience if denied.

Frequently asked questions

Was this helpful?

How can we improve it?
12145753336755574042
true
Search Help Center
true
true
true
true
true
92637
Search
Clear search
Close search
Main menu
false
false
false