¿Cómo iniciar AccessibilityService?

Estoy intentando comenzar mi puesta en práctica de AccessibilityService usando

Intent mailAccessabilityIntent = new Intent(this, EmailAccessabilityService.class); startService(mailAccessabilityIntent); 

Mi problema es onServiceConnected() nunca se ha llamado. ¿Cómo puedo iniciar este servicio correctamente?

Dado que los servicios de accesibilidad pueden explorar e interactuar con contenido en pantalla, el usuario debe habilitar explícitamente los servicios en Configuración> Accesibilidad. Una vez que un servicio está habilitado, el sistema lo iniciará automáticamente y lo enlazará a las API de accesibilidad.

Asegúrese de declarar su servicio en su manifiesto de aplicación:

 <service android:name=".MyAccessibilityService" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"> <intent-filter> <action android:name="android.accessibilityservice.AccessibilityService" /> </intent-filter> . . . </service> 

También necesitará proporcionar configuración para su servicio, ya sea sobrepasando setServiceInfo (AccessibilityServiceInfo) o añadiendo un atributo de meta-datos y un archivo de configuración XML.

El atributo de metadatos va en la declaración <service> después de la etiqueta <intention-filter> y se ve así:

 <meta-data android:name="android.accessibilityservice" android:resource="@xml/accessibilityservice" /> 

La configuración XML que está haciendo referencia (en este caso, accessibilityservice.xml) tiene este aspecto:

 <accessibility-service android:accessibilityEventTypes="typeViewClicked|typeViewFocused" android:packageNames="foo.bar, foo.baz" android:accessibilityFeedbackType="feedbackSpoken" android:notificationTimeout="100" android:accessibilityFlags="flagDefault" android:settingsActivity="foo.bar.TestBackActivity" android:canRetrieveWindowContent="true" . . . /> 

Hay más información sobre qué etiquetas puedes usar en http://developer.android.com/reference/android/R.styleable.html#AccessibilityService

Acabo de hacer esto hoy. Una vez que su servicio se crea y se muestra correctamente en el archivo de manifiesto con el filtro de intención de accesibilidad. Entonces su servicio aparecerá bajo ajustes-accesibilidad-servicios. Lo inicia haciendo clic en él y luego activándolo. No sé cómo iniciarlo a través de las intenciones, pero si es posible. Creo que su Lee GPS sólo puede navegar por los usuarios para iniciar el botón.

  • ResultReceiver no sobrevive a la rotación de la pantalla
  • Cómo ensayar un servicio de Android que depende de una conexión de red
  • Revisión 2: Cómo pasar los datos de un servicio de fondo / subproceso a alguna otra actividad que no sea MainActivity que creó el servicio de fondo
  • Conexión a un servicio web desde android - AsyncTask o Service?
  • Android Service.startForeground NO respeta la id unicidad de notificación
  • NsdManager no resuelve varios servicios descubiertos
  • El punto de interrupción en servicio no funciona
  • Servicio de Android que no recibe Actualizaciones de ubicación
  • Diferencia entre los receptores de servicio y difusión en android
  • Gestión de devoluciones de llamada del servicio remoto
  • Cómo enlazar una actividad a un servicio y controlar y administrar el servicio desde la actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.