您很可能会遇到与自定义
Parcelable实现相同的问题。从该博客文章中解释一下自己:基本上,如果核心OS进程需要修改
Intent附加组件,则该过程最终会尝试重新创建
Serializable对象,这是设置附加组件
Bundle进行修改的一部分。该进程没有您的类,因此它获得了运行时异常。
最烦人的部分是该代码以前在我的Nexus 6P(Lollipop 6.0 API23)上运行。
行为会因Android版本,使用方式
PendingIntent(以及固件/ ROM)而异。不要以为您当前的实现在任何Android版本上都是可靠的。
您唯一的选择是不要
Serializable直接放入
Intent多余的东西。使用除
Serializable(例如,嵌套的
Bundle)以外的其他东西,将转换
Serializable为
byte[],等等。
该示例应用程序演示了应用于
Parcelable对象的后一种方法。在相同的基本技术应该适用
Serializable。(在注释中指向AyeVeeKay的技巧提示)。



