title: Parcel android.os.Parcel Unmarshalling unknown type code 7209057 at offset XXXX in Android
body: <p>I have two differents devices :</p>
  
  <ul>
  <li>Phone Sony Xperia SP Android v4.3</li>
  <li>Tablet Archos 101 helium Android v4.4</li>
  </ul>
  
  <p>When i start my app on the tablet, it's work perfectly.</p>
  
  <p>So i try to launch my app on my the other device(Sony). On this device i have an error when i try to recuperate a parcelable object from an intent in activy.</p>
  
  <pre><code>java.lang.RuntimeException: Unable to start activity ComponentInfo{com.*/com.*.activity.QRCodeScanResultActivity}: java.lang.RuntimeException: Parcel android.os.Parcel@419f2ef8: Unmarshalling unknown type code 7209057 at offset 9620
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2266)
          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316)
          at android.app.ActivityThread.access$600(ActivityThread.java:150)
          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1298)
          at android.os.Handler.dispatchMessage(Handler.java:99)
          at android.os.Looper.loop(Looper.java:213)
          at android.app.ActivityThread.main(ActivityThread.java:5225)
          at java.lang.reflect.Method.invokeNative(Native Method)
          at java.lang.reflect.Method.invoke(Method.java:525)
          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
          at dalvik.system.NativeStart.main(Native Method)
   Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@419f2ef8: Unmarshalling unknown type code 7209057 at offset 9620
          at android.os.Parcel.readValue(Parcel.java:2071)
          at android.os.Parcel.readMapInternal(Parcel.java:2288)
          at android.os.Bundle.unparcel(Bundle.java:223)
          at android.os.Bundle.getParcelable(Bundle.java:1170)
          at android.content.Intent.getParcelableExtra(Intent.java:4525)
          at com.*.activity.QRCodeScanResultActivity.onCreate(QRCodeScanResultActivity.java:61)
          at android.app.Activity.performCreate(Activity.java:5133)
          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2230)
              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316)
              at android.app.ActivityThread.access$600(ActivityThread.java:150)
              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1298)
              at android.os.Handler.dispatchMessage(Handler.java:99)
              at android.os.Looper.loop(Looper.java:213)
              at android.app.ActivityThread.main(ActivityThread.java:5225)
              at java.lang.reflect.Method.invokeNative(Native Method)
              at java.lang.reflect.Method.invoke(Method.java:525)
  </code></pre>
  
  <p>It's stange because when the app is launch on my tablet(Archos) for the same action i don't have any problem or error. The problem appaer when i try to get the parcelable objet with <code>intent.getParcelableExtra</code> on the activity launch by the intent.</p>
  
  <p>You can see my parcelable class just below :</p>
  
  <pre><code>public class BeanFDRQRCode implements Parcelable {
  
      public String A_Adresse;
      public String A_CDC;
      public String A_Code;
      public String A_ServeurRH;
      public String A_Telephone;
  
      public String D_CodeEmploi;
      public String D_Matricule;
      public String D_NomPrenom;
      public String D_TauxHoraire;
      public String D_TauxIK;
      public String D_VehImmat;
      public String D_VehPTAC;
  
      public String F_ID;
      public String F_CodeCouleur;
      public String F_Depart;
      public String F_Duree;
      public String F_Fin;
      public String F_Frais;
      public String F_No_Annee;
      public String F_No_Semaine;
      public String F_Numero;
      public String F_Numero_Remplacee;
      public String F_Poids;
      public String F_Rechargement;
      public String F_Remuneration;
      public String F_Statut;
      public String F_CoStatut;
      public List&lt;String&gt; F_Taches;
      public List&lt;String&gt; F_Secteurs;
  
      public BeanFDRQRCode() {
          this.F_Taches = new ArrayList&lt;&gt;();
          this.F_Secteurs = new ArrayList&lt;&gt;();
      }
  
      public int describeContents() {
          return 0;
      }
  
      public void writeToParcel(Parcel out, int flags) {
          out.writeString(A_Adresse);
          out.writeString(A_CDC);
          out.writeString(A_Code);
          out.writeString(A_ServeurRH);
          out.writeString(A_Telephone);
  
          out.writeString(D_CodeEmploi);
          out.writeString(D_Matricule);
          out.writeString(D_NomPrenom);
          out.writeString(D_TauxHoraire);
          out.writeString(D_TauxIK);
          out.writeString(D_VehImmat);
          out.writeString(D_VehPTAC);
  
          out.writeString(F_ID);
          out.writeString(F_CodeCouleur);
          out.writeString(F_Depart);
          out.writeString(F_Duree);
          out.writeString(F_Fin);
          out.writeString(F_Frais);
          out.writeString(F_No_Annee);
          out.writeString(F_No_Semaine);
          out.writeString(F_Numero);
          out.writeString(F_Numero_Remplacee);
          out.writeString(F_Poids);
          out.writeString(F_Rechargement);
          out.writeString(F_Remuneration);
          out.writeString(F_Statut);
          out.writeString(F_CoStatut);
          out.writeStringList(F_Taches);
          out.writeStringList(F_Secteurs);
      }
  
      public static final Creator&lt;BeanFDRQRCode&gt; CREATOR = new Creator&lt;BeanFDRQRCode&gt;() {
          public BeanFDRQRCode createFromParcel(Parcel in) {
              return new BeanFDRQRCode(in);
          }
  
          public BeanFDRQRCode[] newArray(int size) {
              return new BeanFDRQRCode[size];
          }
      };
  
      private BeanFDRQRCode(Parcel in) {
          A_Adresse = in.readString();
          A_CDC = in.readString();
          A_Code = in.readString();
          A_ServeurRH = in.readString();
          A_Telephone = in.readString();
  
          D_CodeEmploi = in.readString();
          D_Matricule = in.readString();
          D_NomPrenom = in.readString();
          D_TauxHoraire = in.readString();
          D_TauxIK = in.readString();
          D_VehImmat = in.readString();
          DISTRI_VehPTAC = in.readString();
  
          F_ID = in.readString();
          F_CodeCouleur = in.readString();
          F_Depart = in.readString();
          F_Duree = in.readString();
          F_Fin = in.readString();
          F_Frais = in.readString();
          F_No_Annee = in.readString();
          F_No_Semaine = in.readString();
          F_Numero = in.readString();
          F_Numero_Remplacee = in.readString();
          F_Poids = in.readString();
          F_Rechargement = in.readString();
          F_Remuneration = in.readString();
          F_Statut = in.readString();
          F_CoStatut = in.readString();
          F_Taches = new ArrayList&lt;&gt;();
          in.readStringList(F_Taches);
          F_Secteurs = new ArrayList&lt;&gt;();
          in.readStringList(F_Secteurs);
      }
  }
  </code></pre>
  
  <p>here you can see the creation of my intent:</p>
  
  <pre><code>Intent intent = new Intent(QRCodeScanActivity.this, QRCodeScanResultActivity.class);
                      intent.putExtra("BeanFDRQRCode", mBeanFDRQRCode);
                      intent.putExtra("androidPrincipal", mAndroidPrincipal);
                      intent.putExtra("beanEnregistrerSignature", beanEnregistrerSignature);
                      QRCodeScanActivity.this.startActivity(intent);
  </code></pre>
  
  <p>and below this is how i get parcelable from extra :</p>
  
  <pre><code> @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          Log.i("onCreate", "QRCodeScanResultActivity");
          setContentView(R.layout.activity_scan_result);
  
          Intent i = getIntent();
          v_BeanFDRQRCode = i.getParcelableExtra("BeanFDRQRCode");
          androidPrincipal = i.getParcelableExtra("androidPrincipal");
          beanEnregistrerSignature = i.getParcelableExtra("beanEnregistrerSignature");
  </code></pre>
  
  <p>}</p>
  
  <p>I read lot of things like this <a href="https://stackoverflow.com/questions/21844945/how-to-fix-unmarshalling-unknown-type-code-xxx-at-offset-yyy-in-android">How to fix Unmarshalling unknown type code XXX at offset YYY in Android?</a></p>
  
  <p>But my problem is particullary because the app work on the tablet(Archos).</p>
  
  <p>I find nothing to solve my problem, morever i don't understand why the probleme depending on the device.</p>