Leer notificaciones mediante AccessibilityService
Recientemente he intentado leer notificaciones entrantes usando AccessibilityService
. Sé leer notificaciones usando NotificationListenerService
, pero eso no es lo que necesito (para compatibilidad con versiones android inferiores). Mi problema es que OnServiceConnected()
nunca se llama, aunque en mi configuración, he dado a mi aplicación las premisas necesarias. Aquí está mi código:
public class NotificationAccessibilityService extends AccessibilityService{ protected void onServiceConnected() { Log.d("Tortuga", "AccessibilityService Connected"); AccessibilityServiceInfo info = new AccessibilityServiceInfo(); info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED; info.feedbackType = AccessibilityServiceInfo.FEEDBACK_ALL_MASK; info.notificationTimeout = 100; setServiceInfo(info); } @Override public void onAccessibilityEvent(AccessibilityEvent e) { Log.d("Tortuga","FML"); if (e.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) { Log.d("Tortuga","Recieved event"); Parcelable data = e.getParcelableData(); if (data instanceof Notification) { Log.d("Tortuga","Recieved notification"); Notification notification = (Notification) data; Log.d("Tortuga","ticker: " + notification.tickerText); Log.d("Tortuga","icon: " + notification.icon); Log.d("Tortuga", "notification: "+ e.getText()); } } } @Override public void onInterrupt() { // TODO Auto-generated method stub } }
Y mi XML:
- Cómo cambiar la casilla de verificación (marcar casilla) color a blanco en android XML
- Selector xml de Android para diseños
- Filtrado SPINNER para los datos XML que se habían recuperado
- Swich imágenes de fondo se extiende al personalizar en android
- Almacenamiento de archivos de prueba en el proyecto de prueba
AndroidManifest.xml
<service android:name="com.tortuga.shutapp.NotificationAccessibilityService" android:label="@string/app_name" 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/accessibilityservice" /> </service>
Xml \ accessibilityservice.xml
<?xml version="1.0" encoding="utf-8"?> <accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" android:accessibilityEventTypes="typeNotificationStateChanged" android:accessibilityFeedbackType="feedbackSpoken" android:notificationTimeout="100" />
Por favor ayuda, estoy perdido. Estoy funcionando actualmente en Nexus 5. ¡Gracias!
- Android cómo hacer que ImageView con un minWidth tiene un borde?
- Excepción generada durante la renderización: TabHost requiere un TabWidget con id "android: id / tabs"
- Establecer el modo spinner en XML
- Se muestra Google Maps Android sólo pantalla en blanco
- Círculo transparente con borde
- ERROR: "No se puede resolver el símbolo '@ string / edit_message'" Android Studio
- ¿Cuál es el uso del espacio de nombres de aplicaciones en android xml
- Error al agregar CardView al diseño
¿Ha iniciado el servicio? En "Configuración – Accesibilidad – su servicio"
- ¿Cómo agregar timePicker usando fragmento?
- Codificación de caracteres desordenada con Android + GAE Cloud Endpoints