I’ve written an IME but it doesn’t receive any notification when the user clicks Send in the client app (e.g. SMS or Skype). This is annoying because if there is a typo in the last word it doesn’t get corrected.
Thanks in advance,
Barry
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
There is currently no way to do this: the InputMethodService has no callback to allow the app to unambiguously declare I’m about to use the input text. Your best bet would be to setup a timer that continuously watches for changes corrects things (or indicates that a correction is available): I’m guessing you already have that.
Even with with platform IMEs sometimes incorrectly spelled text gets sent: if you think about a keyboard in general there is no standard way to communicate back to a keyboard that its time is done. You may be able to override requestHideSelf, onWindowHidden or onFinishInput to detect that the app has explicitly asked you to go away, but you won’t be able to rely on those being used universally by all apps and the timing would be suspect in any case.