java - 有没有办法在 Android 设备上同时使用两个外部音量键来获得第三个独特的输出?

标签 java android android-studio

我正在创建一个计数应用程序,它使用外部音量键进行向上和向下计数。但我想使用同时按下的两个键来获得第三个独特的输出,例如作为重置按钮。有办法做到这一点吗?

谢谢

最佳答案

在您的 Activity 中。尝试以下代码来调高音量 + 调低音量。您可以减少 PRESS_INTERVAL 以获得像同时按下两个按钮一样的效果。希望这有帮助!

private static final int PRESS_INTERVAL = 500;
private long mUpKeyEventTime = 0;
public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (KeyEvent.KEYCODE_VOLUME_DOWN== event.getKeyCode()) {            
            if ((event.getEventTime() - mUpKeyEventTime) < PRESS_INTERVAL) {
                // This is to check if Volume UP key and Volume DOWN key are pressed at the same time.
                // Do the Task. Here You can add logic to do whatever you like
            }
            return true;
        } else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    public boolean onKeyUp(int keyCode, KeyEvent event) {
        if(KeyEvent.KEYCODE_VOLUME_UP == keyCode){
            mUpKeyEventTime = event.getEventTime();
        }
        return super.onKeyUp(keyCode, event);
    }

关于java - 有没有办法在 Android 设备上同时使用两个外部音量键来获得第三个独特的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58926505/

相关文章:

java - Maven surefire environmentVariables 在一台机器上不起作用

java - Java 应用程序的数据库

java - 是否有可能创建一种可以是不同事物的新变量?

java - 为什么 Kotlin 接受声明为不可为空字符串的属性中的 null 值?

java - 处理从可检查菜单中选择的项目

android - 是否可以从命令行使用 Android Studio 的反编译器?

java - 我的 SOA 项目使用哪些工具?

android - Android 的无限服务器请求?

android - 防止用户操纵将存储在 Android 本地数据库中的时间?

android - 错误 : Failed to resolve: com. google.firebase :firebase-crash:17. 2.2