Detectar si mi servicio de accesibilidad está habilitado

Me preguntaba cómo podría detectar si mi propio servicio está habilitado. Así que podría comprobar si mi servicio no está habilitado, luego decirle al usuario que lo habilite.

Gracias

A continuación se muestra el método para comprobar 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 llamar a este método:

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

Esto verificará e iniciará la configuración de accesibilidad si no está habilitada.

  • No se pudo encontrar la clase SoapObject
  • Evitar que algunos usuarios cierren el servicio de Android
  • Observable vs. Servicio en Android
  • OnBind () nunca se llama en un servicio
  • Servicio de inicio de Android NFC
  • ¿Cómo inicio un servicio basado en un objeto ServiceInfo?
  • No se puede iniciar el servicio Intent {cmp = com.marie.mainactivity / .BackgroundService}: no encontrado
  • Múltiples instancias de IntentService en Android
  • Servicios de Android: consideraciones sobre el ciclo de vida
  • Appcelerator Android Service detiene las paradas
  • Android escucha los mensajes del socket del servidor
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.