My function, run from the onResume() does not cause the keyboard to appear.
Am I doing it wrong?
private void showKeyboard() {
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.showSoftInput(txtSearch, InputMethodManager.SHOW_FORCED);
txtSearch.requestFocus();}
The soft keyboard can be tricky sometimes. I belive the last line,
txtSearch.requestFocus()
is unnecessary, and could actually be screwing things up. By telling the keyboard to SHOW_FORCED on txtSearch you are already telling it to have focus.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); may help you. Note that there are Android devices with hardware-keyboards out there. e.G. GoogleTV devices often have no touchscreen but a hardware-keyboard. Some are even emulating the touchscreen.
This is relevant if you are developing in an emulator:
http://plainoldstan.blogspot.com/2010/09/android-set-focus-and-show-soft.html
"When experimenting I was not actually getting what I wanted until I realized I should have an emulator device with no hardware keyboard:"