I am trying to open browser intent from my application on the click of a button. I am getting the following crash for the browser application:
02-05 14:16:00.526: E/AndroidRuntime(25626): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.mozilla.firefox/org.mozilla.gecko.BrowserApp}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: xtext.beans.JMatadataBean
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.app.ActivityThread.access$800(ActivityThread.java:135)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.os.Handler.dispatchMessage(Handler.java:102)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.os.Looper.loop(Looper.java:136)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.app.ActivityThread.main(ActivityThread.java:5001)
02-05 14:16:00.526: E/AndroidRuntime(25626): at java.lang.reflect.Method.invokeNative(Native Method)
02-05 14:16:00.526: E/AndroidRuntime(25626): at java.lang.reflect.Method.invoke(Method.java:515)
02-05 14:16:00.526: E/AndroidRuntime(25626): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
02-05 14:16:00.526: E/AndroidRuntime(25626): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
02-05 14:16:00.526: E/AndroidRuntime(25626): at dalvik.system.NativeStart.main(Native Method)
02-05 14:16:00.526: E/AndroidRuntime(25626): Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: xtext.beans.JMatadataBean
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.os.Parcel.readParcelableCreator(Parcel.java:2147)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.os.Parcel.readParcelable(Parcel.java:2097)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.os.Parcel.readValue(Parcel.java:2013)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.os.Parcel.readArrayMapInternal(Parcel.java:2314)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.os.Bundle.unparcel(Bundle.java:249)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.os.Bundle.getString(Bundle.java:1118)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.content.Intent.getStringExtra(Intent.java:4624)
02-05 14:16:00.526: E/AndroidRuntime(25626): at org.mozilla.gecko.GeckoProfile.get(GeckoProfile.java:97)
02-05 14:16:00.526: E/AndroidRuntime(25626): at org.mozilla.gecko.BrowserApp.onCreate(BrowserApp.java:533)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.app.Activity.performCreate(Activity.java:5231)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
02-05 14:16:00.526: E/AndroidRuntime(25626): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
02-05 14:16:00.526: E/AndroidRuntime(25626): ... 11 more
The Parcelable class is:
public class JMatadataBean implements Parcelable {
private String publisherRelation;
private PublisherBean publisherBean;
private List<String> keywordBeanList;
public JournalMatadataBean() {
super();
keywordBeanList = new ArrayList<String>();
}
public JournalMatadataBean(Parcel source) {
this();
publisherRelation = source.readString();
publisherBean = source.readParcelable(PublisherBean.class.getClassLoader());
source.readList(keywordBeanList, String.class.getClassLoader());
}
public String getPublisherRelation() {
return publisherRelation;
}
public void setPublisherRelation(String publisherRelation) {
this.publisherRelation = publisherRelation;
}
public PublisherBean getPublisherBean() {
return publisherBean;
}
public void setPublisherBean(PublisherBean publisherBean) {
this.publisherBean = publisherBean;
}
public List<String> getKeywordBeanList() {
return keywordBeanList;
}
public void addKeywordToList(String keyword) {
this.keywordBeanList.add(keyword);
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(publisherRelation);
dest.writeParcelable(publisherBean, flags);
dest.writeList(keywordBeanList);
}
public static final Creator<JournalMatadataBean> CREATOR = new Creator<JournalMatadataBean>() {
@Override
public JournalMatadataBean[] newArray(int size) {
return new JournalMatadataBean[size];
}
@Override
public JournalMatadataBean createFromParcel(Parcel source) {
return new JournalMatadataBean(source);
}
};
}
Also I am trying to open other implicit intent(Like making call, open camera, email) the same crash(android.os.BadParcelableException: ClassNotFoundException when unmarshalling) will be reported each time.