Мне нужно получить текст из 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();
}
}
С помощью объекта уведомления
у меня есть доступ к RemoteViews
( notification.contentView
) и в PendingIntent
( notification.contentIntent
).
Чтобы получить layoutId, я могу вызвать contentView.getLayoutId ()