ข้อยกเว้นการออกอากาศโดยนัย

ในส่วนของข้อจำกัดการดำเนินการในเบื้องหลังของ Android 8.0 (API ระดับ 26) แอปที่กำหนดเป้าหมายเป็น API ระดับ 26 ขึ้นไปจะลงทะเบียน Broadcast Receiver สำหรับการออกอากาศโดยนัยในไฟล์ Manifest ไม่ได้ เว้นแต่จะมีการส่งการออกอากาศไปยังแอปนั้นๆ โดยเฉพาะ อย่างไรก็ตาม การออกอากาศบางรายการได้รับการยกเว้นจากข้อจำกัดเหล่านี้ แอปจะ ลงทะเบียน Listener สำหรับการออกอากาศต่อไปนี้ได้ต่อไป ไม่ว่าแอปจะกำหนดเป้าหมายเป็น 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

แอปผู้รับ SMS จะใช้การออกอากาศเหล่านี้