7

我开发了一个短信发送应用程序,我想知道用户使用的语言。那么,当用户键入消息时,我如何知道他/她使用的语言?

4

3 回答 3

10

使用以下方法获取输入类型管理器:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

然后,使用以下方法选择从中获得什么:

http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#getCurrentInputMethodSubtype%28%29

或: http: //developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#getLastInputMethodSubtype()

与此一起获取输入类型的语言环境:

http://developer.android.com/reference/android/view/inputmethod/InputMethodSubtype.html#getLocale()

于 2013-02-08T15:10:23.157 回答
4

您可以通过首先检测设备键盘的区域设置然后Locale从中获取对象来获取键盘语言。例如,

    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    InputMethodSubtype ims = imm.getCurrentInputMethodSubtype();
    String localeString = ims.getLocale();
    Locale locale = new Locale(localeString);
    String currentLanguage = locale.getDisplayLanguage();

在这里,currentLanguage会给你的键盘语言。希望这可以帮助。

于 2014-08-04T05:55:53.067 回答
0

无法检索当前的键盘语言。Android 不允许检索当前配置的语言,没有任何 API。

于 2013-02-08T14:56:18.090 回答