Melepaskan penguncian layar saat aktif

Halaman ini menjelaskan cara melepaskan fitur penguncian layar saat aktif yang ditahan oleh aplikasi Anda. Penting untuk melepaskan fitur penguncian layar saat aktif segera setelah aplikasi Anda selesai menggunakannya agar baterai tidak habis.

Melepaskan penguncian layar saat aktif

Untuk melepaskan penguncian layar saat aktif, panggil metode release()-nya. Dengan demikian, klaim Anda terhadap CPU akan dilepaskan.

Misalnya, kode berikut mendapatkan kunci tetap aktif, melakukan beberapa pekerjaan, lalu melepaskan kunci tetap aktif:

Kotlin

@Throws(MyException::class)
fun doSomethingAndRelease() {
    wakeLock.apply {
        try {
            acquire(WAKELOCK_TIMEOUT)
            doTheWork()
        } finally {
            release()
        }
    }
}

Java

void doSomethingAndRelease() throws MyException {
    try {
        wakeLock.acquire(WAKELOCK_TIMEOUT);
        doTheWork();
    } finally {
        wakeLock.release();
    }
}

Pastikan untuk melepaskan penguncian layar saat aktif segera setelah tidak diperlukan lagi. Misalnya, jika Anda menggunakan penguncian layar saat aktif untuk mengizinkan tugas latar belakang diselesaikan, pastikan untuk melepaskan penguncian segera setelah tugas selesai.

Poin penting tentang kode ini

  • Dalam contoh ini, metode doTheWork() dapat melontarkan pengecualian. Oleh karena itu, kode melepaskan penguncian layar saat aktif di blok finally, untuk memastikan penguncian layar saat aktif dilepaskan, baik pengecualian ditampilkan atau tidak. Sangat penting untuk memastikan setiap kunci layar saat aktif yang Anda tetapkan dilepaskan, jadi Anda perlu memeriksa setiap kemungkinan jalur kode untuk memastikan kunci layar saat aktif tidak dibiarkan aktif di salah satu jalur kode tersebut.

  • Sebaiknya dapatkan kunci tetap aktif dengan WakeLock.acquire(long timeout), yang otomatis melepaskan kunci tetap aktif setelah periode waktu tunggu yang ditentukan. Namun, Anda tetap harus melepaskan penguncian layar saat aktif secara eksplisit jika tidak diperlukan lagi, sehingga Anda tidak menahan penguncian layar saat aktif lebih lama dari yang diperlukan.

Lihat juga