android - 如何以编程方式打开 Android Wear 键盘?

标签 android kotlin wear-os android-wear-2.0

所以我有一个问题,如何打开用户单击 EditText 时显示的键盘。

enter image description here

我已经找到了一种打开语音识别器的方法:

        val intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH)
        intent.putExtra(
            RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM
        )
        startActivityForResult(intent, SPEECH_REQUEST_CODE)

但现在我想打开简单键盘。

已经尝试使用简单的 EditText 创建一个工作并调用 requestFocus() performClick() 来显示键盘,但没有成功。

最佳答案

好吧,在调试时进行了大量的挖掘和实验其他应用程序之后,我找到了一种打开键盘的方法。找不到自定义它的方法(inputType、imeActionType 等),但至少它可以打开。

显示键盘。

val intent = Intent("com.google.android.wearable.action.LAUNCH_KEYBOARD")
startActivityForResult(intent, REQUEST_CODE_KEYBOARD)

从用户插入的结果中获取值,或不获取。

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (resultCode == RESULT_OK) {
        when (requestCode) {
            REQUEST_CODE_KEYBOARD -> {
                val resultText: String = data?.extras?.getString("result_text") ?: ""
                sendComment(resultText)
            }
        }
    }
}

关于android - 如何以编程方式打开 Android Wear 键盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69497566/

相关文章:

android - 按下 Gridviewpager 时如何更改为另一个 Activity ?

android - 如何将旋转滚动监听器附加到 Android Wear numberPicker?

Android 文本切换器 : how to make every text stay?

android - 如果应用程序正在运行,如何检查前台服务?

android - CMake FindThreads.cmake 找不到我的 pthreads.h header

android - 上传视频时出现问题 : Stream was reset: NO_ERROR

java - 你能@Autowired一个@MessageGateway到RestController中吗

java - android canvas drawText从宽度设置字体大小?

android - 避免 Android SharedPreferences 中的默认值

android - Android Wear 上的通知有效,但数据层无效