如何通过javascript在Android上打开键盘而不发生点击或触摸事件?
是否可以在Android上打开键盘而无需点击或触摸事件?例如,刚刚将textarea附加到某个元素之后?element.focus()在iOS上适用,但在Android上不适用。只需在XML中添加“requestFocus”。差不多如何通过javascript在Android上打开键盘而不发生点击或触摸事件?,javascript,android,keyboard,click,touch,Javascript,Android,Keyboard,Click,Touch,是否可以在Android上打开键盘而无需点击或触摸事件?例如,刚刚将textarea附加到某个元素之后?element.focus()在iOS上适用,但在Android上不适用。只需在XML中添加“requestFocus”。差不多 <EditText android:id="@+id/editText" ... /> <requestFocus /> 或: 可能只是 editText.requestFoc
<EditText
android:id="@+id/editText"
... />
<requestFocus />
或:
可能只是
editText.requestFocus();
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
这个答案基于以下假设: 您正在android应用程序中使用WebView插入自定义Javascript以完成特定任务 首先在Android java类中创建一个方法,该方法将完成弹出键盘的工作:
@JavascriptInterface
public void takeUserInput() {
mWebView.setFocusable(true);
mWebView.setFocusableInTouchMode(true);
}
在Javascript中,只要想弹出键盘,就可以调用takeUserInput()
方法
你可以仔细阅读如何做
希望这有帮助 在请求聚焦元素之前,必须确保窗口的软输入模式设置为“始终可见”。 您可以使用以下方法进行设置:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
之后,您可以通过请求关注元素来打开键盘:
element.requestFocus();
据我所知,不使用输入就无法打开键盘。尝试使用虚拟键盘读取以下内容
@Vixed您应该编辑问题,使其更适合您自己的问题。目前还不清楚它是用于Java中的Android原生应用程序(如当前答案所假设的),还是用于JavaScript中的混合应用程序,例如使用Cordova。请澄清您的应用程序是用Java还是混合应用程序。Webview JavaScript(jQuery)@ghybscheck this
element.requestFocus();