Android音量键事件捕获

时间:2012-10-15 06:10:00

标签: android cordova phonegap-plugins

我目前正在开发android ..

的应用

当用户按下Android手机

时,我如何捕获volume键事件

我正在使用电话差距 ...

3 个答案:

答案 0 :(得分:5)

使用以下代码获取关键事件

在现有的java类中使用此代码

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    //If volume down key
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
        this.loadUrl("javascript:cordova.fireDocumentEvent('volumedownbutton');");
        return true;
    } else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
        this.loadUrl("javascript:cordova.fireDocumentEvent('volumeupbutton');");
        return true;
    } else {
        //return super.onKeyDown(keyCode, event); 
    }
    //return super.onKeyDown(keyCode, event);

    return true;
}

并在您的html页面中使用以下内容

document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);  

document.addEventListener("volumedownbutton", volumedownbutton, false);

function    onVolumeUpKeyDown()
{
    alert("Working Up")     
}

function    volumedownbutton()
{
    alert("Working Down")       
}

我从这里得到了这个答案https://stackoverflow.com/questions/9770901/phonegap-event-volumeupbutton-and-volumedownbutton-is-not-working

答案 1 :(得分:2)

如Phonegap API文档中所述,以下代码仅适用于Blackberry:

document.addEventListener("volumeupbutton", yourCallbackFunction, false);
document.addEventListener("volumedownbutton", yourCallbackFunction, false);

但检查出来并没有什么害处。它可能适用于最新的Phonegap SDK

希望这有帮助!

答案 2 :(得分:0)

您可以在PhoneGap中为音量键按钮添加事件监听器,如PhoneGap文档中所述,如this

由于