7

SMS 送信アプリを開発していますが、ユーザーが使用する言語を知りたいです。では、ユーザーがメッセージを入力したときに、そのユーザーが使用する言語をどのように知ることができますか?

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 に答える