Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Marshalling a Notification Parcel

I'm trying to write a Notification object to a File. The best way I could find was to write the object to a parcel, marshall that parcel to get a byte[] and then write it to a file.

Parcel notif = Parcel.obtain();
notification.writeToParcel(notif, 0);
byte[] notifArray = notif.marshall();

I get a Runtime exception when I try to marshall the parcel though: "Tried to marshall a Parcel that contained Binder objects."

Is there a better way of writing Notification objects to file? Else, how do I get this approach to work?

like image 495
sohil Avatar asked Nov 13 '22 20:11

sohil


1 Answers

The notification contains a live/active binder object. It wasn't built to be used for saving the state (in a byte[]) rather it implements Parcelable for IPC purposes. You should ideally save the necessary fields rather than the object itself.

like image 50
Nagesh Susarla Avatar answered Dec 13 '22 03:12

Nagesh Susarla