gpt4 book ai didi

android - 如何在 onStop() 中检查屏幕开/关状态?

转载 作者:IT老高 更新时间:2023-10-28 22:16:19 26 4
gpt4 key购买 nike

如前所述 here ,当屏幕熄灭时,会调用当前Activity的onStop()。当我的 ActivityonStop() 被调用时,我需要检查屏幕的开/关状态。所以我为这些操作(ACTION_SCREEN_ON AND ACTION_SCREEN_OFF)注册了一个 BroadcastReceiver 来记录当前的开/关状态(它们工作正常,我已登录!)。
但是当我关闭屏幕并检查 onStop 中的开/关状态时,它说屏幕已打开。为什么?我认为接收器必须在调用 onStop 之前收到 ACTION_SCREEN_OFF ,所以有什么问题?

最佳答案

您可以尝试使用 PowerManager 系统服务来实现此目的,这里是示例和 official documentation (注意此方法是在 API 级别 7 中添加的):

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

编辑:

isScreenOn() 方法已弃用 API 级别 21。您应该使用 isInteractive 代替:

boolean isScreenOn = pm.isInteractive();

http://developer.android.com/reference/android/os/PowerManager.html#isInteractive()

关于android - 如何在 onStop() 中检查屏幕开/关状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19350258/

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