繁体   English   中英

屏幕关闭时检测音量按钮按下

[英]Detect Volume Button Press when Screen off

我有一项服务,可以检测我的 Android 手机的显示屏何时打开或关闭。 关闭时,该服务会调用一个活动,该活动使用 dispatchKeyEvent 来检测何时按下了增大音量按钮。 不幸的是,当屏幕关闭时,该活动显然无法执行此操作。 (见这篇文章。)

不过,我已经注意到,某种程度的东西正在检测该事件,因为当我在屏幕关闭时按下音量增大按钮时会出现以下 LogCat 消息:“CatService:返回当前 sInstance”。 该消息似乎是特定于设备的,因为在不同的设备上,日志中会出现不同的内容,但我真的只关心第一个设备。

我对 CatService 进行了一些研究,但没有发现太多,也无法弄清楚我如何使用它,或者任何生成日志消息的东西,来检测音量增大按钮的按下情况。 我很感激任何人都可以对此有所了解。

在屏幕关闭时继续检测此类事件的唯一方法是获取一个 WakeLock,它可以让屏幕关闭,但仍然让您的应用程序正常运行。 但是,这会大大消耗电池寿命,并且只能在绝对必要时使用。

在这种情况下,您将需要一个PARTIAL_WAKE_LOCK

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM