It seems this is a very old bug still unresolved.
If you touch outside the Android keyboard, it is correctly dismissed, but TouchScreenKeyboard.wasCanceled remains false, while TouchScreenKeyboard.done is set to true (this one as expected).
The correct behavior occurs if the user dismisses the keyboard by pressing the back button. In this case wasCanceled is set to true.
So, there is no way to detect if the user dismissed the keyboard by clicking outside of it (which I assume is by far the most common way to close the keyboard when you want to cancel the action).
If I build a chat for my game, Android users will get super pissed off when the text they didn’t want to submit anymore suddenly appears in the chat log after he “dismisses” the keyboard by touching outside of it.
Am I wrong?