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

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

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

マニフェストで申告するフォアグラウンド サービスのタイプ
android:foregroundServiceType
mediaProcessing
マニフェストで宣言する権限
FOREGROUND_SERVICE_MEDIA_PROCESSING
startForeground() に渡す定数
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
ランタイムの前提条件
なし
説明

メディアを別の形式に変換するなど、メディア アセットに対して時間のかかるオペレーションを実行するためのサービス。システムは、このサービスの実行を限定します。通常の状況では、この時間制限は 24 時間のうち 6 時間です。(この上限は、アプリのすべての mediaProcessing フォアグラウンド サービスで共有されます)。

次のシナリオでは、アプリはメディア処理サービスを手動で停止する必要があります。

  • コード変換オペレーションが終了したか、失敗状態になったら、サービスで Service.stopForeground()Service.stopSelf() を呼び出して、サービスを完全に停止します。

タイムアウト期間に達すると、システムはサービスの Service.onTimeout(int, int) メソッドを呼び出します。この時点で、サービスが Service.stopSelf() を呼び出すまでに数秒かかります。サービスが Service.stopSelf() を呼び出さないと、ANR が発生して「<fgs_type> のフォアグラウンド サービスがタイムアウト内に停止しませんでした: <component_name>」というエラー メッセージが表示されます。

: Service.onTimeout(int, int) は Android 14 以前では使用できません。これらのバージョンを実行しているデバイスでは、メディア処理サービスがタイムアウト期間に達すると、システムはアプリを直ちにキャッシュに保存します。そのため、アプリはタイムアウト通知の受信を待つべきではありません。代わりに、可能な限り速やかに、フォアグラウンド サービスを終了するか、バックグラウンド サービスに変更する必要があります。

カメラ

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 ブロードキャスト レシーバに関する制限をご覧ください。