我在Android应用中使用拼写检查器。如果在语言和输入设置中关闭,则应用程序崩溃。需要启动才能让App正常运行。
有没有办法在使用之前我可以检查以确认拼写检查器是打开还是直接从代码打开?
答案 0 :(得分:3)
您只需检查SpellCheckerSession
null
的实例,然后相应地决定Spellchecker
是否开启:
代码段:
final TextServicesManager tsm = (TextServicesManager) getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE);
scs = tsm.newSpellCheckerSession(null, null, this, true);
if (scs != null) {
scs.getSuggestions(new TextInfo(text.getText().toString()), 3);
} else {
// Show the message to user
Toast.makeText(this, "Please turn on the spell checker from setting", Toast.LENGTH_LONG).show();
// You can even open the settings page for user to turn it ON
ComponentName componentToLaunch = new ComponentName("com.android.settings",
"com.android.settings.Settings$SpellCheckersSettingsActivity");
Intent intent = new Intent();
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(componentToLaunch);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
this.startActivity(intent);
} catch (ActivityNotFoundException e) {
// Error
}
}
希望它有助于ツ