在 Android 中,我可以使用以下意图启动键盘和输入设置对话框:ACTION_INPUT_METHOD_SETTINGS
getPresenter().startActivity(new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS));
问题: 如何打开“拼写检查器”设置对话框(在 Jelly Bean+ 中可用)以便用户启用我的服务?
示例: 我可以从语言和输入设置中获取它:
但我想将用户直接带到这个屏幕:
在 Android 中,我可以使用以下意图启动键盘和输入设置对话框:ACTION_INPUT_METHOD_SETTINGS
getPresenter().startActivity(new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS));
问题: 如何打开“拼写检查器”设置对话框(在 Jelly Bean+ 中可用)以便用户启用我的服务?
示例: 我可以从语言和输入设置中获取它:
但我想将用户直接带到这个屏幕:
干得好:
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) {
//TODO
}
您可以通过启动 Activity 并查找 Logcat 中使用的 Intent 来查找其他 Activity 的名称。我的输出是:
I/ActivityManager( 589): START u0 {act=android.intent.action.MAIN cmp=com.android.settings/.Settings$SpellCheckersSettingsActivity} from pid 13084
对的,这是可能的..:)
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.android.settings","com.android.settings.Settings$SpellCheckersSettingsActivity"));
startActivityForResult(intent);
我们创建了一个明确的意图,我们必须启动 com.android.settings.Settings$SpellCheckersSettingsActivity 组件。对于未来参考,您可以在 eclipse 中使用 LogCat 来查找您尝试启动的任何包或组件。只需查看 ActivityManager 的启动活动消息,您就会看到任何活动的包和组件名称。