在 ACTION_INPUT_METHOD_SETTINGS 后 showInputMethodPicker 无法工作

问题描述

我有一个应用程序,可以在用户的​​手机上安装我们的自定义键盘。有一个教程,然后在最后一页上有几个安装步骤。按下第一个按钮时,会将用户发送到手机设置以启用我们的键盘:

    private const val CALL_KEYBOARD_SETTINGS = 1234
    .
    .
    .
    val callKeyboardSettings = Intent(Settings.ACTION_INPUT_METHOD_SETTINGS)
    startActivityForResult(callKeyboardSettings,CALL_KEYBOARD_SETTINGS)

当用户启用我们的键盘并从该设置屏幕退出时,我们返回到我的应用程序,我检测到键盘已启用(一切正常)然后我启用允许用户选择的下一个按钮我们的键盘默认:

        val imeManager =
                requireActivity().getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
        imeManager.showInputMethodPicker()

我已经记录了它,并且这些行被调用时没有错误,但是...选择弹出窗口没有出现。如果我完全退出这个屏幕,然后重新进入它,那么这些行就可以正常工作,所以这不是权限问题,也不是我的手机问题。这只是在我刚从启用键盘返回时的特定情况

有人建议推迟,所以我写道:

        val imeManager =
                requireActivity().getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
        Handler().postDelayed({imeManager.showInputMethodPicker()},500)

但这没什么区别。

有人知道这里出了什么问题吗? 谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)