Android 15 のフォアグラウンド サービス タイプの変更

Android 15 では、フォアグラウンド サービスのタイプに次の変更が加えられます。

メディアを処理しています

Foreground service type to declare in manifest under
android:foregroundServiceType
mediaProcessing
Permission to declare in your manifest
FOREGROUND_SERVICE_MEDIA_PROCESSING
Constant to pass to startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
Runtime prerequisites
None
Description

Service for performing time-consuming operations on media assets, like converting media to different formats. The system allows this service a limited time to run; under normal circumstances, this time limit would be 6 hours out of every 24. (This limit is shared by all of an app's mediaProcessing foreground services.)

Your app should manually stop the media processing service in the following scenario:

If the timeout period is reached, the system calls the service's Service.onTimeout(int, int) method. At this time, the service has a few seconds to call Service.stopSelf(). If the service does not call Service.stopSelf(), an ANR will occur with this error message: "A foreground service of <fgs_type> did not stop within its timeout: <component_name>".

Note: Service.onTimeout(int, int) is not available on Android 14 or lower. On devices running those versions, if a media processing service reaches the timeout period, the system immediately caches the app. For this reason, your app shouldn't wait to get a timeout notification. Instead, it should terminate the foreground service or change it to a background service as soon as appropriate.

カメラ

Android 15 以降をターゲットとするアプリでは、BOOT_COMPLETED ブロードキャスト レシーバからカメラのフォアグラウンド サービスを起動することはできません。詳細については、フォアグラウンド サービスを起動する BOOT_COMPLETED ブロードキャスト レシーバに関する制限をご覧ください。

データの同期

Android 15 以降をターゲットとするアプリでは、BOOT_COMPLETED ブロードキャスト レシーバからデータ同期フォアグラウンド サービスを起動することはできません。詳細については、フォアグラウンド サービスを起動する BOOT_COMPLETED ブロードキャスト レシーバに関する制限をご覧ください。

メディア再生

Android 15 以降をターゲットとするアプリでは、BOOT_COMPLETED ブロードキャスト レシーバからメディア再生フォアグラウンド サービスを起動することはできません。詳細については、フォアグラウンド サービスを起動する BOOT_COMPLETED ブロードキャスト レシーバに関する制限をご覧ください。

メディア プロジェクション

Android 15 以降をターゲットとするアプリでは、BOOT_COMPLETED ブロードキャスト レシーバからメディア プロジェクション フォアグラウンド サービスを起動することはできません。詳細については、フォアグラウンド サービスを起動する BOOT_COMPLETED ブロードキャスト レシーバに関する制限をご覧ください。

マイク

Android 14(API レベル 34)以降をターゲットとするアプリでは、BOOT_COMPLETED ブロードキャスト レシーバからマイク フォアグラウンド サービスを起動することはできません。詳細については、フォアグラウンド サービスを起動する BOOT_COMPLETED ブロードキャスト レシーバに関する制限をご覧ください。

電話

Android 15 以降をターゲットとするアプリでは、BOOT_COMPLETED ブロードキャスト レシーバから通話フォアグラウンド サービスを起動することはできません。詳細については、フォアグラウンド サービスを起動する BOOT_COMPLETED ブロードキャスト レシーバに関する制限をご覧ください。