Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中捕获长按音量下降键?_Android - Fatal编程技术网

如何在android中捕获长按音量下降键?

如何在android中捕获长按音量下降键?,android,Android,只是想知道是否有人能告诉我如何在android中捕捉音量下降键的长按键 详细问题: 我想创建一个广播接收器,它将接收音量长的按键事件。(没有任何UI交互)。我知道搜索按钮是可能的。音量键是否可用 谢谢以下代码可能会帮助您: @Override public boolean onKeyLongPress(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) { // to your st

只是想知道是否有人能告诉我如何在android中捕捉音量下降键的长按键

详细问题:

我想创建一个广播接收器,它将接收音量长的按键事件。(没有任何UI交互)。我知道搜索按钮是可能的。音量键是否可用


谢谢

以下代码可能会帮助您:

@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
     // to your stuff here
     return true;
  }
  return super.onKeyLongPress(keyCode, event);
}

我认为,从理论上讲,它可能实现对音量按钮长按键的捕获,但这是不明智的。该过程将涉及重写onKeyLongPress()方法

至于为什么这样做是不明智的:以及


前面已经讨论过,基本上,键具有不应被覆盖的默认行为,因为可能会“破坏卷键的行为”。

请注意,要处理onKeyLongPress(),应该跟踪事件onKeyDown()。并覆盖两者。 请注意以下示例

 @Override
public boolean onKeyDown(int keyCode, KeyEvent event){
    if(keyCode==KeyEvent.KEYCODE_VOLUME_UP){
        event.startTracking();
        return true;
    }
    return super.onKeyDown(keyCode,event);
}
 @Override
public boolean onKeyLongPress(int keyCode,KeyEvent event){
    if(keyCode==KeyEvent.KEYCODE_VOLUME_UP){
        //Do your stuff here
        return true;
    }
    return onKeyLongPress(keyCode,event);
}
还要注意,onKeyDown默认返回false。因此,通过触发onKeyDown()不会增加音量。

尝试使用此命令


adb shell input keyevent--longpress KEYCODE\u VOLUME\u DOWN

我想创建一个广播接收器,它将接收VOLUME long keypress事件。(没有任何UI交互)。我知道搜索按钮是可能的。音量键是否可用-谢谢,汉克斯,能把钥匙码音量调低到广播接收机里吗?比如,我不认为这是可能的。我不知道你的具体要求是什么,但你能做的是,当你在任何活动中遇到事件时,你可以创建一个长按音量键的自定义广播,并在BL中使用它。我如何在服务中使用它?对不起,你不能在服务中使用它