Android 8.0(API レベル 26)のバックグラウンド実行制限の一環として、API レベル 26 以降を対象とするアプリは、暗黙的ブロードキャストについてマニフェストでブロードキャスト レシーバを登録できなくなりました。しかし、現在、いくつかのブロードキャストはこれらの制限から除外されています。次のブロードキャストについては、対象とする API レベルに関係なく、引き続きアプリによるリスナーの登録が可能です。
ACTION_LOCKED_BOOT_COMPLETED
,ACTION_BOOT_COMPLETED
- これらのブロードキャストは初回起動時にのみ 1 回だけ送信され、多くのアプリでこのブロードキャストを受信してジョブやアラームなどのスケジュールを設定する必要があるため、除外されています。
ACTION_USER_INITIALIZE
,"android.intent.action.USER_ADDED"
,"android.intent.action.USER_REMOVED"
- これらのブロードキャストは特権で保護されているため、ほとんどの通常のアプリでは受信できません。
"android.intent.action.TIME_SET"
,ACTION_TIMEZONE_CHANGED
,ACTION_NEXT_ALARM_CLOCK_CHANGED
- 時計アプリでは、時刻、タイムゾーン、アラームが変更されたときにアラームを更新するため、これらのブロードキャストの受信が必要になる場合があります。
ACTION_LOCALE_CHANGED
- ロケールが変更された場合にのみ送信されます。送信の頻度は高くありません。ロケールが変更されると、アプリでデータの更新が必要になる場合があります。
ACTION_USB_ACCESSORY_ATTACHED
、ACTION_USB_ACCESSORY_DETACHED
、ACTION_USB_DEVICE_ATTACHED
、ACTION_USB_DEVICE_DETACHED
- アプリがこれらの USB 関連のイベントを知る必要がある場合、現在のところブロードキャストの登録に代わる適した手段はありません。
ACTION_CONNECTION_STATE_CHANGED
、ACTION_CONNECTION_STATE_CHANGED
、ACTION_ACL_CONNECTED
、ACTION_ACL_DISCONNECTED
- アプリがこれらの Bluetooth イベントのブロードキャストを受信しても、ユーザー エクスペリエンスが低下する可能性はほとんどありません。
ACTION_CARRIER_CONFIG_CHANGED
、TelephonyIntents.ACTION_*_SUBSCRIPTION_CHANGED
、"TelephonyIntents.SECRET_CODE_ACTION"
、ACTION_PHONE_STATE_CHANGED
、ACTION_PHONE_ACCOUNT_REGISTERED
、ACTION_PHONE_ACCOUNT_UNREGISTERED
- OEM の電話アプリでは、これらのブロードキャストの受信が必要になる場合があります。
LOGIN_ACCOUNTS_CHANGED_ACTION
- 一部のアプリでは、新しいアカウントや変更されたアカウントに対して、スケジュール指定された操作を設定できるように、ログイン アカウントの変更について知る必要があります。
ACTION_ACCOUNT_REMOVED
- アカウントに表示されているアプリは、アカウントが削除される際に、このブロードキャストを受信します。アプリで対応する必要のある操作がこのアカウント変更のみである場合は、非推奨となった
LOGIN_ACCOUNTS_CHANGED_ACTION
ではなく、このブロードキャストの使用を強くおすすめします。 ACTION_PACKAGE_DATA_CLEARED
- ユーザーが、設定から明示的にデータを消去した場合にのみ送信されるため、ブロードキャスト レシーバーがユーザー エクスペリエンスに大きな影響を与える可能性は低いと考えられます。
ACTION_PACKAGE_FULLY_REMOVED
アプリによっては、別のパッケージが削除されたときに、保存されたデータの更新が必要になる場合があります。それらのアプリに対しては、このブロードキャストへの登録に代わる適した手段はありません。
注: パッケージに関連するその他のブロードキャスト(
ACTION_PACKAGE_REPLACED
など)は、新しい制限の除外対象にはなりません。これらのブロードキャストは一般的なものであり、除外することでパフォーマンスに影響の生じる可能性があります。ACTION_NEW_OUTGOING_CALL
ユーザーによる通話の開始に対応して操作を実行するアプリでは、このブロードキャストを受信する必要があります。
ACTION_DEVICE_OWNER_CHANGED
このブロードキャストの送信頻度はそれほど高くありません。アプリによっては、デバイスのセキュリティ ステータスが変更されたことを知るために受信する必要があります。
ACTION_EVENT_REMINDER
イベントの通知をカレンダー アプリに送信するため、カレンダー プロバイダによって送信されます。カレンダー プロバイダからは対象となるカレンダー アプリが不明であるため、このブロードキャストを暗黙的に行う必要があります。
ACTION_MEDIA_MOUNTED
,ACTION_MEDIA_CHECKING
,ACTION_MEDIA_UNMOUNTED
,ACTION_MEDIA_EJECT
,ACTION_MEDIA_UNMOUNTABLE
,ACTION_MEDIA_REMOVED
,ACTION_MEDIA_BAD_REMOVAL
これらのブロードキャストは、ユーザーがデバイスの物理的な操作(ストレージ ボリュームのインストールまたは削除)を行った場合や、使用可能なボリュームをマウントするためにブート初期化を行う際に送信されます。そのため、頻繁に発生するものではなく、通常はユーザーの操作により発生します。
SMS_RECEIVED_ACTION
,WAP_PUSH_RECEIVED_ACTION
これらのブロードキャストは、SMS を受信するアプリの動作に応じて発生します。