【Kotlin/Android】端末の電源ON/OFFを検知する方法!ACTION_SCREEN_ON/OFF

この記事からわかること

  • Android Studio/KotlinBroadcastReceiver実装方法
  • 端末電源ON/OFF検知する方法
  • Intent.ACTION_SCREEN_ON/ACTION_SCREEN_OFFの使い方

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

環境

端末の電源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_ONACTION_SCREEN_OFFを指定します。これで電源のON/OFFが切り替わるたびに処理を実行することができるようになります。

val filter = IntentFilter().apply {
    addAction(Intent.ACTION_SCREEN_ON)
    addAction(Intent.ACTION_SCREEN_OFF)
}
registerReceiver(ScreenReceiver(), filter)

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index