The values are getting passed and execution happens properly but i see these being thrown in logcat and i want to eliminate these , i checked the older forums but nothing in specific .I am posting my code below , please do let me know why would this problem 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;
}
}
Exception which is being thrown repeatedly is : but this does not hinder 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)
I think this is answered for you here: Problem unmarshalling parcelables.
Basically you need to set the class loader because the AlarmManagerService is a separate OS process.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With