Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过javascript在Android上打开键盘而不发生点击或触摸事件?_Javascript_Android_Keyboard_Click_Touch - Fatal编程技术网

如何通过javascript在Android上打开键盘而不发生点击或触摸事件?

如何通过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

是否可以在Android上打开键盘而无需点击或触摸事件?例如,刚刚将textarea附加到某个元素之后?element.focus()在iOS上适用,但在Android上不适用。

只需在XML中添加“requestFocus”。差不多

        <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();