2011-04-05 7 views
2

私は特定の連絡先の名前を取得するために連絡先選択ツールを使用します。エクレアのために、後で私が使用:BadParcelableException:選択した連絡先の名前を取得するときにClassNotFoundExceptionが発生する

startActivityForResult(new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI), CONTACT_PICKER_RESULT); 

onActivityResult()に私はちょうど行います

final String contactName = data.getStringExtra(Intent.EXTRA_SHORTCUT_NAME); 

は、これは私がこの例外を取得MOTOBLUR、上を除いて正常に動作します:

android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.motorola.blur.provider.contacts.IdentityModel 
    at android.os.Parcel.readParcelable(Parcel.java:1883) 
    at android.os.Parcel.readParcelableArray(Parcel.java:1922) 
    at android.os.Parcel.readValue(Parcel.java:1825) 
    at android.os.Parcel.readMapInternal(Parcel.java:2008) 
    at android.os.Bundle.unparcel(Bundle.java:208) 
    at android.os.Bundle.getString(Bundle.java:1034) 
    at android.content.Intent.getStringExtra(Intent.java:3399) 

がありますMotoblurでもうまくいく名前を得る別の方法は? Motoblurの回避策はありますか?細かいContentResolver作品を使用して、事前に

おかげで、
ジョナス

答えて

2

Intent.EXTRA_SHORTCUT_NAMEがすべての電話機で確実に動作しないようです(HTCで完全に動作していないという報告もありました)。