Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-9005

Can no longer use setOnKeyListener on webView in plugins

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 4.0.0
    • None
    • cordova-android
    • None

    Description

      I have a plugin that is used for handling "physical" key down/up events on Android devices with additional buttons - these buttons typically fire off KEYCODE_BUTTON_R1, etc

      In earlier versions of Cordova (3.7.0?) I was able to attach a keyListener in the plugin by doing:

      this.webView.setOnKeyListener(etc);

      In migrating to 4.0.0 this no longer compiles.

      My initial thought was to change to using this.webView.getView().setOnKeyListener instead (which appears to be the right way to do it), but this doesn't seem to fully work - my plugin still gets volume up/down key events (which I disregard), but not events for BUTTON_R1.

      Debugging CordovaLib suggests that CordovaWebViewImpl.onDispatchKeyEvent does receive the BUTTON_R1 events, but I'm at a loss as to how to get them into the plugin itself.

      Is there a workaround or alternate API I should be using?

      Thanks,

      Attachments

        Activity

          People

            bowserj Joey Robert Bowser
            Ian Darling Ian Darling
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: