获取当前的软键盘语言环境

Getting the current soft keyboard locale

我无法获取当前的软键盘语言环境。

我试过

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

InputMethodSubtype ims = imm.getCurrentInputMethodSubtype();

String locale = ims.getLocale();
String tag = ims.getLanguageTag();

这总是 returns 一个空字符串。 getNameResId() 总是 returns 相同的值。 有没有其他方法可以获取软键盘的语言环境?

如果您指的是键盘实际显示的语言,则不能。这与系统区域设置无关,并且没有 API 来检索它。

整个 InputMethodSubtype 基本上没有在任何地方使用。即使是,它也不会提供完整的语言环境或语言(它是为了区分日语、中文等。不是使用相同键盘的英语和西班牙语)。