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