【Kotlin/Android】端末の電源ON/OFFを検知する方法!ACTION_SCREEN_ON/OFF
この記事からわかること
- Android Studio/KotlinでBroadcastReceiverの実装方法
- 端末の電源ON/OFFを検知する方法
- Intent.ACTION_SCREEN_ON/ACTION_SCREEN_OFFの使い方
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
端末の電源ON/OFFを検知する方法
Android/Kotlinで端末の電源ON/OFFを検知するにはBroadcastReceiver
を使用します。まずはレシーバークラスを以下のように実装します。
class ScreenReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
when (intent.action) {
Intent.ACTION_SCREEN_ON -> Log.d("ScreenReceiver", "画面 ON")
Intent.ACTION_SCREEN_OFF -> Log.d("ScreenReceiver", "画面 OFF")
}
}
}
あとはそのレシーバークラスをregisterReceiver
で登録するだけです。IntentFilter
にはACTION_SCREEN_ON
とACTION_SCREEN_OFF
を指定します。これで電源のON/OFFが切り替わるたびに処理を実行することができるようになります。
val filter = IntentFilter().apply {
addAction(Intent.ACTION_SCREEN_ON)
addAction(Intent.ACTION_SCREEN_OFF)
}
registerReceiver(ScreenReceiver(), filter)
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。