如何在 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.Intentandroid.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);