检查是否因屏幕锁定而调用onPause活动状态

Zai*_*bal 1 android onpause screen-lock

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

Nic*_*las 9

您所要做的就是检查屏幕是否打开.

@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
    }
}
Run Code Online (Sandbox Code Playgroud)