2015-03-31 10 views
9

Sto sviluppando un'applicazione Android basata sulla funzione Accessibility. Come si può non a livello di codice Enable/Disable Accessibility Servizio in Android (vedi How to Programmatically Enable/Disable Accessibility Service in Android), Così ho guidare l'utente alla pagina Accessibility Settings (Pic 1) tramite il codice qui sotto:Come posso avviare la pagina delle impostazioni di accessibilità della mia APP in Android?

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; 
} 

e quindi l'utente bisogno di trovare le impostazioni Sub Etichetta della mia APP, fare clic su di esso, e ora la pagina Accessibility Settings della mia APP mostra (Pic 2).

Dubito che se in qualche modo avvii la pagina Accessibility Settings (Pic 2) della mia APP direttamente?

risposta

2

Forse il codice qui sotto può aiutare:

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); 

Oppure è possibile cercare la parola chiave "Fragment Injection" per ulteriori informazioni; Dai un'occhiata a questo link, è utile per voi caso:

+0

Incredibile trucco! Grazie @Money Zhang! –

+0

@money zhang cosa devo digitare nel "il frammento che vuoi mostrare "? voglio inserire le mie impostazioni del servizio di accessibilità .. – Didi78

+0

Ho provato il nome della mia app, il nome della classe del servizio nome del pacchetto ed ecc invece del" frammento che vuoi mostrare ". Per favore dì cosa devo digitare? – David

8

È possibile aprire manualmente le impostazioni di accessibilità con il seguente intenti (quando android.content.Intent e android.app.Intent sono stati entrambi importati):

Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS); 
startActivity(intent); 

Scopri i seguenti risorse per ulteriori informazioni:

+1

Grazie per la risposta, @timgws. Ma il mio problema è aprire le impostazioni di accessibilità della mia app direttamente, non la pagina iniziale delle impostazioni di accessibilità :( –

Problemi correlati