Android.os.BadParcelableException: ClassNotFoundException on unmarshalling: exception

The values ​​are passed, and the execution is correct, but I see that they are thrown into logcat, and I want to eliminate them, I checked the old forums, but nothing concrete. I am posting my code below, please let me know why this problem would occur.

public class ExecutionInfo implements Parcelable { private int offSet; private List<Integer> pollingIntervalArray = new ArrayList<Integer>(); private List<String> commandLst= new ArrayList<String>(); private int repeatCount; private int executorId; private int processType; public ExecutionInfo() { } public ExecutionInfo(Parcel source) { offSet = source.readInt(); repeatCount = source.readInt(); executorId = source.readInt(); processType = source.readInt(); source.readStringList(commandLst); source.readList(pollingIntervalArray, Integer.class.getClassLoader()); } public int getOffSet() { return offSet; } public void setOffSet(int offSet) { this.offSet = offSet; } public List<Integer> getInterval() { return pollingIntervalArray; } public void setInterval(List<Integer> pollingIntervalVec) { this.pollingIntervalArray = pollingIntervalVec; } public List<String> getCommandLst() { return commandLst; } public void setCommands(String command) { commandLst.add(command); } public int getRepeatCount() { return repeatCount; } public void setRepeatCount(int repeatCount) { this.repeatCount = repeatCount; } public int getExecutorId() { return executorId; } public void setExecutorId(int executorId) { this.executorId = executorId; } @Override public int describeContents() { // TODO Auto-generated method stub return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(offSet); dest.writeInt(repeatCount); dest.writeInt(executorId); dest.writeInt(processType); dest.writeStringList(commandLst); dest.writeList(pollingIntervalArray); } public static final Parcelable.Creator<ExecutionInfo> CREATOR = new Parcelable.Creator<ExecutionInfo>() { public ExecutionInfo createFromParcel(Parcel in) { return new ExecutionInfo(in); } public ExecutionInfo[] newArray(int size) { return new ExecutionInfo[size]; } }; public int getProcessType() { return processType; } public void setProcessType(int processType) { this.processType = processType; } } 

An exception that is thrown repeatedly is: but this does not interfere with the execution

 : com.seven.superapptwitter.xmlHandler.ExecutionInfo 07-27 16:52:11.418: WARN/Intent(2458): Failure filling in extras 07-27 16:52:11.418: WARN/Intent(2458): android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.seven.superapptwitter.xmlHandler.ExecutionInfo 07-27 16:52:11.418: WARN/Intent(2458): at android.os.Parcel.readParcelable(Parcel.java:1883) 07-27 16:52:11.418: WARN/Intent(2458): at android.os.Parcel.readValue(Parcel.java:1771) 07-27 16:52:11.418: WARN/Intent(2458): at android.os.Parcel.readMapInternal(Parcel.java:2008) 07-27 16:52:11.418: WARN/Intent(2458): at android.os.Bundle.unparcel(Bundle.java:208) 07-27 16:52:11.418: WARN/Intent(2458): at android.os.Bundle.putAll(Bundle.java:281) 07-27 16:52:11.418: WARN/Intent(2458): at android.content.Intent.fillIn(Intent.java:5127) 07-27 16:52:11.418: WARN/Intent(2458): at com.android.server.am.PendingIntentRecord.sendInner(PendingIntentRecord.java:195) 07-27 16:52:11.418: WARN/Intent(2458): at com.android.server.am.PendingIntentRecord.send(PendingIntentRecord.java:177) 07-27 16:52:11.418: WARN/Intent(2458): at android.app.PendingIntent.send(PendingIntent.java:400) 07-27 16:52:11.418: WARN/Intent(2458): at com.android.server.AlarmManagerService$AlarmThread.run(AlarmManagerService.java:680) 
+7
source share
2 answers

Well, finally, I use serialization , so I do not get this exception. I serialize the conversion of the object to a byte array, storing it, and then pass it to the PendingIntent check.

I am sure that this increases above the head, but does not seem to affect the work. In this case, when the alarm is triggered, I do not see any exceptions.

-7
source

I think they will answer for this: The problem of parallelizing parcelables .

Basically, you need to install the class loader, because AlarmManagerService is a separate OS process.

+4
source

All Articles