我試圖用相同的Phone.TYPE
以編程方式向現有android聯繫人添加新號碼。但是我的代碼取代了給定Phone.TYPE
(如果有的話)中的現有手機號碼。Android:將號碼添加到具有相同號碼類型的現有聯繫人
例如,如果數字12345678
存儲在類別Mobile
下,我可以在同一類別Mobile
到People
的應用程序中添加另一個號碼87654321
。但是,運行以下代碼後,87654321
將替換12345678
。什麼是存儲這兩個數字的方式。問題是我不知道哪個Phone.TYPE
爲空來存儲新號碼。這就是爲什麼我使用默認類型。以下是我的代碼。
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
String where1 = ContactsContract.CommonDataKinds.Phone.NUMBER + " = ? ";
String[] params1 = new String[] { oldNumber };
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI).withSelection(where1, params1)
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, newNumber)
.withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE).build());
try
{
cr.applyBatch(ContactsContract.AUTHORITY, ops);
}
catch (RemoteException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (OperationApplicationException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
請解釋你的答案。僅由代碼轉儲組成的答案並不是非常有用。 – Resurrection