2011-01-12 38 views
-1

我在Android 2.2設備上有一個奇怪的問題。我有一個現有 接觸,我做了修改操作就可以通過:爲什麼Android聯繫人修改有創建(未知)聯繫人條目的副作用?

ContentProviderOperation.Builder builder = 
ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI) 
    .withSelection(ContactsContract.Data.CONTACT_ID + "=? AND " + 
    ContactsContract.Data.MIMETYPE + "=?", 
    new String[]{id, 
    ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE}) 
    .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,displayName) 
    .withValue(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME,familyName) 
    .withValue(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME,middleName) 
    .withValue(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME,givenName) 
    .withValue(ContactsContract.CommonDataKinds.StructuredName.PREFIX,honorificPrefix) 
    .withValue(ContactsContract.CommonDataKinds.StructuredName.SUFFIX,honorificSuffix); 

mApp.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 

接觸得到正確修改。所有新值的聯繫人名稱都顯示爲 。

但是,如果我查看我的通訊錄應用程序,有一個名爲 「(未知)」的新聯繫人,在我進行修改後顯示。我可以插入儘可能多的 聯繫人,但每次修改都會創建一個新的「(未知)」聯繫人。

任何人有任何想法?

回答

0

作爲導致問題的較大函數的一部分,存在對RAW_CONTACT_ID的錯誤newInsert()調用。對不起浪費時間的問題。