手机联系人的相关操作,删除,插入,更新

本文介绍了一种在Android设备上删除联系人信息的方法。通过使用ContentProviderOperation和getContentResolver().applyBatch进行批量删除操作,实现对指定联系人的彻底移除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

getActivity().getContentResolver().delete(Uri.parse(ContactsContract.RawContacts.CONTENT_URI.toString() 
    +"?"  + ContactsContract.CALLER_IS_SYNCADAPTER+"=true"), 

    ContactsContract.RawContacts._ID + ">0", null);

此句未调试、验证。

以下经过验证OK

/*
* 删除某人的联系人信息
*/
private void delContact(String id) {
Cursor cursor = getActivity().getContentResolver().query(ContactsContract.Data.CONTENT_URI, 
new String[]{Data.RAW_CONTACT_ID}, "contact_id=?",
new String[]{id}, null);
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
if(cursor.moveToFirst()){
do{
long Id = cursor.getLong(cursor.getColumnIndex(Data.RAW_CONTACT_ID));
// Log.v("s", "___________"+Id);
ops.add(ContentProviderOperation.newDelete(ContentUris.withAppendedId(RawContacts.CONTENT_URI,Id))
.build());
try { 
getActivity().getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 
      } catch (Exception e) { 
//       Log.e("s", "___________"+Long.valueOf(id));
      } 
}while(cursor.moveToNext());
cursor.close();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值