Android 如何在睡眠模式下接收硬件密钥事件?

Android 如何在睡眠模式下接收硬件密钥事件?,android,hardware,key,broadcastreceiver,sleep,Android,Hardware,Key,Broadcastreceiver,Sleep,我正在写一个应用程序,允许有危险的人拨打911 这就是它的工作原理: 他(或她)感到危险 他按下音量键三次 我的应用程序拨打911 但我面临以下问题:如何在睡眠模式下接收硬键事件 我搜索过谷歌和其他搜索引擎,但找不到任何相关内容。我认为你能做到这一点的唯一方法是使用广播接收器,但当屏幕关闭时,音量按钮似乎不会产生意图(请参阅)。你能做的最接近的事情就是使用相机按钮做类似的事情 不过,也许这样更好。我想如果手机在口袋里时因为音量按钮或摄像头按钮而拨打911,会让用户感到恼火。而且,我也不希望发生这

我正在写一个应用程序,允许有危险的人拨打911

这就是它的工作原理:

  • 他(或她)感到危险
  • 他按下音量键三次
  • 我的应用程序拨打911
  • 但我面临以下问题:如何在睡眠模式下接收硬键事件


    我搜索过谷歌和其他搜索引擎,但找不到任何相关内容。

    我认为你能做到这一点的唯一方法是使用
    广播接收器,但当屏幕关闭时,音量按钮似乎不会产生意图(请参阅)。你能做的最接近的事情就是使用相机按钮做类似的事情

    不过,也许这样更好。我想如果手机在口袋里时因为音量按钮或摄像头按钮而拨打911,会让用户感到恼火。而且,我也不希望发生这种事

    public class YourBoardcastReceiver extends BroadcastReceiver {
            @Override
            public void onReceive(Context context, Intent intent) {
                    if (Intent.ACTION_CAMERA_BUTTON.equals(intent.getAction())) {
                            Intent main = new Intent();// 
                    }
            }
    }
    
    在你的舱单上:

    <receiver android:name="YourBoardcastReceiver">
                    <intent-filter>
                            <action android:name="android.intent.action.SCREEN_ON" />
                    </intent-filter>
    </receiver>
    
    
    
    谢谢您的建议。但如何在睡眠模式下接收摄像头按钮事件?我需要详细的方法,比如使用BroadcaseReceiver。。。。。。谢谢。你好,当我的手机处于睡眠模式时,我正在尝试接收音量上升和下降事件,我浏览了这个论坛中的大部分答案,没有可能或不可能的具体答案。有些安卓手机的摄像头按钮不像HTC。非常感谢您的帮助。。。我只查找设备处于睡眠状态时音量按钮的事件不客气,如果对您有效,您可以应用绿色标记Hello Reno,是否可以在睡眠模式下捕获音量上下按钮?当屏幕解锁时,我可以让它工作。非常感谢您的任何意见!!我特别喜欢在sleeep模式下为音量按钮获取事件。如果设备没有摄像头操作按钮怎么办??如果设备处于睡眠模式(或屏幕关闭模式),那么如何接收广播接收器?