OEM สามารถกำหนดค่าตัวเลือกในอุปกรณ์แบบพับได้ซึ่งช่วยให้ผู้ใช้เลือกได้ว่าหน้าจอด้านนอกจะทำงานอย่างไรเมื่อพับอุปกรณ์จากสถานะที่ปลดล็อกและกางออก
การตั้งค่านี้อยู่ในการตั้งค่า > จอแสดงผล > ใช้แอปต่อได้เมื่อพับ ผู้ใช้มีตัวเลือก 3 อย่างดังนี้
- เสมอ: เมื่อผู้ใช้พับอุปกรณ์ หน้าจอด้านหน้าจะเปิดขึ้นเสมอและยังคงปลดล็อกอยู่
- ปัดขึ้นเพื่อดำเนินการต่อ: เมื่อผู้ใช้พับอุปกรณ์ อุปกรณ์จะแสดง คีย์การ์ดโดยไม่ต้องมีการตรวจสอบสิทธิ์ เว้นแต่ว่าแอปจะถือ WakeLock ไว้ ในกรณีนี้อุปกรณ์จะยังคงทำงานในแอปต่อไป นี่คือ การตั้งค่าเริ่มต้น
- ไม่เลย: เมื่อผู้ใช้พับอุปกรณ์ อุปกรณ์จะล็อกและหน้าจอด้านหน้าจะปิด
รูปที่ 1 การตั้งค่าลักษณะการทำงานของการล็อกเมื่อพับ
กำหนดค่าการตั้งค่าลักษณะการทำงานของการล็อกเมื่อพับ
หากต้องการแสดงการตั้งค่าลักษณะการทำงานของการล็อกเมื่อพับในการตั้งค่า ให้ป้อนบูลีน
config_fold_lock_behavior ในไฟล์config.xml
การวางซ้อนของอุปกรณ์
<!-- Whether to show Fold lock behavior setting feature in Settings app -->
<bool name="config_fold_lock_behavior">true</bool>
รายละเอียดการติดตั้งใช้งาน
ลักษณะการทำงานของการล็อกเมื่อพับจะควบคุมโดยการตั้งค่าและคลาสแบ็กเอนด์หลายรายการ
การตั้งค่าและ UI
ค่าของการตั้งค่า FOLD_LOCK_BEHAVIOR จะยังคงเป็นสตริง
ซึ่งสอดคล้องกับการเลือกของผู้ใช้ในการตั้งค่า > การแสดงผล > ใช้
แอปต่อได้เมื่อพับ
- ทุกครั้ง:
stay_awake_on_fold_key - ปัดขึ้นเพื่อดำเนินการต่อ:
selective_stay_awake_key - ไม่เลย:
sleep_on_fold_key
การตั้งค่านี้เพิ่มขึ้นจาก display_settings.xml UI ของหน้าการตั้งค่า
ได้รับการติดตั้งใช้งานใน Fragment FoldLockBehaviorSettings และ
FoldLockBehaviorPreferenceController จะจัดการค่ากำหนด
ตรรกะแบ็กเอนด์
เมื่อพับอุปกรณ์ LogicalDisplayMapper และ
PowerManager จะควบคุมลักษณะการทำงานของอุปกรณ์ดังนี้
LogicalDisplayMapperอ่านค่าการตั้งค่าFOLD_LOCK_BEHAVIORโดยใช้FoldSettingProvider- โดยขึ้นอยู่กับค่าการตั้งค่า
- หากค่าเป็น
stay_awake_on_fold_keyอุปกรณ์จะยังคงเปิดอยู่ - หากค่าเป็น
selective_stay_awake_keyหรือsleep_on_fold_keyLogicalDisplayMapperจะส่งสัญญาณ#goToSleepไปยังPowerManager- สำหรับ
selective_stay_awake_keyสัญญาณ#goToSleepจะรวมถึง การแจ้งว่าไม่เหมาะสมPowerManager.GO_TO_SLEEP_FLAG_SOFT_SLEEPซึ่งจะ ทำให้อุปกรณ์แสดงหน้าจอล็อกโดยไม่ต้อง มีการตรวจสอบสิทธิ์ - สำหรับ
sleep_on_fold_keyระบบจะส่งสัญญาณ#goToSleepโดยไม่มี แฟล็กนี้ ทำให้อุปกรณ์ล็อก
- สำหรับ
- หากค่าเป็น