Necesito recuperar algo de texto de un objeto RemoteViews
. Es posible que obtenga el LayoutId, pero no tengo idea de cómo recuperar el texto de un TextView
que se encuentra en este RemoteView
(a saber, una notificación).Recuperar texto de un objeto de RemoteViews
También el RemoteView
solo contiene setters, pero no getters, así que supongo que tengo que usar el LayoutId (de alguna manera).
¿Me pueden ayudar con eso? ¡Gracias!
/edit: La razón por la que estoy preguntando esto es porque tengo un AccessibilityService
que recupera la notificación. Por lo tanto, esta es la única forma de recuperar el valor.
/Edit2: Puedo utilizar este código para la recepción de la notificación:
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
if (event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {
List<CharSequence> notificationList = event.getText();
for (int i = 0; i < notificationList.size(); i++) {
Toast.makeText(this.getApplicationContext(), notificationList.get(i), 1).show();
}
if (!(parcel instanceof Notification)) {
return;
}
final Notification notification = (Notification) parcel;
doMoreStuff();
}
}
Con el objeto notification
que tienen acceso a un RemoteViews
(notification.contentView
) ya una PendingIntent
(notification.contentIntent
). Para obtener el layoutId, puedo llamar contentView.getLayoutId()
Probablemente sea mejor guardar la información en algún lugar ('SharedPreferences', etc.), y luego tener tanto' RemoteViews' como su otro código accedan a la información desde allí. –
Bueno, estoy usando un 'AccesibilityService' para recuperar la notificación, así que no puedo simplemente almacenar el valor en alguna parte, porque mi aplicación no creó la notificación ;-) – Force
¿Cómo se obtiene el ID de diseño? ¿Puedes publicar el código que recibe la notificación? –