Information Security Stack Exchange is a question and answer site for information security professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am new to Android. I am trying to figure out how exactly a soft keyboard on an Android device works. What exactly is the 'behind the scenes' process that takes place so that the application is allowed to receive user input and present it to other applications as keyboard input? Can any application do this, or does it involve special privileges?

My actual concern is to find out how exactly key-loggers on Android devices tap keystrokes so that I could figure out how can such an attack be mitigated. Hence I am looking for details in that respect and to that depth.

share|improve this question
up vote 2 down vote accepted

The keyboard is provided as a service that is registered with the OS. The OS then displays it when a keyboard is requested and passes the information to the application requesting it. Most keyloggers are likely registering themselves as the keyboard provider and then displaying the previously selected keyboard and recording the result. This is why newer versions of Android display a warning when registering a new keyboard provider.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.