การใช้งานหน้าจอล็อกเริ่มต้นของ AOSP ที่มีความสามารถในการปลดล็อก (Keyguard) จะปรากฏบนจอแสดงผลหลักเท่านั้น ใน Android 9 (และต่ำกว่า) หน้าจอรองรองรับหน้าต่างที่ล็อกเดียวในจอแสดงผลภายนอกเพียงจอเดียว ใน Android 10 หน้าจอล็อกจะขยายไปยังจอแสดงผลรองสาธารณะทั้งหมด หน้าจอล็อกจะยังคงเรียบง่ายและไม่รองรับการปลดล็อกจากหน้าจอรอง
รูปที่ 1 หน้าจอล็อกบนจอแสดงผลรอง
ผู้ผลิตอุปกรณ์สามารถใช้หน้าจอล็อกสำหรับจอแสดงผลสำรองได้หากปฏิบัติตามข้อกำหนดพื้นฐานด้านความปลอดภัย เมื่ออุปกรณ์ล็อกอยู่ ข้อมูลควรถูกซ่อนอย่างปลอดภัยบนจอแสดงผลทั้งหมด ไม่มีนโยบายหรือการควบคุมในตัวเกี่ยวกับเนื้อหาที่ควรแสดงหรือซ่อนเมื่ออุปกรณ์ล็อกอยู่ ดังนั้น วิธีเดียวที่ปลอดภัยในการใช้การเข้าถึงที่จํากัดคือการซ่อนเนื้อหาทั้งหมดไว้เบื้องหลังหน้าจอล็อกและหน้าต่างที่ล็อก ข้อยกเว้นเพียงอย่างเดียวคือแอปที่เลือกให้แสดงที่ด้านบนของหน้าจอล็อกอย่างชัดเจนโดยใช้เมธอด R.attr.showWhenLocked
หรือ Activity.setShowWhenLocked()
มิฉะนั้น อาจมีโอกาสสูงที่จะเกิดการรั่วไหลของข้อมูลจากจอแสดงผลสาธารณะและส่วนตัว
แม้ว่าจอแสดงผลจะอยู่ในสถานะต่างๆ ได้ (ON
/OFF
) แต่สถานะ "ล็อก" จะเป็นแบบรวมสำหรับจอแสดงผลทั้งหมด เช่นเดียวกับการติดตั้งใช้งานอุปกรณ์อื่นๆ ผู้ใช้ควรทราบอย่างชัดเจนเมื่ออุปกรณ์ล็อกอยู่ (หรือปลดล็อกอยู่) เช่น การกดปุ่มเปิด/ปิดมักจะล็อกอุปกรณ์เคลื่อนที่ ปุ่มเปิด/ปิดควรล็อกหน้าจอทั้งภายในและภายนอกด้วย
เนื่องจาก SystemUI เป็นเจ้าของหน้าต่างการล็อก จึงไม่วางหน้าต่างนี้ในจอแสดงผลส่วนตัว เจ้าของจอแสดงผลส่วนตัวมีหน้าที่รับผิดชอบในการซ่อนหน้าต่างและปกป้องเนื้อหาเมื่ออุปกรณ์ล็อกอยู่ การใช้งานระบบเริ่มต้นเท่านั้นที่จะซ่อนกิจกรรมในจอแสดงผลส่วนตัวโดยการเปลี่ยนระดับการมองเห็น
การใช้งาน
หน้าต่างการล็อกบนจอแสดงผลรองจะใช้เป็นหน้าต่างการนำเสนอใน KeyguardDisplayManager
Android 10 เปลี่ยน KeyguardDisplayManager#mPresentations
เป็นอาร์เรย์ที่เก็บหน้าต่างล็อกทั้งหมดสำหรับหน้าจอรองทั้งหมด KeyguardDisplayManager
ยังมีโปรแกรมรับฟังการเปลี่ยนแปลงการแสดงผลเพื่อตอบสนองต่อการเปลี่ยนแปลงของจอแสดงผลที่ใช้ได้และรักษาความปลอดภัยให้กับหน้าจอทั้งหมด คุณควรล็อกจอแสดงผลที่เชื่อมต่อทั้งหมดทันทีในทุกๆ ครั้งเพื่อให้ผู้โจมตีไม่สามารถดึงข้อมูลผู้ใช้ได้ แม้ว่าจะมีสิทธิ์เข้าถึงอุปกรณ์ก็ตาม
หน้าต่างการล็อกจะแสดงบนจอแสดงผลรองสาธารณะทั้งหมด (ดูKeyguardDisplayManager#isKeyguardShowable()
) เจ้าของจอแสดงผลส่วนตัวมีหน้าที่รับผิดชอบในการรักษาความปลอดภัยของเนื้อหาเมื่ออุปกรณ์ล็อกอยู่