当前未选择应用程序中的自定义键盘时,InputMethodManager.showInputMethodPicker不显



我正在用InputMethodService实现一个自定义键盘。当选择的键盘是我的自定义键盘时,从聊天头(类似于facebook messenger中的浮动小部件(服务调用showInputMethodPicker是可行的,但如果当前选择的键盘为其他键盘,例如Gboard,则输入法选择器UI不会显示,在安卓工作室的Run控制台上没有错误消息。所说的选定键盘,我指的是设置中的默认键盘。

// inside main activity, start 'chat head' service when a button in app is clicked 
startService(Intent(this@MainActivity, FloatingViewService::class.java))
// inside 'chat head' service, show picker UI when a button in expanded 'chat head' menu is clicked
val imm = getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
imm.showInputMethodPicker()

如何使showInputMethodPicker工作,即使我的自定义键盘没有选择或是不可能的?不熟悉Android,所以欢迎替代方法(如果上面的方法从一开始就是错误的(

关注这篇关于创建"聊天头"的博客文章和这篇关于如何使用showInputMethodPicker的stackoverflow文章

相关帖子,问题提到了使用postDelay,所以我目前的解决方法是:当在聊天头服务中点击按钮时,创建一个意图,使用putExtra用布尔数据启动活动,调用活动onCreate,如果布尔值为真,则在一段延迟后调用showInputMethodPicker(对我来说是500ms(,将布尔值设置为假

从服务详细信息启动活动

使用postDelayed细节的延迟

相关内容

  • 没有找到相关文章

最新更新