Menyetel dan mengelola penguncian layar saat aktif

Jika Anda perlu menjaga perangkat tetap berjalan untuk menyelesaikan beberapa pekerjaan sebelum perangkat beralih ke status penangguhan, Anda dapat menggunakan fitur layanan sistem PowerManager yang disebut penguncian layar saat aktif. Fitur penguncian layar saat aktif memungkinkan aplikasi mengontrol status daya perangkat.

Menetapkan penguncian layar saat aktif

Untuk menggunakan fitur penguncian layar saat aktif, langkah pertama adalah menambahkan izin WAKE_LOCK ke file manifes aplikasi Anda:

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

Jika aplikasi Anda menyertakan penerima siaran yang menggunakan layanan untuk melakukan beberapa pekerjaan, berikut cara menyetel fitur penguncian layar saat aktif secara langsung:

Kotlin

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

Java

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

Melepaskan penguncian layar saat aktif

Untuk melepaskan penguncian layar saat aktif, panggil wakelock.release(). Tindakan ini akan melepaskan klaim Anda terhadap CPU. Penting untuk melepaskan fitur penguncian layar saat aktif segera setelah aplikasi selesai menggunakannya agar baterai tidak habis.

Lihat juga