Мне нужно получить текст из объекта RemoteViews
. Я могу получить LayoutId, но я не знаю, как извлечь текст из TextView
, который находится в этом RemoteView
(а именно в уведомлении).
Также RemoteView
содержит только сеттеры, но не геттеры, поэтому я думаю, что мне нужно использовать LayoutId (как-то).
Можете ли вы помочь мне с этим? Спасибо!
/ edit: Причина, по которой я спрашиваю об этом, заключается в том, что у меня есть AccessibilityService
, который получает уведомление. Поэтому это единственный способ получить значение.
/ edit2: Я использую этот код для получения уведомления:
@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();
}
}
С объектом notification
у меня есть доступ к RemoteViews
(notification.contentView
) и к PendingIntent
(notification.contentIntent
).
Чтобы получить layoutId, я могу позвонить contentView.getLayoutId()