Menetapkan penguncian layar saat aktif

Anda dapat menyetel wake lock untuk membuat perangkat tetap aktif untuk sementara.

Dependensi

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

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

Membuat dan mendapatkan kunci layar aktif

Untuk mendapatkan kunci layar aktif, lakukan hal berikut:

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

  2. Jika Anda ingin perangkat tetap aktif, panggil metode acquire() objek wake lock.

Misalnya, jika aplikasi Anda menyertakan penerima siaran yang menggunakan layanan untuk melakukan beberapa pekerjaan, Anda dapat menggunakan kode ini untuk menetapkan 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);
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
        "MyClassName::MyWakelockTag");
wakeLock.acquire();

Poin penting tentang kode ini

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

Lihat juga