1
我有這樣的代碼有多個電話號碼更新聯繫人
public void updateContact (String contactId, String newNumber) {ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
String selectPhone = Data.CONTACT_ID + "=? AND " + Data.MIMETYPE + "='" +
Phone.CONTENT_ITEM_TYPE + "'";
String[] phoneArgs = new String[]{contactId};
ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI)
.withSelection(selectPhone, phoneArgs)
.withValue(Phone.NUMBER, newNumber)
.build());
try { getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OperationApplicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
這是我從這裏How to update contact number using Android了,爲了通過我的所有聯繫人,並加入到他們中的每一個我自己的前綴改變了它。
我經歷了所有的聯繫人運行,我這個 String id = phones.getString(phones.getColumnIndex(ContactsContract.Contacts._ID));
聯繫人的ID上面的功能提供。但有些聯繫人特別是那些有多個號碼,有一些只有一個號碼,不改變,以獲得新的前綴,即使給定的ID是正確的?! 。 我在這裏想念什麼,我不知道要改變什麼。我認爲這可能是mime類型,但我可以想象有人可能沒有使用Android預裝類型的手機並使用自定義類型。 我沒有得到任何錯誤。謝謝大家的時間!