Можно ли открывать клавиатуру на Android без клика или события касания? Например, сразу после добавления textarea к некоторому элементу? element.focus() работает для меня на iOS, но не на Android.
Как открыть клавиатуру на Android с помощью javascript без нажатия или касания?
Ответ 1
Просто добавьте "requestFocus" в свой XML. Что-то вроде
<EditText
android:id="@+id/editText"
... />
<requestFocus />
и onCreate()
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
Или: Это может быть просто
editText.requestFocus();
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
Ответ 2
Этот ответ основан на следующем предположении: Вы используете WebView в своем приложении для Android, чтобы вставить пользовательский Javascript для достижения определенной задачи.
Сначала создайте метод в своем классе java для Android, который будет выполнять работу с клавиатурой:
@JavascriptInterface
public void takeUserInput() {
mWebView.setFocusable(true);
mWebView.setFocusableInTouchMode(true);
}
В вашем Javascript вызывается метод takeUserInput()
, когда вы хотите всплывать на клавиатуре.
Вы можете прочитать, как вызывать функции андроида из Javascript.
Надеюсь, это поможет!
Ответ 3
Вы должны убедиться, что режим мягкого ввода окна установлен на "всегда видимый", прежде чем запрашивать фокус на вашем элементе. Вы можете установить его, используя:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
После этого вы можете вызвать клавиатуру, запросив фокус на вашем элементе:
element.requestFocus();
Ответ 4
В соответствии с моим Знанием вы не можете открыть клавиатуру, не используя ввод. Попробуйте использовать следующую виртуальную клавиатуру.
Показать виртуальную клавиатуру на мобильных телефонах в javascript