暗黙的ブロードキャストの例外

Android 8.0(API レベル 26)のバックグラウンド実行制限により、API レベル 26 以降をターゲットとするアプリは、ブロードキャストが明示的に送信されない限り、非明示的ブロードキャストのブロードキャスト レシーバをマニフェストに登録できません。ただし、一部のブロードキャストにはこれらの制限が適用されません。アプリは、ターゲットとする API レベルに関係なく、次のブロードキャストのリスナーを引き続き登録できます。

ACTION_LOCKED_BOOT_COMPLETEDACTION_BOOT_COMPLETED
これらのブロードキャストは初回起動時に一度だけ送信され、多くのアプリ(ジョブやアラームのスケジュール設定など)でこれらのブロードキャストを受信する必要があるため、除外されています。
ACTION_USER_INITIALIZEandroid.intent.action.USER_ADDEDandroid.intent.action.USER_REMOVED
特権はこうしたブロードキャストを保護しているため、通常のアプリのほとんどは受信できません。
android.intent.action.TIME_SETACTION_TIMEZONE_CHANGEDACTION_NEXT_ALARM_CLOCK_CHANGED
時計アプリは、時刻、タイムゾーン、アラームが変わったときにアラームを更新するために、このようなブロードキャストの受信が必要になる場合があります。
ACTION_LOCALE_CHANGED
ロケールが変更された場合にのみ送信されます。送信の頻度は高くありません。言語 / 地域が変更された場合、アプリのデータの更新が必要になることがあります。
ACTION_USB_ACCESSORY_ATTACHEDACTION_USB_ACCESSORY_DETACHEDACTION_USB_DEVICE_ATTACHEDACTION_USB_DEVICE_DETACHED
アプリがこれらの USB 関連のイベントを認識する必要がある場合、ブロードキャストに登録する代わりにおすすめの方法はありません。
BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGEDBluetoothA2dp.ACTION_CONNECTION_STATE_CHANGEDACTION_ACL_CONNECTEDACTION_ACL_DISCONNECTED
アプリがこれらの Bluetooth イベントのブロードキャストを受信しても、ユーザー エクスペリエンスが低下する可能性は低くなります。
ACTION_CARRIER_CONFIG_CHANGEDTelephonyIntents.ACTION_*_SUBSCRIPTION_CHANGEDTelephonyIntents.SECRET_CODE_ACTIONACTION_PHONE_STATE_CHANGEDACTION_PHONE_ACCOUNT_REGISTEREDACTION_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_MOUNTEDACTION_MEDIA_CHECKINGACTION_MEDIA_UNMOUNTEDACTION_MEDIA_EJECTACTION_MEDIA_UNMOUNTABLEACTION_MEDIA_REMOVEDACTION_MEDIA_BAD_REMOVAL

これらのブロードキャストは、ストレージ ボリュームのインストールや削除など、ユーザーがデバイスを物理的に操作した結果、または使用可能なボリュームがマウントされたときにブートの初期化の一環として送信されます。これはよくあることではなく、通常はユーザーがコントロールできます。

SMS_RECEIVED_ACTIONWAP_PUSH_RECEIVED_ACTION

SMS 受信アプリは、これらのブロードキャストに依存しています。