Melepaskan penguncian layar saat aktif
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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()
doTheWork()
} finally {
release()
}
}
}
Java
void doSomethingAndRelease() throws MyException {
try {
wakeLock.acquire();
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 kunci 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.
Lihat juga
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-08-31 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-08-31 UTC."],[],[],null,["This page describes how to release a wake lock held by your app.\nIt's important to release a wake lock as soon as your app is\nfinished using it to avoid draining the battery.\n\nRelease an active wake lock\n\nTo release an active wake lock, call its [`release()`](/reference/android/os/PowerManager.WakeLock#release()) method. Doing so\nreleases your claim to the CPU.\n\nFor example, the following code [acquires a wake lock](/develop/background-work/background-tasks/awake/wakelock/set),\ndoes some work, then releases the wake lock:\n\n\nKotlin \n\n```kotlin\n@Throws(MyException::class)\nfun doSomethingAndRelease() {\n wakeLock.apply {\n try {\n acquire()\n doTheWork()\n } finally {\n release()\n }\n }\n}https://github.com/android/snippets/blob/f95ab59fad80aeaf5d6a90bab8a01a126f20f44e/misc/src/main/java/com/example/snippets/backgroundwork/WakeLockSnippetsKotlin.kt#L42-L52\n```\n\nJava \n\n```java\nvoid doSomethingAndRelease() throws MyException {\n try {\n wakeLock.acquire();\n doTheWork();\n } finally {\n wakeLock.release();\n }\n}https://github.com/android/snippets/blob/f95ab59fad80aeaf5d6a90bab8a01a126f20f44e/misc/src/main/java/com/example/snippets/backgroundwork/WakeLockSnippetsJava.java#L27-L34\n```\n\n\u003cbr /\u003e\n\nMake sure to release wake locks as soon as they are no longer needed. For\nexample, if you use a wake lock to allow a background task to finish, make sure\nto release the lock as soon as the task finishes.\n\nKey points about this code\n\nIn this example, the method `doTheWork()` might throw an exception. For this\nreason, the code releases the wake lock in the `finally` block, to make sure\nthe wake lock is released whether or not an exception is thrown. It's very\nimportant to make sure every wake lock you set is released, so you need to\ncheck every possible code path to make sure the wake lock isn't left active\non any of them.\n\nSee also\n\n- [Set a wake lock](/develop/background-work/background-tasks/awake/wakelock/set)"]]