Java “如何反序列化包裹”;android.messages“;在Android通知中';什么是额外费用?

Java “如何反序列化包裹”;android.messages“;在Android通知中';什么是额外费用?,java,android,kotlin,android-notifications,Java,Android,Kotlin,Android Notifications,我正在编写我的第一个Android应用程序,其中包括NotificationListenerService,用于将通知镜像到其他设备。我注意到,对于消息传递应用程序,来自同一发件人帖子的后续消息具有相同的ID/密钥,只有最新的消息文本显示在“android.text”额外字段中 我的目标是抓取以前未读的消息,这些消息看起来会附加到“android.messages”下的通知中。我的问题是,它不会读取到字符序列或字符串数组,而是看起来像是实现了Parcellable的某个类存储在这里 我希望这里使

我正在编写我的第一个Android应用程序,其中包括
NotificationListenerService
,用于将通知镜像到其他设备。我注意到,对于消息传递应用程序,来自同一发件人帖子的后续消息具有相同的ID/密钥,只有最新的消息文本显示在“android.text”额外字段中

我的目标是抓取以前未读的消息,这些消息看起来会附加到“android.messages”下的
通知中。我的问题是,它不会读取到字符序列或字符串数组,而是看起来像是实现了
Parcellable
的某个类存储在这里

我希望这里使用的是一些标准的Android类,我没有这些类,我可以用它们来反序列化以获取以前的消息

一些代码:

val pArray: Array<Parcelable>? = bundle.getParcelableArray("android.messages") // Parcelable[6]@17975
println(pArray?.get(0)?.describeContents()) // 1 == CONTENTS_FILE_DESCRIPTOR

val charSequence: Array<CharSequence>? = bundle.getCharSequenceArray("android.messages") // null
val list = bundle.getStringArrayList("android.messages") //  null
val arr = bundle.getStringArray("android.messages") // null
val阵列:阵列?=bundle.getParcelableArray(“android.messages”)//Parcelable[6]@17975
println(pArray?.get(0)?.descripbecontents())//1==内容\文件\描述符
val字符序列:数组?=bundle.getCharSequenceArray(“android.messages”)//null
val list=bundle.getStringArrayList(“android.messages”)//null
val arr=bundle.getStringArray(“android.messages”)//null

如果有人偶然发现了这条线索,我想出了办法:

val pArray: Array<Parcelable> = bundle.getParcelableArray("android.messages") as Array<Parcelable>
val messages = Notification.MessagingStyle.Message.getMessagesFromBundleArray(pArray)
val pArray:Array=bundle.getParcelableArray(“android.messages”)作为数组
val messages=Notification.MessagingStyle.Message.getMessagesFromBundleArray(pArray)