phonegap android:设置volumeupbutton和volumedownbutton事件,但e.preventDefault()不起作用

时间:2015-01-30 03:22:30

标签: android cordova

我在.java文件中添加了代码:

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

    return super.onKeyDown(keyCode, event);
}

我想停止音量变化事件而不是按音量键时执行某些操作:

$(document).ready(function(){
                document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);  
                document.addEventListener("volumedownbutton", volumedownbutton, false);
        });
            function onVolumeUpKeyDown(e){
                e.preventDefault();
                alert("key up pressed");

            }

            function volumedownbutton(e){
                e.preventDefault();
                alert("key down pressed");
            }

但是当我按下音量按钮时,即使显示警告信息,音量仍会改变... 请帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

文档中提到它仅支持Blackberry 10

http://docs.phonegap.com/en/4.0.0/cordova_events_events.md.html#volumeupbutton

  

支持的平台

     

BlackBerry 10

我在这个活动的列表中没有看到任何其他平台。