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