Android - 如何防止按下音量或相机键时手机屏幕打开?

Posted

技术标签:

【中文标题】Android - 如何防止按下音量或相机键时手机屏幕打开?【英文标题】:Android - How to prevent the phone screen from turning on when volume or camera key is pressed? 【发布时间】:2011-02-28 05:48:13 【问题描述】:

我有一个活动,当手机屏幕进入睡眠状态/关闭(即变黑)时显示。 出于某种原因,按下音量按钮或相机按钮时手机会打开。开启是指屏幕唤醒或从黑屏状态恢复。

我已经尝试使用 dispatchKeyEvent(KeyEvent event) 并且按钮在 Activity 上被禁用,但它们仍然会唤醒手机。

【问题讨论】:

我的问题是:您正在做什么类型的应用程序,您不希望它在按下这些按钮时唤醒? 您在什么设备上遇到这些症状? 摩托罗拉机器人,默认情况下这些按钮不会唤醒手机 它也发生在我的 nexus 上 【参考方案1】:

您可以尝试覆盖 onKeyDown(KeyEvent) 方法并更改这些键发生的情况。但是,我不太乐观,因为如果您正在运行一项活动,当显示屏关闭时它将处于非活动状态,也可能是手机硬连线以唤醒这些按钮。它可能是特定于设备的。很难说。试试看,让我知道结果如何,我很好奇

【讨论】:

我试过了,但没有用。那么,有没有其他方法可以覆盖用音量和相机键唤醒手机呢? 我不确定,据我所知你必须覆盖操作系统本身。你到底想做什么?我的意思是,如果您阻止手机在单击按钮时唤醒,那不会永远锁定手机吗?对我来说听起来是个坏主意。 嗯,手机通常只有在按下手机顶部的按钮时才会开机。现在,手机通过音量、相机和输入按钮“唤醒”(用于滚动和选择内容的按钮)。我试图弄清楚如何回到默认行为。我也没有做任何事情来启用这些按钮。 这可能是系统更新的一部分,但您需要记住,并非所有手机都具有相同的按钮和功能。我使用 HTC Droid Eris,对我来说,它只有在我按下结束按钮时才会唤醒(顶部没有“按钮”)。所以最终我建议你不要尝试覆盖这些功能,因为你不知道它会对其他手机做什么。

以上是关于Android - 如何防止按下音量或相机键时手机屏幕打开?的主要内容,如果未能解决你的问题,请参考以下文章

在后台服务中拦截 Android 蓝牙相机快门

如何在 Android 应用程序后台监听音量键事件?

如何防止在 JavaFX 中按下 SPACE 键时关闭 AutoCompleteCombobox 弹出菜单

屏幕关闭时识别音量按钮按下 Android

如何防止 onPause() 之后调用 onDestroy()?

防止应用程序/屏幕超时Android