Как я могу открыть страницу настроек специальных возможностей моего приложения в Android?
Я разрабатываю APT Android
на основе функции Accessibility
. Поскольку он не может программно Enable/Disable Accessibility
Сервис в Android (см. Как программно включить/отключить службу доступности в 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, щелкните по ней, а теперь Accessibility Settings
страницу моего показа APP (рис. 2).
Я сомневаюсь, что если какой-либо способ начать мой APP Accessibility Settings
Page (Pic 2) напрямую?
Ответы
Ответ 1
Возможно, приведенный ниже код может вам помочь:
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" для получения дополнительной информации;
Проверьте эту ссылку, это полезно для вас:
Ответ 2
Вы можете вручную открыть настройки доступности с помощью следующего Intent (когда android.content.Intent
и android.app.Intent
оба были импортированы):
Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivity(intent);
Для получения дополнительной информации просмотрите следующие ресурсы:
Ответ 3
Вы можете напрямую открыть страницу настроек специальных возможностей из приложения настроек, используя Intent to android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS
Для этого вы можете запустить настройки специальных возможностей, передавая намерение как,
startActivityForResult(new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS), INTENT_CODE);
и он вернет результат настроек в onActivityResult()
активности вызывающего по коду результата как INTENT_CODE
. Вы можете проверить, разрешена ли настройка доступности для вашего приложения или нет.