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

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

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

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

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

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

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

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

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

การป้องกันไม่ให้เข้าสู่โหมดแอมเบียนท์

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

แอปสามารถป้องกันไม่ให้หน้าจอปิดได้โดยตั้งค่าแฟล็กใน Window ดังนี้

Kotlin

activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Java

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

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

Kotlin

activity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Java

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