Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Layar kunci
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Implementasi default Layar kunci AOSP dengan kemampuan untuk membuka kuncinya (pelindung kunci) hanya muncul di layar utama. Di Android 9 (dan yang lebih lama),
layar sekunder mendukung satu jendela penguncian di satu layar
eksternal. Di Android 10, Layar kunci diperluas ke semua tampilan sekunder
publik. Layar Kunci tetap sederhana dan tidak mendukung pembukaan kunci dari layar
sekunder.

Gambar 1. Layar kunci di layar sekunder
Produsen perangkat dapat menerapkan Kunci layar untuk layar sekunder,
asalkan persyaratan keamanan dasar terpenuhi. Saat perangkat
terkunci, informasi harus disembunyikan dengan aman di semua layar. Tidak ada
kebijakan atau kontrol bawaan terkait konten yang harus ditampilkan atau disembunyikan saat perangkat
terkunci. Oleh karena itu, satu-satunya cara aman untuk menerapkan akses terbatas adalah dengan
menyembunyikan semua konten di balik Layar kunci dan jendela penguncian. Satu-satunya pengecualian
adalah aplikasi yang secara eksplisit memilih untuk ditampilkan di atas Layar kunci
menggunakan
metode R.attr.showWhenLocked
atau
Activity.setShowWhenLocked()
.
Jika tidak, ada potensi besar untuk membocorkan informasi dari layar publik dan
pribadi.
Meskipun layar dapat ditempatkan dalam status yang berbeda (ON
/OFF
),
status terkunci bersifat global untuk semua layar. Seperti penerapan perangkat lainnya, hal ini harus
jelas bagi pengguna saat perangkat terkunci (atau tidak terkunci). Misalnya, menekan
tombol daya biasanya akan mengunci perangkat seluler. Tombol daya juga harus mengunci semua
layar internal dan eksternal.
Karena jendela penguncian dimiliki oleh SystemUI, jendela tersebut tidak akan ditempatkan di
layar pribadi. Pemilik layar pribadi bertanggung jawab untuk menyembunyikan
jendela dan melindungi konten saat perangkat terkunci. Implementasi sistem
default hanya menyembunyikan aktivitas di layar pribadi dengan mengubah
visibilitas.
Implementasi
Jendela penguncian di layar sekunder diimplementasikan sebagai jendela Presentasi
di KeyguardDisplayManager
. Android 10 mengubah
KeyguardDisplayManager#mPresentations
menjadi array yang menyimpan semua
jendela penguncian untuk semua layar sekunder. KeyguardDisplayManager
juga
memiliki pemroses perubahan tampilan untuk merespons perubahan pada tampilan yang tersedia dan
mengamankan semua layar. Segera kunci semua layar yang terhubung pada
waktu tertentu agar penyerang tidak dapat mengekstrak data pengguna meskipun memiliki akses fisik
ke perangkat.
Jendela penguncian ditampilkan di semua layar sekunder publik (lihat
KeyguardDisplayManager#isKeyguardShowable()
). Pemilik layar
pribadi bertanggung jawab untuk mengamankan konten saat perangkat
terkunci.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Lock screen\n\nAOSP's default implementation of the Lock screen with affordances to unlock\nit (keyguard) appears only on the primary display. In Android 9 (and lower),\nsecondary screens supported a single *locking window* on a single external\ndisplay. In Android 10, the Lock screen is expanded to all public secondary\ndisplays. The Lock screen remains simple and doesn't support unlocking from secondary\nscreens.\n\n**Figure 1.** Lock screen on secondary display\n\nDevice manufacturers can implement their Lock screen for secondary displays,\nprovided the fundamental security requirement is fulfilled. When the device is\nlocked, information should be securely concealed on all displays. There's no\nbuilt-in policy or control over what content should be shown or hidden when device\nis locked. Therefore, the only secure way of implementing restricted access is to\nhide all content behind the Lock screen and locking windows. The only exceptions\nare apps that have explicitly opted in to be displayed on top of the Lock screen\nusing the\n[R.attr.showWhenLocked](https://developer.android.com/reference/android/R.attr.html#showWhenLocked) or\n[Activity.setShowWhenLocked()](https://developer.android.com/reference/android/app/Activity.html#setShowWhenLocked(boolean)) methods.\nOtherwise, there is strong potential to leak information from public and private\ndisplays.\n\nWhile displays can be placed in to different states (`ON`/`OFF`),\nthe locked state is global for all displays. As with any device implementation, it should\nbe obvious to a user when a device is locked (or unlocked). For example, pressing\na power button typically locks a mobile device. A power button should also lock all\ninternal and external screens.\n\nBecause the locking window is owned by SystemUI, it won't be placed on\nprivate displays. Owners of the private displays are responsible for hiding\nthe windows and protecting content when a device is locked. The default system\nimplementation *only* hides activities on private displays by changing\nvisibility.\n\nImplementation\n--------------\n\nThe locking window on secondary displays is implemented as a [Presentation](https://developer.android.com/reference/android/app/Presentation)\nwindow in `KeyguardDisplayManager`. Android 10 changed\n`KeyguardDisplayManager#mPresentations` to an array that holds all\nlocking windows for all secondary screens. `KeyguardDisplayManager` also\nhas a display-change listener to respond to changes to the available displays and\nsecure all screens. It's important to immediately lock all connected displays at\nany given time so that attackers can't extract user data even with physical access\nto the device.\n\nThe locking window is displayed on all public secondary displays (see\n`KeyguardDisplayManager#isKeyguardShowable()`). Owners of private\ndisplays are responsible for securing the content when a device is\nlocked."]]