Aplikasi tertentu harus menjaga layar agar tetap aktif, seperti aplikasi film atau game. Beberapa Android API otomatis membuat layar tetap aktif untuk Anda. Dalam kasus lain, Anda dapat menetapkan flag untuk membuat layar tetap aktif secara manual.
Membuat layar tetap aktif secara manual
Agar layar perangkat tetap aktif, setel flag FLAG_KEEP_SCREEN_ON dalam
aktivitas Anda. Flag ini hanya dapat disetel dalam aktivitas, bukan dalam layanan atau komponen
aplikasi lainnya. Contoh:
class MainActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) } }
Cara lain untuk menjaga layar tetap aktif adalah dengan menetapkan
atribut android:keepScreenOn
dalam file XML tata letak aplikasi Anda:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:keepScreenOn="true"> ... </RelativeLayout>
Menggunakan android:keepScreenOn="true" setara dengan menggunakan
FLAG_KEEP_SCREEN_ON.
Anda dapat menggunakan pendekatan mana pun yang terbaik untuk aplikasi Anda. Keuntungan menyetel
tanda secara terprogram dalam aktivitas Anda adalah memberi Anda opsi untuk
menghapus tanda secara terprogram nanti, sehingga layar dapat
nonaktif.
Jika aplikasi dengan flag FLAG_KEEP_SCREEN_ON beralih ke latar belakang, sistem akan mengizinkan layar nonaktif secara normal. Dalam hal ini, Anda tidak perlu menghapus flag secara eksplisit. Jika aplikasi Anda tidak perlu lagi membuat layar tetap aktif,
Anda harus menghapus flag dengan memanggil
clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON).
Mode Standby untuk TV
Di perangkat TV, gunakan FLAG_KEEP_SCREEN_ON untuk mencegah perangkat masuk
ke Mode Standby selama pemutaran video aktif. Jika aktivitas latar depan
tidak menetapkan FLAG_KEEP_SCREEN_ON, perangkat akan otomatis memasuki Mode Standby
setelah tidak ada aktivitas selama beberapa waktu.