【发布时间】:2010-07-03 06:40:54
【问题描述】:
我希望能够检测到手机锁定事件。当我的应用程序运行时,如果我按下红色按钮(通话结束按钮/电源按钮),手机将被锁定并且屏幕变为空白。我希望能够检测到这个事件,有可能吗?
【问题讨论】:
标签: 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...
}
}
【讨论】:
有一个广播接收器
android.intent.action.SCREEN_ON
和
android.intent.action.SCREEN_OFF
相关:阅读 CommonsWare 的回答 Here。
【讨论】:
向 IntentFilter filter.addAction(Intent.ACTION_USER_PRESENT)注册广播
即使屏幕打开/关闭也能正常工作
【讨论】: