Android检测到手机锁定事件
我希望能够检测到手机锁定事件。当我的应用程序正在运行时,如果我按下红色按钮(通话结束按钮/电源按钮),手机会被锁定并且屏幕变为空白。我希望能够检测到这个事件,这有可能吗?Android检测到手机锁定事件
或者你可以这样做:
@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...
}
}
你需要为这个应用程序清单添加一个权限? – pqn 2012-07-08 03:52:25
试过了,没有必要添加权限 – HVNSweeting 2012-07-09 01:52:05
我觉得这个只检查是否屏幕开启,不检查锁定。这可以与FLAG_KEEP_SCREEN_ON混合,因此只有在锁定屏幕时才关闭屏幕。 http://developer.android.com/reference/android/os/PowerManager.html#isScreenOn() 检查解锁是什么? (不屏幕) – HVNSweeting 2012-07-09 01:57:55
为了记录 - 锁定OFF/ON是不一样的事件作为屏幕关闭/开启。 – greenoldman 2012-10-02 17:00:36
屏幕关闭会发生,即使在屏幕掉电时打电话 – 2014-04-06 06:35:27
下面是一个例子,这不捕获锁屏:在Android 5上,如果我切换用户,操作系统进入锁屏而不关闭屏幕。 – Sam 2015-02-22 04:18:19