From the KeyEvent docs:
As soft input methods can use multiple and inventive ways of inputting text, there is no guarantee that any key press on a soft keyboard will generate a key event: this is left to the IME's discretion, and in fact sending such events is discouraged. You should never rely on receiving KeyEvents for any key on a soft input method.
To the extent you are getting KeyEvent
s, it's against the recommendation of Google and is not supported in all versions of android going forward. That approach is certain to break on more devices as time goes on. So how do you capture characters?
One option is to use a TextWatcher.