Categories: Panduan

Trik Agar Aplikasi Tetap Berjalan Ketika Android Dalam Mode “Key Lock” / “Sleep”

Mungkin untuk para developer Android, pasti akan menemukan situasi dimana aplikasi yang dibuat tidak dapat berjalan ketika Android dalam situasi idle untuk waktu yang lama. Dalam rentang waktu tertentu, Android akan masuk ke mode Key Lock / Sleep yang ditandai dengan layar Android mati dan pengguna diharuskan untuk melepaskan key lock agar dapat menggunakan handphonenya kembali.

Nah, untuk aplikasi-aplikasi yang diharuskan untuk berjalan terus-menerus, seperti internet messenger, media player, atau lainnya, hal ini tentu akan sangat mengganggu. Karena ketika Android dalam mode key lock / sleep, CPU akan dinonaktifkan, sehingga program-program yang sedang berjalan otomatis akan terhenti sampai mode key lock / sleep dirubah kembali ke mode aktif. Gak lucu kan kalo misalnya apliksi yang dibuat sedang memainkan musik tiba-tiba terhenti atau tiba-tiba koneksi internet messenger terputus.

Untuk mengakalinya, salah satu caranya adalah dengan mengubah konfigurasi PowerManager di Android. Cek penjelasan official dari Google mengenai ini dengan mengklik link ini. Kita bisa mengeset flag yang digunakan untuk mengkonfigurasikan PowerManager sesuai dengan kebutuhan, berikut adalah daftar flag tersebut:

Flag CPU Screen Keyboard
PARTIAL_WAKE_LOCK On* Off Off
SCREEN_DIM_WAKE_LOCK On Dim Off
SCREEN_BRIGHT_WAKE_LOCK On Bright Off
FULL_WAKE_LOCK On Bright Bright

Perlu diperhatikan bahwa penggunaan flag-flag tersebut harus hati-hati. Contohnya untuk flag FULL_WAKE_LOCK, jika diaktifkan maka Android tidak akan terus menerus berada di mode aktif, yaitu layar tidak akan redup / mati dan CPU terus berjalan hal ini tentu akan berakibat pada besarnya penggunaan resource baterai handphone. Menurut saya untuk kasus misalnya media player atau internet messenger, PARTIAL_KEY_LOCK adalah yang paling cocok untuk digunakan karena CPU tetap aktif sehingga aplikasi tetap bisa dijalankan namun layar dan keyboard tidak dapat digunakan.

Untuk menggunakan flag tersebut juga tidaklah rumit, cukup dengan beberapa baris kode sederhana di bawah ini:

[sourcecode language=”java”]
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, “My Tag”);
wl.acquire();
..layar akan tetap menyalan dalam seksi ini..
wl.release();
[/sourcecode]

Semoga artikel ini bisa membantu para developer Android yang dipusingkan dengan aplikasi yang tiba-tiba stop ketika Android dalam mode Key Lock / Sleep seperti saya hehe…

Share
Published by
Firman Nugraha

Recent Posts

Cisco Peringkatkan Kerentanan Kritis Dalam Cisco Data Center Network Manager

Cisco mengungkapkan tiga kerentanan dalam layanannya. Ini dia penanganannya!

January 7, 2020

Optimal idM Meluncurkan OptimalCloud Partner Platform

Ini ulasan mengenai keuntungan OptimalCloud Partner Platform, platform baru milik Optimal idM!

January 6, 2020

Google Siapkan Coral Accelerator Module dan Coral Dev Board Mini untuk Tahun 2020

Google kenalkan dua koleksi baru dari Coral. Dua koleksi baru ini bakal menambah kemampuan pengembangan…

January 3, 2020

Google Kembangkan Model Kecerdasan Buatan Untuk Deteksi Kanker Payudara

Raksasa Google baru saja mengembangkan sistem pemindaian kanker payudara berbasis kecerdasan buatan. Bagaimana hasilnya, berikut…

January 3, 2020

Google Dorong Fitur Bubbles Notifications Ke Versi Stabil

Meski dikenalkan bersamaan dengan Android 10 Beta, sampai kini Bubbles Notifications masih dalam tahap pengembangan.…

December 31, 2019

Samsung Siapkan Lima Proyek dan Empat Startup C-Lab Untuk CES 2020

Samsung akan kembali memamerkan hasil program C-Lab ke ajang CES 2020. Ini dia proyek dan…

December 30, 2019