上篇文章,我转载了一片网上关于对android系统通讯录的CRUD操作的经典文章,当时用的lg四太子那款手机进行的测试,完全没问题,但是后来发现,其在删除手机通讯录那块有点问题,因为我后来在其他手机,比如华为、三星、魅族等一些手机上却不能正常删除,即经过我几天的查阅资料、大量实验,终于找到了一个非常理想的删除方案,和大家分享分享。

具体的操作是:

首先找到通讯录中的name,然后通过name求得raw_contacts表中的id,最后根据该id进行删除。代码如下:

/*** 清空系统通信录数据*/ public void clearContact() {ContentResolver cr = getContentResolver();// 查询contacts表的所有记录Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null,null, null, null);// 如果记录不为空if (cursor.getCount() > 0) {// 游标初始指向查询结果的第一条记录的上方,执行moveToNext函数会判断// 下一条记录是否存在,如果存在,指向下一条记录。否则,返回false。while (cursor.moveToNext()) {// String rawContactId = "";// 从Contacts表当中取得ContactId
//                  String id = cursor.getString(cursor
//                          .getColumnIndex(ContactsContract.Contacts._ID));String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));//根据姓名求id  Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");  Cursor cursor1 = cr.query(uri, new String[]{Data._ID},"display_name=?", new String[]{name}, null);  if(cursor1.moveToFirst()){  int id = cursor1.getInt(0);  //根据id删除data中的相应数据  cr.delete(uri, "display_name=?", new String[]{name});  uri = Uri.parse("content://com.android.contacts/data");  cr.delete(uri, "raw_contact_id=?", new String[]{id+""});}} }        }       

上篇文章除了删除那块有点问题之外,其他还是非常经典的,也非常详细。

android从零单排之批量删除手机通讯录相关推荐

  1. 【Android从零单排系列十一】《Android视图控件——日历、日期、时间选择控件》

    目录 一.日历.日期.时间组件基本介绍 二.几种常见的控件类型 1.CalendarView –日历控件 2. DatePicker –日期选择控件 3.TimePicker –时间选择控件 4.Ch ...

  2. android 从零单排 第一期 按键显示helloworld

    啦啦啦- 我是qscqesze 今天开始android的从零单排啦啦啦- 首先从最简单的开始 要求: 程序运行后,单击屏幕上的按键后可以显示一句话,如"Hello World!" ...

  3. Android版短信 筛选/批量删除 程序(支持Android 2.3~4.4)

    这是一个短信筛选/批量删除的工具类程序. 首先上图: 1.展示全部系统短信. 2.新建筛选器(支持按号码筛选和按内容筛选) 3.筛选,批量删除. 主要代码: 1.获取系统全部短信 [java] vie ...

  4. Android:短信 筛选/批量删除 程序(支持Android 2.3~4.4)

    这是一个短信筛选/批量删除的工具类程序. 首先上图: 1.展示全部系统短信. 2.新建筛选器(支持按号码筛选和按内容筛选) 3.筛选,批量删除. 主要代码: 1.获取系统全部短信 //获取系统全部短信 ...

  5. iphone通讯录批量删除_iPhone通讯录删除了如何恢复?用对方法快速找回,亲测有效!_...

    2020年11月03日 16:50作者:黄页编辑:黄页 iPhone通讯录删除了如何恢复?很多时候我们都已经习惯了用微信去传递感情,去跟朋友或者是同事沟通,因为这样既方便又快捷,小编也是如此.但是很多 ...

  6. android 备份 通信录,如何简单备份手机通讯录?

    现在,很多小伙伴更换手机的速度很快,备份手机通讯录就变成经常性的工作了.备份通信录的办法有很多种.今天,小编就给大家介绍几种备份方法~ SIM卡备份 采用SIM卡备份和还原是最原始,也是最通用的备份方 ...

  7. 手机里android文件里哪些文件可删除,手机文件夹哪些可以删除?这4个删除它妥妥的...

    原标题:手机文件夹哪些可以删除?这4个删除它妥妥的 我们手机在使用一段时间后都会产生一定的数据缓存,新手机可能没有感觉,但是就手机就会体现得非常明显.因为随着手机里的使用数据越来越多,你会发现手机慢慢 ...

  8. 【Android从零单排系列一】《Android系统发展史》

    目录 前言 一.Android 创始人 二.Android 发展历程 三.Android各版本发布时间及特性 1.AndroidBeta:阿童木 2.Android 1.0:发条机器人 3.Andro ...

  9. Android从零单排之免费短信验证

    转载请注明住处:http://blog.csdn.net/crazy1235/article/details/41912003 介绍 短信验证功能大家都很熟悉了.在很多地方都能见到,注册新用户或者短息 ...

最新文章

  1. opencv隔点采样(下采样)
  2. LC124 Binary Tree Maximum Path Sum
  3. 湘南学院校企计算机班,2020湘南学院重点学科名单特色专业有哪些?
  4. 设置了li(float:right),里面的li反过来显示 - 解决办法
  5. 2009年广东省大学生程序设计竞赛 A
  6. 如何去各型MCU的官网上下载正确的数据手册
  7. 0基础学python要多久-零基础学Python的过程有多难?需要多久?
  8. POJ - 2533(动态规划 —— 最长子序列)
  9. Jave基本知识(一)
  10. 杭电Oj刷题(2009)
  11. 西数服务器硬盘300G,特立独行 西数300G万转猛禽硬盘欣赏
  12. iOS开发之千呼万唤始出来iOS10更新内容以及iOS 10的闪退问题解决
  13. this.$nextTick() 学(cai)习(keng)
  14. 微信小程序如何添加业务域名
  15. dz php7.1语言包,discuz 插件语言包
  16. 率土之滨服务器进备战区维护多久,率土之滨备战区维护,备战区为什么不拆战法...
  17. 浙江工业大学计算机考研科目,浙江工业大学考研专业目录
  18. 解决主机前面板耳机孔无声问题以华硕主板为例
  19. 【沃顿商学院学习笔记】宏观经济学——08贸易集团Trade Blocs
  20. aardio - 升级bindConfig函数,支持多属性和多子组件

热门文章

  1. vacuum清理数据库
  2. win10总是弹出通知的解决办法(关闭防火墙)
  3. Springboot使用杂谈
  4. 深度学习 Transformer机制
  5. 【BZOJ3823】【East!模拟赛_Round5T1】定情信物 推公式+线性筛逆元(推公式法比出题人简)
  6. 这些硬盘参数你都懂得吗?(下篇)
  7. 图像分辨率、像素和宽高比有什么区别?如何在线修改图片尺寸大小?
  8. 【91xcz】Win7资源管理器统一浏览样式
  9. 【Opencv实战】如何快速Get专属头像?惊艳—女友要的头像终于找到了~
  10. 阿里云centos7搭建ChatGPT网站