Android检测手机锁定事件

时间:2010-07-03 06:40:54

标签: android

我希望能够检测到手机锁定事件。当我的应用程序运行时,如果我按下红色按钮(呼叫结束按钮/电源按钮),手机将被锁定并且屏幕变为空白。我希望能够检测到这个事件,是否可能?

3 个答案:

答案 0 :(得分:33)

或者你可以这样做:

@Override
protected void onPause()
{
    super.onPause();

    // If the screen is off then the device has been locked
    PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
    boolean isScreenOn;
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
        isScreenOn = powerManager.isInteractive();
    } else {
        isScreenOn = powerManager.isScreenOn();
    }

    if (!isScreenOn) {

        // The screen has been locked 
        // do stuff...
    }
}

答案 1 :(得分:14)

拥有广播接收器

android.intent.action.SCREEN_ON

android.intent.action.SCREEN_OFF

相关:阅读 CommonsWare的答案 Here

答案 2 :(得分:0)

使用 IntentFilter filter.addAction(Intent.ACTION_USER_PRESENT) 注册广播

即使屏幕打开/关闭也能正常工作