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
- Android AudioRecord.read devuelve una matriz de 0 elementos
- El servicio androide deja de funcionar después de que la aplicación no esté en uso por un tiempo
- Las notificaciones push de GCM causan 502 Bad Gateway
- Service.onStartCommand () - ¿es posible devolver más de una bandera?
- Compruebe si el servicio se está ejecutando desde un receptor de difusión
- En la aplicación de facturación V3 Service nullpointer Android
- Manejo de la funcionalidad "Deslizar para salir" de la lista de aplicaciones recientes de ICS
- El servicio no se detendrá cuando el método stopService se llame
- Android en la facturación de la aplicación: Recepción onReceive nunca recibiendo llamadas incluso después de una compra exitosa
- Cómo programar un evento de clics en Android
- ¿Por qué el servicio Android falla con NullPointerException?
- ¿Dónde debo usar Servicio, AsyncTask y Broadcast Receiver?
- ¿Cómo obtener el objeto de vista de enfoque actual en Service?
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?