Извлечение текста уведомления из пакетов, contentView или contentIntent

Итак, мой 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).

enter image description here

Единственная проблема в том, что мне также нужно значение (3), которое отображается, когда пользователь открывает панель уведомлений.(2)для меня не важно, но было бы неплохо уметь его читать.Как вы наверное знаете, все значения могут быть разными.

enter image description here

Итак, как мне прочитать ( 3)? Сомневаюсь, что это невозможно, но мой notificationList, похоже, имеет только одну запись (по крайней мере, отображается только одно всплывающее уведомление).

Большое спасибо!

/edit: Я мог бы извлечь посылку с уведомлением с помощью

if (!(parcel instanceof Notification)) {
            return;
        }
        final Notification notification = (Notification) parcel;

. Однако я понятия не имею, как извлечь сообщение уведомления либо из уведомления , либо из уведомления , либо из уведомления.contentView/ . ContentIntent.

Есть идеи?

/edit: Чтобы уточнить, что здесь спрашивают:Как я могу прочитать (3)?

39
задан Force 23 April 2012 в 13:23
поделиться