El servicio de accesibilidad no está vinculado después de la actualización de la aplicación
Tengo una aplicación perfectamente en ejecución con un servicio de accesibilidad. Ha estado funcionando como se esperaba hasta ahora. El problema surgió en el momento en que traté de construir una nueva versión actualizada. Nada ha cambiado en el código relacionado con el servicio de accesibilidad. Pero el servicio ya no es obligatorio para la aplicación actualizada. No hay errores o advertencias en registros. Aquí está la parte del manifiesto.xml :
... <uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" /> <application android:name=".AppState" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:allowBackup="true"> // ... several activities, services and bootup receiver goes here... <service android:name=".ForegroundMonitor" android:label="@string/foreground_monitor_label" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"> <intent-filter> <action android:name="android.accessibilityservice.AccessibilityService" /> </intent-filter> <meta-data android:name="android.accessibilityservice" android:resource="@xml/serviceconfig" /> </service> </application>
Y aquí está el serviceconfig.xml :
- Conexión cerrada por peer (Android 5)
- SetLayoutManager NullPointException en RecyclerView
- Ruta de acceso del archivo null siempre en lollipop android
- Android MediaCodec codifica y decodifica en modo asíncrono
- La dosis de Genymotion no comienza con la API 21
<?xml version="1.0" encoding="utf-8"?> <accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" android:accessibilityEventTypes="typeViewClicked|typeViewFocused|typeWindowStateChanged" android:accessibilityFeedbackType="feedbackGeneric" android:notificationTimeout="1000" android:canRetrieveWindowContent="false" android:description="@string/foreground_monitor_about" />
El servicio de accesibilidad se registra de acuerdo con el sistema, se puede iniciar o detener y los ajustes del servicio cambian si los cambio en la aplicación y vuelvo a instalarla.
Pero el servicio ya no es vinculante para mi aplicación. No se onServiceConnected
método onServiceConnected
de onServiceConnected
.
He encontrado algunas preguntas similares aquí en SO:
- El servicio de accesibilidad para mi aplicación no funciona si vuelvo a instalar mi aplicación : con una respuesta;
- Servicio de accesibilidad de Android no conectado después de reinstalar – sin una respuesta;
He probado la única solución sugerida, pero no funciona en mi caso.
Según mis pruebas, el problema sólo se produce en Android 5.0.1. En Android 2.3.3 la aplicación funciona normalmente y el servicio está enlazado correctamente.
¿Podría alguien compartir una solución para este problema, que es presumiblemente un error de Android?
ACTUALIZAR
Acabo de encontrar una solución: basta con cambiar el nombre de la clase que extiende AccessibilityService
( ForegroundMonitor en mi caso), por ejemplo, añadiendo un sufijo de control de versiones. El inconveniente de este método es que los usuarios deben volver a habilitar el nuevo servicio de accesibilidad en el sistema, ya que es tratado como otro. Idealmente, la actualización de una aplicación no debería requerir esto si el servicio estaba habilitado una vez.
Así que todavía estoy interesado en una solución – solución más conveniente.
Gracias por adelantado.
- Transferencia de datos entre aplicaciones fuera de perfil y dentro de perfil en Android Lollipop
- Activity.startLockTask () ocasionalmente lanza IllegalArgumentException
- Dibuja WebView en un lienzo en Android-L
- Desactivar temporalmente la animación en Lollipop CheckBox
- ¿Qué es ScrimInsetsFrameLayout?
- Atascado en la pantalla "Conectando a WiFi" al aprovisionar el dispositivo Android Lollipop
- ? Android: attr / selectableItemBackground no es lo suficientemente visible sobre un fondo oscuro
- Android Lollipop con material tema personalizado Logo no actúa como DrawerToggle
- ZipException: entrada duplicada: android / support / annotation / AttrRes.class
- ¿Están gradle tools: selector for permissions works ever?