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
- Cómo poner un oyente onclick dentro de un servicio
- ¿Cómo puedo mantener mi servicio Android funcionando cuando la pantalla está apagada?
- Obtención de resultados de varias AsyncTasks
- Paradas de servicio de Android
- Android - Servicio periódico de fondo - Asesoramiento
- Receptor de difusión de portapapeles android
- Servicio Android android.os.BinderProxy error
- Cómo anular el registro de escuchas y detener el servicio desde dentro de broadcastreceiver
- Android: Multithreading-Bluetooth SPP / RFCOMM-Cómo mantener activo mi BluetoothSocket y OutputStream al cambiar Actividades
- Servicio Android-Comunicación de 2 vías
- Crear un servicio programado en android
- Usar SharedPreferences en modo multiproceso
- Actualización de la actividad TextView desde el servicio mediante vinculación de servicio
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.
- Hamburguesa, menú, giro, flecha, nuevo, actividad
- ¿Cómo hacer que una carga de WebView para Android sea más rápida?