2012-03-29 152 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