โหมดแอมเบียนท์

โหมดแอมเบียนท์คือโปรแกรมรักษาหน้าจอที่ติดตั้งมาใน Google TV และ Android TV วัตถุประสงค์ คือการหลีกเลี่ยงการแสดงภาพนิ่งเป็นระยะเวลานาน ข้อมูลนี้สำคัญ สำหรับเทคโนโลยีจอแสดงผล เช่น OLED ซึ่งอาจเสี่ยงต่อการเกิดจอเบิร์นได้

ระบบปฏิบัติการจะตั้งค่าให้อุปกรณ์เข้าสู่โหมดแอมเบียนท์หลังจากผู้ใช้ 10 นาที การไม่ใช้งาน หลังจากผู้ใช้ไม่มีการใช้งานเป็นระยะเวลาหนึ่ง (ระบุโดยอุปกรณ์ การตั้งค่าโหมดประหยัดพลังงาน) ระบบปฏิบัติการจะเข้าสู่โหมดประหยัดพลังงาน กำลังปิดจอแสดงผล แอปเล่นสื่ออาจขัดขวางไม่ให้อุปกรณ์ ไม่ให้เข้าสู่โหมดแอมเบียนท์ แม้ว่าผู้ใช้จะไม่ได้โต้ตอบกับโหมดนั้นก็ตาม เช่น ขณะดูภาพยนตร์

หากผู้ใช้โต้ตอบกับอุปกรณ์ภายใน 30 นาทีหลังจากเข้าสู่แอมเบียนท์ โหมด แอปที่ใช้งานอยู่เมื่อเข้าสู่โหมดแอมเบียนท์จะได้รับการกู้คืน หากผู้ใช้โต้ตอบกับอุปกรณ์นานกว่า 30 นาทีหลังจากที่เข้า และกลับไปยังหน้าจอหลัก เมื่อผู้ใช้เริ่มอุปกรณ์โดยใช้ปุ่มเปิด/ปิดขณะอยู่ในโหมดพลังงาน ระบบจะนํารูปภาพเหล่านั้นไปยังหน้าจอหลัก อีกวิธีหนึ่งหากผู้ใช้ เริ่มอุปกรณ์ขณะอยู่ในโหมดประหยัดพลังงานโดยใช้ปุ่มของแอปเฉพาะ (เช่น YouTube) ระบบจะนำผู้ใช้ไปที่แอปดังกล่าวโดยตรง

หากคุณกำลังใช้ MediaSession สำหรับการเล่นสื่อ ก็จะแสดง Wake Lock บางส่วน เมื่อเริ่มเล่น การหยุดเล่นชั่วคราวจะไม่ปล่อย Wake Lock นี้ ซึ่งหมายความว่าอุปกรณ์อาจเข้าสู่โหมดแอมเบียนท์โดยอัตโนมัติ แต่จะไม่ ก็จะเข้าสู่โหมดประหยัดพลังงานในภายหลัง หากผู้ใช้โต้ตอบกับอุปกรณ์ ภายใน 30 นาทีหลังจากเข้าสู่โหมดแอมเบียนท์ แอปของคุณจะได้รับการกู้คืน

การเล่นวิดีโอ

คุณต้องป้องกันไม่ให้อุปกรณ์เข้าสู่โหมดแอมเบียนท์ในการเล่นวิดีโอ ระหว่างการเล่นที่เริ่มต้นโดยผู้ใช้ เพื่อมอบประสบการณ์การรับชมแบบไม่ขาดตอน อย่างไรก็ตาม แอปต้องไม่ ป้องกันไม่ให้อุปกรณ์เข้าสู่โหมดแอมเบียนท์เมื่อหยุดหรือหยุดชั่วคราว

การเล่นเสียง

สำหรับการเล่นเสียง แอป ไม่ควรป้องกันโหมดแอมเบียนท์ในระหว่างการเล่น เว้นแต่ผู้ใช้จะติดโปรแกรมรักษาหน้าจอของตัวเองที่มีภาพที่ไม่ใช่ภาพนิ่ง การเล่นเสียงจะดำเนินต่อไปขณะที่ใช้โหมดแอมเบียนท์

การเล่นเสียงบน Android จะระงับ Wake Lock บางส่วน การดำเนินการนี้จะไม่ได้ป้องกันไม่ให้อุปกรณ์เข้าสู่โหมดแอมเบียนท์ แต่จะ เพื่อไม่ให้มีการเปลี่ยนเป็นโหมดประหยัดพลังงานในภายหลัง ดังนั้น การเล่นจะ ดำเนินการต่อแม้อุปกรณ์จะเข้าสู่โหมดแอมเบียนท์ แต่อุปกรณ์จะ ไม่เข้าสู่โหมดสลีปเพื่อให้เล่นได้อย่างไม่ขาดตอน

การป้องกันโหมดแอมเบียนท์

อาจมีการป้องกันไม่ให้ระบบปฏิบัติการนำอุปกรณ์เข้าสู่โหมดแอมเบียนท์ได้ แต่ จะต้องนำไปใช้โดยสอดคล้องกับ ข้อกำหนดโหมดแอมเบียนท์ นักพัฒนาแอปไม่สามารถป้องกันไม่ให้อุปกรณ์เข้าสู่ โหมดประหยัดพลังงาน

แอปสามารถป้องกันไม่ให้หน้าจอปิดโดยตั้งค่าสถานะบน Window:

Kotlin

requireActivity().window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Java

requireActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

ระบบจะปิดใช้โหมดแอมเบียนท์ขณะตั้งค่าธงนี้ หากต้องการเปิดใช้อีกครั้ง คุณต้อง ล้างค่าสถานะ:

Kotlin

requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Java

requireActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);