Menetapkan penguncian layar saat aktif

Anda dapat menyetel kunci tetap aktif untuk menjaga perangkat tetap aktif untuk sementara.

Dependensi

Aplikasi Anda harus memiliki izin WAKE_LOCK untuk menyetel kunci tetap aktif. Tambahkan izin ke manifes aplikasi Anda:

<uses-permission android:name="android.permission.WAKE_LOCK" />

Membuat dan mendapatkan kunci tetap aktif

Untuk mendapatkan kunci tetap aktif, lakukan hal berikut:

  1. Panggil PowerManager.newWakeLock() untuk membuat penguncian layar saat aktif. Tindakan ini akan membuat dan mengonfigurasi objek PowerManager.WakeLock, tetapi tidak benar-benar membuat perangkat tetap aktif.

  2. Saat Anda ingin perangkat tetap aktif, panggil metode acquire() objek penguncian layar saat aktif.

Misalnya, jika aplikasi Anda menyertakan penerima siaran yang menggunakan layanan untuk melakukan beberapa pekerjaan, Anda dapat menggunakan kode ini untuk menyetel dan mendapatkan fitur penguncian layar saat aktif:

Kotlin

val wakeLock: PowerManager.WakeLock =
    (getSystemService(Context.POWER_SERVICE) as PowerManager).run {
        newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag").apply {
            acquire()
        }
    }

Java

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag");
wakeLock.acquire();

Poin penting tentang kode ini

Saat membuat objek kunci tetap aktif, kode menggunakan nama class sebagai bagian dari tag kunci tetap aktif. Sebaiknya sertakan nama paket, class, atau metode sebagai bagian dari tag penguncian layar saat aktif. Dengan begitu, jika terjadi error, akan lebih mudah untuk menemukan kunci tetap aktif dalam kode sumber Anda. Untuk mengetahui informasi selengkapnya, lihat Beri nama penguncian layar saat aktif dengan benar.

Lihat juga