ล็อกหน้าจอ

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

รูปที่ 1. หน้าจอล็อคบนจอแสดงผลรอง

ผู้ผลิตอุปกรณ์สามารถใช้หน้าจอล็อคของตนกับจอแสดงผลรองได้ โดยต้องปฏิบัติตามข้อกำหนดด้านความปลอดภัยขั้นพื้นฐาน เมื่ออุปกรณ์ถูกล็อค ข้อมูลควรถูกปกปิดอย่างปลอดภัยบนจอแสดงผลทั้งหมด ไม่มีนโยบายหรือการควบคุมเนื้อหาที่ควรแสดงหรือซ่อนเมื่ออุปกรณ์ถูกล็อค ดังนั้น วิธีเดียวที่ปลอดภัยในการดำเนินการจำกัดการเข้าถึงคือการซ่อนเนื้อหาทั้งหมดหลังหน้าจอล็อคและหน้าต่างล็อค ข้อยกเว้นเพียงอย่างเดียวคือแอพที่เลือกอย่างชัดเจนให้แสดงที่ด้านบนของหน้าจอล็อคโดยใช้วิธี R.attr.showWhenLocked หรือ Activity.setShowWhenLocked() มิฉะนั้น อาจมีโอกาสรั่วไหลข้อมูลจากการแสดงสาธารณะและส่วนตัวได้

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

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

การนำไปปฏิบัติ

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

หน้าต่างล็อคจะแสดงบนจอแสดงผลรองสาธารณะทั้งหมด (ดู KeyguardDisplayManager#isKeyguardShowable() ) เจ้าของจอแสดงผลส่วนตัวมีหน้าที่รับผิดชอบในการรักษาความปลอดภัยเนื้อหาเมื่ออุปกรณ์ถูกล็อค