我需要从RemoteViews
对象中检索一些文本。我有可能获得 LayoutId,但我不知道如何从中检索文本(TextView
即RemoteView
通知)。
也RemoteView
唯一包含setter,但没有getter,所以我想我必须使用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()