2017-02-11 28 views
0

我有这个自定义的类,我可以直接使用并可以使用。我能够把这个类作为一个额外的用途,并使用警报管理器设置它何时回到我的onReceive类。这适用于api级别23.如何在android api level 24+上将自定义的parcelable对象分享到AlarmManager接收器中?

我已经尝试在具有Android 7.0(api级别24)的电话上运行我的代码,并且意图的演员将为空。我读到这在android api level 24+中不再可能,除了原始类型之外,没有自定义的可添加类可以作为额外添加。我的问题是如何解决这些问题?我需要从parcelable类传递很多属性,并且逐个添加不同类型的数据似乎对我来说不合理。

回答

1

我看,这是不再可能在Android的API级别24+,并且,除了从原材料类型没有自定义parcelable类可以作为一个额外的

Correct。在您的流程之外传递自定义Parcelable是有风险的,就像另一个流程尝试读取它一样,它没有您的Parcelable类,因此它崩溃。

我的问题是如何解决这些问题?

一种解决方案是将您Parcelablebyte[]自己,把byte[]到额外的费用。然后,当您检索它时,将该过程逆转。其他进程不需要你的自定义类。 This Stack Overflow answer概述了该技术; this sample app演示它。

+0

感谢您的链接,我现在就试试! – Nick

+0

由于某种原因,第一个链接的答案不起作用(也许是我的错误实现),但第二个链接实际上帮了我很多。谢谢 ! – Nick

相关问题