2012-03-29 104 views
0

我想知道我怎么可以去访问键盘列表,你通常访问...访问键盘列表,键盘切换

设置>语言和键盘>输入法

我想要的“清单“的键盘弹出,用户可以选择它,都在我的应用程序中。

回答

2

你可以做这样的事情,以显示输入法选择器:

InputMethodManager imm = (InputMethodManager)getApplicationContext().getSystemService(INPUT_METHOD_SERVICE); 
imm.showInputMethodPicker(); 

此外,你可能想知道是否有必要显示对话框。你可以这样做:

private static final String SERVICE_NAME = "com.yourpackage.keyboard.LatinIME"; 
private static final String IME_NAME = "com.yourpackage.keyboard/.LatinIME"; 

private boolean isMyKeyboardEnabled(){ 
    List<InputMethodInfo> inputMethods = mImeManager.getEnabledInputMethodList(); 
    for(InputMethodInfo inputMethodInfo : inputMethods){ 
     if(SERVICE_NAME.equals(inputMethodInfo.getServiceName())){ 
      return true; 
     } 
    } 
    return false; 
} 

private boolean isYourKeyboardSelected(){ 
    return IME_NAME.equals(Settings.Secure.getString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD)); 
} 

在这种情况下,LatinIME是延伸InputMethodService的类的名称。

+0

非常感谢!完美的作品! – Chandler 2012-03-29 21:17:39