PhoneGap Event volumeupbutton and volumedownbutton is not working

前端 未结 1 1644
星月不相逢
星月不相逢 2021-01-12 23:07

I am using PhoneGap Api 1.4.1 and also I tried with 1.5.0, The PhoneGap Event volumeupbutton and volumedownbutton is not working, neither it works on android device nor it

相关标签:
1条回答
  • 2021-01-12 23:54

    You can do the following, to get the volume button running with android:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    
        //If volumedown 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;
    }
    
    @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        LOG.d(TAG, "KeyUp has been triggered on the view" + keyCode);
        // If back key
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            this.loadUrl("javascript:cordova.fireDocumentEvent('backbutton');");
            return true;
        }
        // Legacy
        else if (keyCode == KeyEvent.KEYCODE_MENU) {
            this.loadUrl("javascript:cordova.fireDocumentEvent('menubutton');");
            return true;
        }
        // If search key
        else if (keyCode == KeyEvent.KEYCODE_SEARCH) {
            this.loadUrl("javascript:cordova.fireDocumentEvent('searchbutton');");
            return true;
        }
        return false;
    }
    

    I copied this code from a cordova bug report. This code is valid for cordova 2.0. I thin you'll have to change "cordova.fireDocumentEvent" to "phonegap.fireDocument" or "PhoneGap.fireDocumentEvent"

    update: Just wrote a small blog-post about the bug, that was solved by the code above. The link to the Cordova-Issue-Tracker can be found in that post: http://christian-kuetbach.de/blog/post/13

    update 2: The Issue seems to be fixed within cordova 1.9: https://issues.apache.org/jira/browse/CB-871

    Hope this helps.

    0 讨论(0)
提交回复
热议问题