[ https://issues.apache.org/jira/browse/CB-7307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Keith Wong updated CB-7307: --------------------------- Affects Version/s: (was: 2.1.0) 3.5.0 Fix Version/s: (was: 2.4.0) > On Android 4.1 events are only sent on every second menu button press (Cloned) > ------------------------------------------------------------------------------ > > Key: CB-7307 > URL: https://issues.apache.org/jira/browse/CB-7307 > Project: Apache Cordova > Issue Type: Bug > Components: Android > Affects Versions: 3.5.0 > Reporter: Keith Wong > Assignee: Joe Bowser > Priority: Minor > > I have the same problem in with Cordova 3.5.0 on Android 4.4.2 emulator and > Galaxy S3 4.1.2. After investigation, the problem should be in the program > CordovaWebView.java. > {code:title=CordovaWebView.java|borderStyle=solid} > @Override > public boolean onKeyUp(int keyCode, KeyEvent event) > { > ... > // Legacy > else if (keyCode == KeyEvent.KEYCODE_MENU) { > if (this.lastMenuEventTime < event.getEventTime()) { > > this.loadUrl("javascript:cordova.fireDocumentEvent('menubutton');"); > } > this.lastMenuEventTime = event.getEventTime(); > return super.onKeyUp(keyCode, event); // <== Problem Line > } > // If search key > else if (keyCode == KeyEvent.KEYCODE_SEARCH) { > > this.loadUrl("javascript:cordova.fireDocumentEvent('searchbutton');"); > return true; > } > ... > {code} > When it is changed as follows, it works fine. > {code:title=CordovaWebView.java|borderStyle=solid} > // Legacy > else if (keyCode == KeyEvent.KEYCODE_MENU) { > if (this.lastMenuEventTime < event.getEventTime()) { > > this.loadUrl("javascript:cordova.fireDocumentEvent('menubutton');"); > } > this.lastMenuEventTime = event.getEventTime(); > return true; // <== Changed as > } > {code} > I think the problem is calling the super.onKeyUp() method and it throws a > RuntimeException actually. But at this point, the event is "handled", there > is no reason to delegate the control to the parent class. Referring to a > similar case below for the search button, it just returns true when the > javascript event handler is executed. -- This message was sent by Atlassian JIRA (v6.2#6252)