PDA

View Full Version : کار با contact ها



masoud_urmia
پنج شنبه 26 تیر 1393, 10:04 صبح
سلام دوستان خستع نباشید
من با کد یه شماره موبایل واسه یه contact وارد می کنم و وقتی میرم contact هارو نگاه میکنم میبینم درست عمل کرده ولی بعضی وقت ها واسه یه شخص ما میخوایم 2 تا شماره موبایل ثبت کنیم که من واسه این کار از کد زیر استفاده میکنم ولی کار نمیکنه و فقط شماره اخر رو به عنوان شماره موبایل کاربر set میکنه به نظر اساتید مشکل از چیه و چطور میشه 2 شماره واسه یه contact ثبت کرد؟

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
Builder builder = ContentProviderOperation.newUpdate(ContactsContrac t.Data.CONTENT_URI);

if(!p.getMobile1().equals("")) {
builder = ContentProviderOperation.newUpdate(ContactsContrac t.Data.CONTENT_URI);
builder.withSelection(ContactsContract.Data.CONTAC T_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?"+ " AND " + ContactsContract.CommonDataKinds.Organization.TYPE + "=?", new String[]{p.getContact_id(), ContactsContract.CommonDataKinds.Phone.CONTENT_ITE M_TYPE, String.valueOf(ContactsContract.CommonDataKinds.Ph one.TYPE_MOBILE)});
builder.withValue(ContactsContract.CommonDataKinds .Phone.NUMBER, p.getMobile1());
ops.add(builder.build());
}

if(!p.getMobile2().equals("")) {
builder = ContentProviderOperation.newUpdate(ContactsContrac t.Data.CONTENT_URI);
builder.withSelection(ContactsContract.Data.CONTAC T_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?"+ " AND " + ContactsContract.CommonDataKinds.Organization.TYPE + "=?", new String[]{p.getContact_id(), ContactsContract.CommonDataKinds.Phone.CONTENT_ITE M_TYPE, String.valueOf(ContactsContract.CommonDataKinds.Ph one.TYPE_MOBILE)});
builder.withValue(ContactsContract.CommonDataKinds .Phone.NUMBER, p.getMobile2());
ops.add(builder.build());
}

try {
c.getContentResolver().applyBatch(ContactsContract .AUTHORITY, ops);
} catch (Exception e) {
e.printStackTrace();
}