studio programacion herramientas fundamentos con avanzado aplicaciones android service accessibility accessibilityservice

programacion - manual de android en pdf



Detectar si mi servicio de accesibilidad está habilitado. (1)

A continuación se muestra el método para verificar si su servicio de accesibilidad está habilitado o no.

Nota: Cambie el valor de YOURAccessibilityService con su Servicio.

// To check if service is enabled private boolean isAccessibilitySettingsOn(Context mContext) { int accessibilityEnabled = 0; final String service = getPackageName() + "/" + YOURAccessibilityService.class.getCanonicalName(); try { accessibilityEnabled = Settings.Secure.getInt( mContext.getApplicationContext().getContentResolver(), android.provider.Settings.Secure.ACCESSIBILITY_ENABLED); Log.v(TAG, "accessibilityEnabled = " + accessibilityEnabled); } catch (Settings.SettingNotFoundException e) { Log.e(TAG, "Error finding setting, default accessibility to not found: " + e.getMessage()); } TextUtils.SimpleStringSplitter mStringColonSplitter = new TextUtils.SimpleStringSplitter('':''); if (accessibilityEnabled == 1) { Log.v(TAG, "***ACCESSIBILITY IS ENABLED*** -----------------"); String settingValue = Settings.Secure.getString( mContext.getApplicationContext().getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES); if (settingValue != null) { mStringColonSplitter.setString(settingValue); while (mStringColonSplitter.hasNext()) { String accessibilityService = mStringColonSplitter.next(); Log.v(TAG, "-------------- > accessibilityService :: " + accessibilityService + " " + service); if (accessibilityService.equalsIgnoreCase(service)) { Log.v(TAG, "We''ve found the correct setting - accessibility is switched on!"); return true; } } } } else { Log.v(TAG, "***ACCESSIBILITY IS DISABLED***"); } return false; }

Y para llamar a este método:

if (!isAccessibilitySettingsOn(getApplicationContext())) { startActivity(new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS)); }

Esto comprobará y ejecutará la configuración de accesibilidad si no está habilitado.

Me preguntaba cómo podría detectar si mi propio servicio está habilitado. Por lo tanto, puedo verificar si mi servicio no está habilitado y luego decirle al usuario que lo habilite.