Android 8.0(API レベル 26)のバックグラウンド実行制限により、API レベル 26 以降をターゲットとするアプリは、ブロードキャストが明示的に送信されない限り、非明示的ブロードキャストのブロードキャスト レシーバをマニフェストに登録できません。ただし、一部のブロードキャストにはこれらの制限が適用されません。アプリは、ターゲットとする API レベルに関係なく、次のブロードキャストのリスナーを引き続き登録できます。
ACTION_LOCKED_BOOT_COMPLETED
、ACTION_BOOT_COMPLETED
- これらのブロードキャストは初回起動時に一度だけ送信され、多くのアプリ(ジョブやアラームのスケジュール設定など)でこれらのブロードキャストを受信する必要があるため、除外されています。
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 関連のイベントを認識する必要がある場合、ブロードキャストに登録する代わりにおすすめの方法はありません。
BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED
、BluetoothA2dp.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 受信アプリは、これらのブロードキャストに依存しています。