Ho bisogno di recuperare del testo da un oggetto RemoteViews
. È possibile per me ottenere il LayoutId, ma non ho idea di come recuperare il testo da un TextView
che è in questo RemoteView
(vale a dire una notifica).Recupera testo da un oggetto RemoteViews
Anche il RemoteView
contiene solo setter, ma non getter, quindi suppongo di dover usare il LayoutId (in qualche modo).
Potete aiutarmi con quello? Grazie!
/edit: Il motivo per cui lo sto chiedendo è perché ho uno AccessibilityService
che recupera la notifica. Quindi questo è l'unico modo per recuperare il valore.
/EDIT2: utilizzare questo codice per ricevere la notifica:
@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 l'oggetto notification
mi hanno accesso a un RemoteViews
(notification.contentView
) e ad una PendingIntent
(notification.contentIntent
). Per ottenere il layoutId, posso chiamare contentView.getLayoutId()
Probabilmente sarebbe meglio per salvare le informazioni da qualche parte ('SharedPreferences', ecc), e quindi avere sia il' RemoteViews' e la vostra altra codice di accesso alle informazioni da lì. –
Bene, sto usando un 'AccessibilityService' per recuperare la notifica, quindi non posso semplicemente memorizzare il valore da qualche parte, perché la mia applicazione non ha creato la notifica ;-) – Force
Come si ottiene l'ID del layout? Puoi pubblicare il codice che riceve la notifica? –