Class not found when unmarshalling

參考文章 http://nocturnaldev.com/blog/2013/09/01/parcelable-in-pendingintent/


     public static byte[]  marshall(Parcelable parcelable){
		Parcel parcel = Parcel.obtain();
		parcelable.writeToParcel(parcel, 0);
		parcel.setDataPosition(0);
		return parcel.marshall();
	}

	public static Parcelable  unmarshall(byte[] byteArrayExtra){
		Parcel parcel = Parcel.obtain();
		parcel.unmarshall(byteArrayExtra, 0, byteArrayExtra.length);
		parcel.setDataPosition(0);
		return TalkEntity.CREATOR.createFromParcel(parcel);
	}

如果直接把實現了Parcelable的對象直接傳遞過去,總是會報該錯誤,網上找了很多,發現這個方法有用,所以記錄下來,僅做參考

如果你使用時該方法無效,那可能是和我的情況不一樣

//存

Intent intent = new Intent(this,SomeActivity.class);
intent.putExtra("data",marshall(demo))

//取

byte[] byteArray = getIntent().getByteArrayExtra("data");  
Demo demo = (Demo)CommonMethod.unmarshall(byteArray);















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章