I am developing an Android
APP based on Accessibility
feature. As it can't programmatically Enable/Disable Accessibility
Service in Android(See How to Programmatically Enable/Disable Accessibility Service in Android) , So I guide the user to Accessibility Settings
Page(Pic 1) via the code below:
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;
}
And then the user need to find out the Sub Settings Label of my APP, click it, and now the Accessibility Settings
Page of my APP show(Pic 2).
I doubt that if any way start my APP's Accessibility Settings
Page(Pic 2) directly?
You can manually open the accessibility settings with the following Intent (when
android.content.Intent
andandroid.app.Intent
have both been imported):Check out the following resources for more information:
You can directly open the accessibility settings page from settings app using the Intent to
android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS
To do so, you can start the Accessibility settings by passing intent as,startActivityForResult(new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS), INTENT_CODE);
and it will return the result of settings in
onActivityResult()
of the caller activity by result code asINTENT_CODE
. you can check the accessibility setting for your app is allowed or not.Maybe the code below can help you :
Or you can search the Key Word "Fragment Injection" for more information; Check out this link,it is useful for you case: