如果用户未能通过其设置(语言和输入 - > Google语音输入)启用Google语音输入,则需要向用户显示提醒。有没有办法检测设置状态?
答案 0 :(得分:1)
所以我找到了答案。没有正式的方法来检测是否启用了语音输入。我已设法获得启用的输入方法列表(键盘,语音等)。
String enabledMethods = Settings.Secure.getString(getActivity().getContentResolver(),Settings.Secure.ENABLED_INPUT_METHODS);
我们可以看到是否启用了Google语音输入,我们可以提醒用户将其打开,但这适用于默认键盘。有些用户使用自定义键盘,这些键盘具有自己的语音到文本实现,并且它不依赖于Google语音输入的用户设置。所以这对他们来说是误报。
答案 1 :(得分:0)
鉴于你知道IME的包名,你可以这样做:
boolean isImeEnabled(String packageName) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
for (InputMethodInfo imi : imm.getEnabledInputMethodList()) {
if (imi.getPackageName().equals(packageName)) {
return true;
}
}
return false;
}