你可以試試這個,看看它是否與Facebook Messenger通知工作。即使這樣做有效,我也會建議你等待更好的解決方案。
從API 19及以上版本開始,Notification
對象攜帶捆綁extras
- 當Notification
第一次創建時,輸入傳遞給Notification.Builder
。因此,使用Notification.EXTRAS_XXXX
形式的密鑰可以從此Bundle
中提取諸如title
,context
,summary
等的信息。鑰匙可以在這裏找到:Link。
在重寫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)
可以是一個方法從這裏:Link。毋庸置疑,這是一種解決方法,並且需要進行相當多的測試才能確保其按要求運行。
現在我們使用api19 +,所以它確實沒關係。在未來,我們將支持舊手機,也許那時我會使用充氣視圖技巧,我有點喜歡! – sokie 2014-09-08 12:17:02
額外的領域證明工作完美!我現在正在使用它來處理其他通知消息。謝謝! – sokie 2014-09-10 08:35:54
@sokie'我現在正在使用它來處理其他通知消息。「太棒了!沒想到建議你這樣做。 – Vikram 2014-09-13 19:38:30