在 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
- 如果應用程式接收這些藍牙事件的廣播,使用者體驗就不太可能受到影響。
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
簡訊接收者的應用程式需要進行這類廣播訊息。