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