Android notification of screen off/on

前端 未结 3 377
别那么骄傲
别那么骄傲 2020-12-10 02:17

I\'m looking to see if there\'s a system notification I can listen for to see when the screen turns off/on. Any thoughts? Something similar to when the network connects/di

相关标签:
3条回答
  • 2020-12-10 02:40

    Easiest way is to put this in your MyApplication.onCreate() method:

    IntentFilter intentFilter = new IntentFilter(Intent.ACTION_SCREEN_ON);
    intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
    registerReceiver(new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
                Log.d(TAG, Intent.ACTION_SCREEN_OFF);
            } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
                Log.d(TAG, Intent.ACTION_SCREEN_ON);
            }
        }
    }, intentFilter);
    
    0 讨论(0)
  • 2020-12-10 02:41

    The system will broadcast when the screen turns on and off -

    In order to listen for these, you can create a BroadcastReceiver that listens for the events:

    Intent.ACTION_SCREEN_OFF
    Intent.ACTION_SCREEN_ON
    

    They're listed in the documentation here:

    Also, there's a tutorial about responding to these events that you might find useful.

    0 讨论(0)
  • 2020-12-10 02:45

    For anyone looking for Kotlin equivalent code to the top answer , this worked for me:

    val intentFilter = IntentFilter(Intent.ACTION_SCREEN_ON)
    intentFilter.addAction(Intent.ACTION_SCREEN_OFF)
    registerReceiver(object: BroadcastReceiver() {
        override fun onReceive(context:Context, intent:Intent) {
            if (intent.action == Intent.ACTION_SCREEN_OFF) {
                Log.d(TAG, Intent.ACTION_SCREEN_OFF)
            }
            else if (intent.action == Intent.ACTION_SCREEN_ON) {
                 Log.d(TAG, Intent.ACTION_SCREEN_ON)
            }
        }
    }, intentFilter)
    

    (the auto Kotlin conversion in Android Studio didn't work for me, so I quickly rewrote the snippet - hopefully it saves someone else that extra minute or two)

    0 讨论(0)
提交回复
热议问题