如何在 Android 中启动我的应用程序的辅助功能设置页面?
How can I start the Accessibility Settings Page of my APP in Android?
我正在开发一个基于 Accessibility
功能的 Android
APP。由于它无法以编程方式在 Android 中提供 Enable/Disable Accessibility
服务(参见 How to Programmatically Enable/Disable Accessibility Service in Android),因此我通过以下代码将用户引导至 Accessibility Settings
页面(图 1):
public static boolean gotoAccessibilitySettings(Context context) {
Intent settingsIntent = new Intent(
Settings.ACTION_ACCESSIBILITY_SETTINGS);
if (!(context instanceof Activity)) {
settingsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
boolean isOk = true;
try {
context.startActivity(settingsIntent);
} catch (ActivityNotFoundException e) {
isOk = false;
}
return isOk;
}
然后用户需要找到我的APP的子设置标签,点击它,现在显示我的APP的Accessibility Settings
页面(图2)。
我怀疑有没有办法直接启动我APP的Accessibility Settings
页面(图2)?
您可以使用以下 Intent 手动打开辅助功能设置(当 android.content.Intent
和 android.app.Intent
都已导入时):
Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivity(intent);
查看以下资源以获取更多信息:
也许下面的代码可以帮到您:
Intent intent = new Intent();
intent.setClassName("com.android.settings",
"com.android.settings.Settings");
intent.setAction(Intent.ACTION_MAIN);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT,
"the fragment which you want show");
intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS,
extras);
startActivity(intent);
或者搜索关键词"Fragment Injection"获取更多信息;
看看这个link,它对你的案例很有用:
试试这个:
Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
我正在开发一个基于 Accessibility
功能的 Android
APP。由于它无法以编程方式在 Android 中提供 Enable/Disable Accessibility
服务(参见 How to Programmatically Enable/Disable Accessibility Service in Android),因此我通过以下代码将用户引导至 Accessibility Settings
页面(图 1):
public static boolean gotoAccessibilitySettings(Context context) {
Intent settingsIntent = new Intent(
Settings.ACTION_ACCESSIBILITY_SETTINGS);
if (!(context instanceof Activity)) {
settingsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
boolean isOk = true;
try {
context.startActivity(settingsIntent);
} catch (ActivityNotFoundException e) {
isOk = false;
}
return isOk;
}
然后用户需要找到我的APP的子设置标签,点击它,现在显示我的APP的Accessibility Settings
页面(图2)。
我怀疑有没有办法直接启动我APP的Accessibility Settings
页面(图2)?
您可以使用以下 Intent 手动打开辅助功能设置(当 android.content.Intent
和 android.app.Intent
都已导入时):
Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivity(intent);
查看以下资源以获取更多信息:
也许下面的代码可以帮到您:
Intent intent = new Intent();
intent.setClassName("com.android.settings",
"com.android.settings.Settings");
intent.setAction(Intent.ACTION_MAIN);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT,
"the fragment which you want show");
intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS,
extras);
startActivity(intent);
或者搜索关键词"Fragment Injection"获取更多信息; 看看这个link,它对你的案例很有用:
试试这个:
Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);