android - 检测应用程序何时保持屏幕开启

标签 android wakelock

我正在编写一个主要通过状态栏通知与用户交流的 Android 应用程序。但是,如果用户没有真正直接与他们的手机交互,我希望不要打扰用户。例如,如果用户正在使用导航应用程序或正在看电影。我认为所有(或大多数)此类应用程序之间的共同点是它们会保持屏幕打开。我相信应用程序可以通过使用 WakeLock 或通过在其 Activity 中指定 keepScreenOn 参数来保持屏幕打开,可能还有其他方法。

我想知道,在我要显示通知之前,我是否可以检查另一个应用程序是否正在保持屏幕打开,这样我就可以避免打扰用户。我想涵盖所有选项。我可以看到 WakeLock 有一个 isHeld() 方法,但是它会检测到其他方法吗?

谢谢,

最佳答案

我认为你能得到的最好的是PowerManager.isScreenOn();

关于android - 检测应用程序何时保持屏幕开启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7728229/

相关文章:

android - 如何从 gradle 插件将文件夹添加到 android 项目源集中

android - 由于 'Process crashed.',检测运行失败

Android加速度计采样率统计

android - 3.0内核中的wakelock核心代码和接口(interface)与3.7/3.8有何区别?

Android - 唤醒锁未正确获取,应用程序需要在待机状态下保持运行

android - android中OnResume后Listview为空

java - 无法调用 Product.class 的无参数构造函数

Android:使用闹钟唤醒设备

java - 唤醒锁和暂停的应用程序

android - 在 Qt/QML 中,如何为不同的设备密度加载不同的图像 (Android)