问题
I am currently developing an app for android..
how i can capture the volume key event when user press in android phone
i am using phone gap...
回答1:
Use the below code to get the key event
Use this code in your existing java class
@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;
}
and using this below in your html page
document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);
document.addEventListener("volumedownbutton", volumedownbutton, false);
function onVolumeUpKeyDown()
{
alert("Working Up")
}
function volumedownbutton()
{
alert("Working Down")
}
I Got This Answer From Here https://stackoverflow.com/questions/9770901/phonegap-event-volumeupbutton-and-volumedownbutton-is-not-working
回答2:
As mentioned in Phonegap API Docs, This following code works only in Blackberry:
document.addEventListener("volumeupbutton", yourCallbackFunction, false);
document.addEventListener("volumedownbutton", yourCallbackFunction, false);
But there's nothing harm in checking it out. It might work with the latest Phonegap SDK
hope this helps!
回答3:
You can add events listener in the PhoneGap for volume key buttons as described in the PhoneGap Documentation like this
Thanks
来源:https://stackoverflow.com/questions/12890170/android-volume-key-event-capture