Android:从使用 MessagingStyle 的通知中获取消息

Posted

技术标签:

【中文标题】Android:从使用 MessagingStyle 的通知中获取消息【英文标题】:Android: Get messages from a notification that uses MessagingStyle 【发布时间】:2019-10-15 07:37:37 【问题描述】:

我想获取在android 中使用MessagingStylenotification 中显示的消息。

我已经有了获取notification 实例(android.app.Notification)的代码。我看到NotificationCompat 有一个名为extractMessagingStyleFromNotification 的函数,但我不能使用NotificationCompat,因为它不支持Person 类。

有什么方法可以在不使用NotificationCompat的情况下检索当前显示在某个通知中的消息?

我知道一种解决方法是将消息列表存储在内存中,并在收到新消息或单击/关闭通知时更新该列表。但是,我正在开发一个 Cordova 应用程序,并且我有 2 个显示通知的不同插件。为了使这个变通办法起作用,两个插件都应该共享这个列表,但是插件是相互独立的,所以这是不可能的。

【问题讨论】:

【参考方案1】:

解决方案是使用AndroidX 代替 Android 支持库,因为后者不再更新。在 AndroidX 中,我可以使用 NotificationCompat,因为它支持 Person 类,所以我可以使用 extractMessagingStyleFromNotification。

【讨论】:

只是来这里添加更多信息,如果你想获得当前显示的通知,请使用这个answer,因为你应该使用相同的通知 id,你将它传递给这个函数,你可以得到当前消息

以上是关于Android:从使用 MessagingStyle 的通知中获取消息的主要内容,如果未能解决你的问题,请参考以下文章

Android:使用 Webview 从资产加载大图像

如何使用android API从android中获取wifi网络的名称?

将图像从 Android(使用 Android 异步 Http 客户端)上传到 rails 服务器(使用回形针)

从 android/ios 使用 Symfony 进行身份验证

如何使用电话号码将通知从 android 应用程序发送到另一个 android 设备?

Android:使用 Asynctask 从 Web 加载图像