所以我让我的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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
它可以很好地读出创建通知时显示的文本(1).

唯一的问题是,我还需要在用户打开通知栏时显示的值(3).(2)对我来说并不重要,但知道如何阅读它会很好.您可能知道,所有值都可能不同.

那么,我怎么读出来(3)?我怀疑这是不可能的,但我notificationList似乎只有一个条目(至少只显示一个吐司).
非常感谢!
/ edit:我可以使用提取通知包裹
if (!(parcel instanceof Notification)) {
return;
}
final Notification notification = (Notification) parcel;
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何从/ notification或中提取通知的消息.notification.contentViewnotification.contentIntent
有任何想法吗?
/编辑:澄清这里的问题:我如何读出(3)?