Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to completely disable soft keyboard for all input in Android webview

I am using phonegap to develop a web app for Android, and since I will have my own keypad in HTML, I need to disable android's system keyboard, preventing the it from showing up when the user clicks on any text input field. I don't want to use readonly input field or onblur() since I would like to have the cursor in the text filed so user can move the cursor position while they're entering inputs.

So I want to completely disable Android's keyboard on default, I tried adding android:windowSoftInputMode="stateAlwaysHidden" to manifest.xml but this does not work.

I also try use a javascript interface from here, but there was a javascript-java bridge crash issue on Android 2.3.x.(link to issue). So I still don't have a good solution now. Please help.

Thank in advance for any help.

like image 314
kli Avatar asked Jul 23 '12 05:07

kli


People also ask

What is soft keyboard in Android?

The Android system shows an on-screen keyboard—known as a soft input method—when a text field in your UI receives focus.


1 Answers

Okay, you've got a few options! You can try to disable the keyboard completely using:

  • getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

    • If you choose this way, be sure to return the settings to normal if that's not done automatically. I haven't used this before and couldn't tell you how it behaves, but keep that in mind! You don't want a user to reply to a text they receive while using your app only to have their keyboard disabled :)


  • You could use something similar to the following link. I haven't dug through it very thoroughly (tl;dr) but he creates a custom view that extends from android.inputmethodservice.KeyboardView and uses that instead.

    • https://stackoverflow.com/a/1947370/1183256


  • Lastly (I'm not sure how much this would differentiate from the first one) you could create your own IME.

    • How to develop a soft keyboard for Android?
    • http://developer.android.com/guide/topics/text/creating-input-method.html
like image 61
starscream_disco_party Avatar answered Sep 21 '22 13:09

starscream_disco_party