Ответ 1
Вы можете попробовать это, чтобы узнать, работает ли оно с уведомлениями Facebook-мессенджера. И даже если это сработает, я предлагаю вам подождать лучшего решения.
От API 19 и выше, объекты Notification
несут в комплекте extras
- входы, переданные в Notification.Builder
, когда сначала был создан Notification
. Таким образом, из этого Bundle
можно извлечь информацию, такую как title
, context
, summary
и т.д., Используя ключи формы Notification.EXTRAS_XXXX
. Ключи можно найти здесь: Ссылка.
В методе override onAccessibilityEvent(AccessibilityEvent event)
:
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
Parcelable data = event.getParcelableData();
if (data != null && data instanceof Notification) {
Log.i("", "We have a notification to parse");
Notification notification = (Notification) data;
// For API 19 and above, `Notifications` carry an `extras` bundle with them
// From this bundle, you can extract info such as:
// `EXTRA_TITLE` - as supplied to setContentTitle(CharSequence)
// `EXTRA_TEXT ` - as supplied to setContentText(CharSequence)
// `EXTRA_INFO_TEXT` - as supplied to setContentInfo(CharSequence)
// ... more at: http://developer.android.com/reference/android/app/Notification.html
Bundle b = noti.extras;
Log.i("Notification", "Title: " + b.get(Notification.EXTRA_TITLE));
Log.i("Notification", "Text: " + b.get(Notification.EXTRA_TEXT));
Log.i("Notification", "Info Text: " + b.get(Notification.EXTRA_INFO_TEXT));
/////////////////////////////////////////////////////////////////
// For API 18 and under:
// Pass `notification` to a method that parses a Notification object - See link below
List<String> notificationText = extractTextFromNotification(notification);
....
....
}
}
extractTextFromNotification(Notification)
может быть методом отсюда: Ссылка. Излишне говорить, что это обходной путь, и потребует довольно много тестирования, чтобы обеспечить его работу по мере необходимости.