【问题标题】:At onResume() how to identify if onPause() was called because of screen lock or app minimised在 onResume() 如何识别是否因为屏幕锁定或应用程序最小化而调用了 onPause()
【发布时间】:2017-08-15 04:12:22
【问题描述】:
我有一个绑定到 onResume 的绑定服务。在 onResume 我想检查是否因为应用程序最小化或屏幕被锁定按钮锁定而调用了之前的 onPause。
我已经尝试使用 ACTION_SCREEN_ON 和 ACTION_SCREEN_OFF 并设置一个布尔值,但问题是我在 onResume 的活页夹在接收器获取值之前被调用。
【问题讨论】:
标签:
android
android-service
android-service-binding
android-developer-api
【解决方案1】:
使用下面的code 来检测screen 是否被onPause() 方法锁定
KeyguardManager km= (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
if( km.inKeyguardRestrictedInputMode()) {
//Screen is locked
} else {
//it is not
}