首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在setInputMethod类中使用InputMethodManager

如何在setInputMethod类中使用InputMethodManager
EN

Stack Overflow用户
提问于 2016-06-22 03:49:26
回答 1查看 1.3K关注 0票数 1

鉴于以下代码:

代码语言:javascript
复制
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
List<InputMethodInfo> inputMethods = imm.getEnabledInputMethodList();
for(InputMethodInfo method : inputMethods){
    String name = method.loadLabel(activity.getPackageManager()).toString();
    new InfoDialog(activity,name).show();
    //imm.setInputMethod(token, id);
}

我的设备上安装了两种输入法、三星键盘、,谷歌手写输入。我想要做的是在这两个键盘之间切换,使用setInputMethod

示例:

代码语言:javascript
复制
imm.setInputMethod(<Samsung Keyboard>);

代码语言:javascript
复制
imm.setInputMethod(<Google Handwriting Input>);

怎么做?知道吗?

EN

回答 1

Stack Overflow用户

发布于 2016-06-22 04:51:10

不可能被动地更改它,而是提示用户这样做。

代码语言:javascript
复制
InputMethodManager imeManager = (InputMethodManager) getApplicationContext().getSystemService(INPUT_METHOD_SERVICE);
imeManager.showInputMethodPicker();

但是,如果您拥有系统特权,则可以将其更改如下:

代码语言:javascript
复制
Settings.Secure.putString(resolver, Settings.Secure.ENABLED_INPUT_METHODS, "com.package.to.keyboard/.full.path");
Settings.Secure.putString(resolver, Settings.Secure.DEFAULT_INPUT_METHOD, "com.package.to.keyboard/.full.path");
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37958223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档