gpt4 book ai didi

android - 获取屏幕是否打开/关闭以及应用程序是否处于后台/前台

转载 作者:行者123 更新时间:2023-11-29 14:19:35 32 4
gpt4 key购买 nike

我决定在一个帖子中发布两个问题,因为这是完全相同的问题。

我需要知道屏幕何时打开或关闭,以便我可以打开 LED。第二个我需要知道我的应用程序是在后台还是在前台,以便在应用程序处于后台时管理在某些操作上发送通知。

最佳答案

添加屏幕开/关检查的答案:

// If you use API20 or more:
DisplayManager dm = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
for (Display display : dm.getDisplays()) {
if (display.getState() != Display.STATE_OFF) {
return true;
}
}
return false;

// If you use less than API20:
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
if (powerManager.isScreenOn()){ return true; }

请注意,Display.getState() 还可以返回 STATE_DOZESTATE_DOZE_SUSPEND,这意味着屏幕以特殊方式打开。有关 Display.getState() 及其返回值的更多信息,请参见:http://developer.android.com/reference/android/view/Display.html#getState()

另请注意,虽然官方文档建议使用isInteractive()而不是isScreenOn(),但如果您真的想知道屏幕的状态,Display .getState() 是一个更好的选择,因为在设备不交互时设置屏幕的“特殊”条件。

关于android - 获取屏幕是否打开/关闭以及应用程序是否处于后台/前台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6305563/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com