ความตั้งใจในการออกอากาศที่ลงทะเบียนอย่างชัดแจ้งนั้นจำกัดอยู่เพียงไม่กี่รายการใน Android Oreo และ ACTION_SHUTDOWN ไม่ใช่หนึ่งในนั้น หรือเปล่า
Android ใช้เจตนาในการออกอากาศเพื่อสิ่งต่างๆ มากมาย นักพัฒนาแอปสามารถฟังให้พวกเขาดำเนินการบางอย่าง เช่น เมื่อ MEDIA_MOUNTED ออกอากาศเพื่อให้แอปพลิเคชันทราบว่าเมื่อใดที่มีการติดตั้งการ์ด SD เป็นที่จัดเก็บข้อมูล ในฐานะนักพัฒนาแอป คุณสามารถตั้งโปรแกรมเครื่องรับการออกอากาศสำหรับสิ่งนี้ จากนั้นเรียกใช้ฟังก์ชันทุกครั้งที่ติดตั้งสื่อ เช่น เพื่อเปลี่ยนไดเร็กทอรีพื้นที่เก็บข้อมูลเริ่มต้นของแอปเป็นการ์ด SD สิ่งนี้คือสิ่งที่จุดประสงค์ในการออกอากาศถูกนำมาใช้ ส่วนใหญ่จะใช้เพื่อเผยแพร่เหตุการณ์ของระบบบางอย่างไปยังแอปพลิเคชันที่อาจต้องการข้อมูลนั้น เครื่องรับการออกอากาศจะต้องลงทะเบียนในไฟล์ Android Manifest หรือโดยทางโปรแกรมเมื่ออยู่เบื้องหน้า
เนื่องมาจากหน่วยความจำที่ล้นหลามเกิดจากการที่นักพัฒนาหลาย ๆ คนทำการออกอากาศทุกประเภท ผู้รับสำหรับความตั้งใจที่จะยิงบ่อยครั้ง Google จึงตัดสินใจจำกัดการเข้าถึงจุดประสงค์ในการออกอากาศเหล่านี้ส่วนใหญ่ใน Android 8.0 โอรีโอ อย่างไรก็ตาม บริษัทตระหนักดีว่ามีจุดประสงค์ในการออกอากาศที่สำคัญสองสามประการที่สามารถทำได้ ยังคงรับฟังได้เนื่องจากไม่ได้เกิดขึ้นบ่อยนักจึงมีโอกาสน้อยที่จะทำให้เกิดความทรงจำ ปัญหา. พวกเขา
เผยแพร่รายการที่อนุญาตพิเศษของการออกอากาศโดยนัย ความตั้งใจที่แอปพลิเคชัน Android ยังคงสามารถรับฟังได้โดยการลงทะเบียนเครื่องรับการออกอากาศใน Android Manifest นี่เป็นรายการที่ครอบคลุมและครอบคลุมทุกสิ่งที่คุณต้องการในฐานะนักพัฒนาแอป โดยมีข้อยกเว้นประการหนึ่งดูเหมือนว่า Google ไม่ได้แสดงรายการเจตนาออกอากาศที่แอปพลิเคชันจำนวนมากใช้ นี้เป็น ACTION_ปิดเครื่อง ความตั้งใจในการออกอากาศ เจตนานี้จะถูกส่งไปเมื่ออุปกรณ์ปิดตัวลง ซึ่งอาจมีความสำคัญมากสำหรับนักพัฒนาแอป เพื่อให้พวกเขาสามารถปิดการทำงานของแอปได้อย่างรวดเร็วก่อนที่กระบวนการจะหยุดทำงาน แม้ว่าจุดประสงค์ในการออกอากาศนี้จะไม่ปรากฏในรายการความตั้งใจและแอปพลิเคชันที่อนุญาตพิเศษก็ตาม สามารถ ในความเป็นจริงยังคงฟังผ่านเครื่องรับออกอากาศที่ลงทะเบียน Manifest ตามความมุ่งมั่น บน Android Git เพียง Google ลืมรวมไว้ในรายการ
นี่เป็นเรื่องดีที่ได้รับการอนุญาตพิเศษจริง ๆ เนื่องจาก Google ลบความสามารถออกจากแอปพลิเคชันเพื่อตรวจจับเมื่ออุปกรณ์ปิดตัวลง คงจะส่งผลเสียต่อทั้งผู้ใช้และนักพัฒนาแอป เนื่องจากบางแอปพลิเคชันจะไม่สามารถบันทึกงานได้อย่างรวดเร็วก่อนที่จะปิดอุปกรณ์ได้อีกต่อไป เราไม่แน่ใจนักว่าทำไมจุดประสงค์ในการออกอากาศจึงไม่แสดงบนหน้า Google สำหรับนักพัฒนา แต่เราได้พูดคุยกับนักพัฒนา Android ที่มีประสบการณ์ คอมมอนส์แวร์ และเขายอมรับว่าอาจเป็นข้อผิดพลาดทางเอกสารง่ายๆ ในส่วนของ Google นี่ไม่ใช่ครั้งแรกที่สิ่งนี้เกิดขึ้นตามที่เขาพูด