作為Android 8.0(API級别26)背景執行限制的一部分,針對API 26或更高的App無法再在AndroidManifest中隐式注冊BroadcastReceiver。
但是,目前有幾個Broadcast 免于這些限制。
無論應用程式所針對的API級别如何,應用程式都可以繼續為以下廣播注冊監聽器。
注意:即使這些隐式廣播仍然在背景工作,您應該避免為它們注冊Listener。
-
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相關的事件,目前還沒有一個很好的替代方案來注冊廣播。
-
ACTION_CONNECTION_STATE_CHANGED,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
SMS收件人應用程式依賴這些廣播。
原文位址