Autore Topic: controllare da activity se accesso facilitato è attivato  (Letto 1264 volte)

Offline moonk3y19

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: +3
    • Mostra profilo
  • Sistema operativo:
    Windows 7 - Ubuntu 11.10
controllare da activity se accesso facilitato è attivato
« il: 25 Gennaio 2012, 17:39:16 CET »
0
Salve vorrei creare un app che ad ogni iterazione utente -> software per esempio il click su un pulsante usi text to speech per descrivere l'operazione appena fatta, il tutto però solamente se l'accesso facilitato nelle impostazioni è abilitato. come posso controllare l'abilitazione dell'acesso facilitato?esiste qualche CHECK ? grazie mille in anticipo

Offline E.Musso

  • Utente junior
  • **
  • Post: 82
  • Respect: +17
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy GT-S5660
  • Play Store ID:
    Emiliano Musso
  • Sistema operativo:
    Windows 7
Re:controllare da activity se accesso facilitato è attivato
« Risposta #1 il: 25 Gennaio 2012, 17:45:17 CET »
+3
Da http://stackoverflow.com/questions/5081145/android-how-do-you-check-if-a-particular-accessibilityservice-is-enabled:

Codice (Java): [Seleziona]
public boolean isLightFlowAccessibilityEnabled(){
    int accessibilityEnabled = 0;
    final String LIGHTFLOW_ACCESSIBILITY_SERVICE = "com.example.test/com.example.text.ccessibilityService";
    boolean accessibilityFound = false;
    try {
        accessibilityEnabled = Settings.Secure.getInt(this.getContentResolver(),android.provider.Settings.Secure.ACCESSIBILITY_ENABLED);
        Log.d(LOGTAG, "ACCESSIBILITY: " + accessibilityEnabled);
    } catch (SettingNotFoundException e) {
        Log.d(LOGTAG, "Error finding setting, default accessibility to not found: " + e.getMessage());
    }

    TextUtils.SimpleStringSplitter mStringColonSplitter = new TextUtils.SimpleStringSplitter(':');

    if (accessibilityEnabled==1){
        Log.d(LOGTAG, "***ACCESSIBILIY IS ENABLED***: ");


         String settingValue = Settings.Secure.getString(getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
         Log.d(LOGTAG, "Setting: " + settingValue);
         if (settingValue != null) {
             TextUtils.SimpleStringSplitter splitter = mStringColonSplitter;
             splitter.setString(settingValue);
             while (splitter.hasNext()) {
                 String accessabilityService = splitter.next();
                 Log.d(LOGTAG, "Setting: " + accessabilityService);
                 if (accessabilityService.equalsIgnoreCase(ACCESSIBILITY_SERVICE_NAME)){
                     Log.d(LOGTAG, "We've found the correct setting - accessibility is switched on!");
                     return true;
                 }
             }
         }

        Log.d(LOGTAG, "***END***");
    }
    else{
        Log.d(LOGTAG, "***ACCESSIBILIY IS DISABLED***");
    }
    return accessibilityFound;
}


Dovresti poterlo adattare alle tue esigenze con poche modifiche.
Bollettazione Interventi - Un taglio ai costi di tipografia per professionisti!
--
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato

Offline moonk3y19

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: +3
    • Mostra profilo
  • Sistema operativo:
    Windows 7 - Ubuntu 11.10
Re:controllare da activity se accesso facilitato è attivato
« Risposta #2 il: 25 Gennaio 2012, 17:51:27 CET »
0
grazie mille :) ora lo studio subito :)

Offline moonk3y19

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: +3
    • Mostra profilo
  • Sistema operativo:
    Windows 7 - Ubuntu 11.10
Re:controllare da activity se accesso facilitato è attivato
« Risposta #3 il: 26 Gennaio 2012, 10:19:14 CET »
0
leggendo il codice che E.Musso mi ha postato sono riuscito facilmente a creare un metodo che ritorni un booleano che mi dica se è abilitato o no l'accesso facilitato nel nostro sistema android.
Ho creato una classe singleton che mi permette di sapere questa informazione in qualsiasi activity mi trovi chiamanto un metodo get(). Conviene utilizzare questo atteggiamento? oppure è meglio avviare il metodo ad ogni activity?
Grazie ancora :)

Offline E.Musso

  • Utente junior
  • **
  • Post: 82
  • Respect: +17
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy GT-S5660
  • Play Store ID:
    Emiliano Musso
  • Sistema operativo:
    Windows 7
Re:controllare da activity se accesso facilitato è attivato
« Risposta #4 il: 27 Gennaio 2012, 09:25:34 CET »
0
Purtroppo sulle singleton non so aiutarti.
Un approccio che avrei utilizzato, sarebbe probabilmente stato quello di creare una classe contenente i metodi dichiarati come static.
All'interno delle varie Activity, avrei quindi richiamato NOME_CLASSE.NOME_FUNZIONE....però non so in effetti dire se questo approccio sia più o meno vantaggioso di quello da te utilizzato.
Bollettazione Interventi - Un taglio ai costi di tipografia per professionisti!
--
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato

Offline moonk3y19

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: +3
    • Mostra profilo
  • Sistema operativo:
    Windows 7 - Ubuntu 11.10
Re:controllare da activity se accesso facilitato è attivato
« Risposta #5 il: 27 Gennaio 2012, 14:37:30 CET »
0
grazie lo stesso :) molto gentile