android - 检查activity的onPause状态是否被锁屏调用

标签 android onpause screen-lock

如果我的应用程序正在运行并且我按下锁定屏幕按钮,它会将应用程序置于后台。检查屏幕锁定是否调用 onPause() 的方法是什么?提前致谢.

最佳答案

您所要做的就是检查屏幕是否亮起。

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

    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

    boolean screenOn;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
        screenOn = pm.isInteractive();
    } else {
        screenOn = pm.isScreenOn();
    }

    if (screenOn) {
        // Screen is still on, so do your thing here
    }
}

关于android - 检查activity的onPause状态是否被锁屏调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25691459/

相关文章:

Android textview隐藏显示切换

android - onPause() : SuperNotCalledException even if super. onPause() 在那里

c# - 如何为WebClient()设置暂停功能?

安卓 :Why the Activity is in onPause?

android - 当我的手机屏幕在 android 中关闭时无法检测到摇动事件

android - 屏幕锁定后如何停止声音

java - Android FusedLocationApi.getLastLocation 同步

javascript - 在传单中创建一个圆圈而不重新加载 WebView

android - 与滑动 RecyclerView 协调的折叠/展开 View

Android - 密码保护设备管理员禁用