从Android通知获取详细信息/扩展文本?

Roh*_*han 3 notifications android android-notifications

我已实施通知监听器以查找Gmail通知.

我想从通知中收集扩展文本(bigtext),如下面的通知所示:

gmail通知中显示的扩展文本

请参阅"----转发消息---"等,仅在用户展开通知以显示操作按钮时出现.

此字符串值不会出现在通知的"EXTRAS"数据中...

http://developer.android.com/reference/android/app/Notification.html

Chi*_*ang 5

查看上面的链接后,我进一步调查了捆绑(EXTRAS)数据.当您调试它并查看变量时,您可以发现所有关于通知的信息都存储在包中,您可以通过以下方式获取详细信息

notifyBundle.extras.getCharSequence("android.textLines") 用于多行通知和

notifyBundle.extras.getString("android.text") 用于单行通知.

有关更多信息,请在eclipse调试模式下查看变量

用于单行通知的包中变量的图像

用于多行通知的包中变量的图像

注意:额外的捆绑仅在API19(Kitkat)中可用.我从来没有尝试过低于API19的设备.


Yoa*_*ein 5

我在 Android 7 上运行 Gmail 时遇到了类似的问题。

最终,我意识到(在另一个线程的帮助下)他的解决方案与此处现有的答案不同 - 您可以通过不同的方式访问您正在寻找的内容:

Bundle extras = statusBarNotification.getNotification().extras; extras.get(Notification.EXTRA_BIG_TEXT) == null ? null : extras.get(Notification.EXTRA_BIG_TEXT).toString();

这样,您将始终获得字符串或空值,即使您要查找的值最初不是字符串。这样做是因为getString(Notification.EXTRA_BIG_TEXT)直接调用会返回 null,至少在某些情况下是这样。

如果还有任何其他值您不确定它们可能存储在哪里,您可以尝试遍历整个 extras 包,如此处所述