Итак, мой AccessibilityService работает со следующим кодом:
@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();
}
}
}
Он отлично работает для считывания текста, отображаемого при уведомление было создано (1).
Единственная проблема в том, что мне также нужно значение (3), которое отображается, когда пользователь открывает панель уведомлений.(2)для меня не важно, но было бы неплохо уметь его читать.Как вы наверное знаете, все значения могут быть разными.
Итак, как мне прочитать ( 3)? Сомневаюсь, что это невозможно, но мой notificationList
, похоже, имеет только одну запись (по крайней мере, отображается только одно всплывающее уведомление).
Большое спасибо!
/edit: Я мог бы извлечь посылку с уведомлением с помощью
if (!(parcel instanceof Notification)) {
return;
}
final Notification notification = (Notification) parcel;
. Однако я понятия не имею, как извлечь сообщение уведомления либо из уведомления , либо из уведомления
, либо из уведомления.contentView
/ . ContentIntent
.
Есть идеи?
/edit: Чтобы уточнить, что здесь спрашивают:Как я могу прочитать (3)?