Android 在 Chromebook 上检测锁定解锁事件

问题描述

我想检测 Chromebook 锁定、解锁事件。我正在使用前台服务并注册广播来检测 Intent.ACTION_SCREEN_ON、Intent.ACTION_SCREEN_OFF、Intent.ACTION_USER_PRESENT。在 Chromebook 上仅获得 Intent.ACTION_SCREEN_ON、Intent.ACTION_SCREEN_OFF 广播,但未获得 Intent.ACTION_USER_PRESENT 广播。

override fun onCreate() {
        super.onCreate()
        startForeground()

        intentFilter = IntentFilter(Intent.ACTION_SCREEN_ON)
        intentFilter = IntentFilter(Intent.ACTION_USER_PRESENT)
        intentFilter.addAction(Intent.ACTION_SCREEN_OFF)


       //other code

    }

class XYZbroadcastReceiver : broadcastReceiver() {


    override fun onReceive(context: Context?,intent: Intent) {

        val action = intent.action

      
        if (Intent.ACTION_USER_PRESENT == action) {
        
        } 
        else if (Intent.ACTION_SCREEN_OFF == action) {
            
        }

        else if(Intent.ACTION_SCREEN_ON == action){
            
        }
    }

我尝试了 Android detect phone lock eventA way to get unlock event in android?Android - detect phone unlock event,not screen on 中的许多方法,但对 Chromebook 没有任何效果。 有没有其他方法可以在 Android Chromebook 上检测锁定、解锁事件?

解决方法

您所指的信息可能已过时...

从 API 级别 26 开始,您也不会在常规 Android 上收到这种隐式广播:

https://developer.android.com/guide/components/broadcast-exceptions