下面代码作为类可以调用

public class Delete {Context context;private String[] columns = {CallLog.Calls.CACHED_NAME// 通话记录的联系人, CallLog.Calls.NUMBER};//通话记录的电话号码public Delete(Context context){this.context=context;}//删除文件(夹)public static void deleteFile(File file){if(file.exists()){                          //判断文件是否存在if(file.isFile()){                      //判断是否是文件boolean isSucess = file.delete();Log.i("TAG:","文件删除状态--->" + isSucess);}else if(file.isDirectory()){           //判断是否是文件夹File files[] = file.listFiles();    //声明目录下所有文件for (int i=0;i<files.length;i++){   //遍历目录下所有文件deleteFile(files[i].getAbsoluteFile());           //把每个文件迭代删除}boolean isSucess = file.delete();Log.i("TAG:","文件夹删除状态--->" + isSucess);}}}//删除指定电话号码或者联系人姓名的通话记录public void DeleteCallLogByNumber(String number) {Cursor cursor = context.getContentResolver().query(CallLog.Calls.CONTENT_URI, columns, null, null, null);while (cursor.moveToNext()) {String contactName = cursor.getString(cursor.getColumnIndex(CallLog.Calls.CACHED_NAME));String contactNumber = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER));if (number.equals(contactName) || number.equals(contactNumber)) {String queryString = "NUMBER=" + contactNumber;context.getContentResolver().delete(CallLog.Calls.CONTENT_URI, queryString, null);}}}//删除指定电话号码或者联系人姓名的联系人public void testDelete(String name)throws Exception{//根据号码求姓名,如果是姓名也不会影响结果Uri uri0 = Uri.parse("content://com.android.contacts/data/phones/filter/"+name);ContentResolver resolver0 = context.getContentResolver();Cursor cursor0 = resolver0.query(uri0, new String[]{ContactsContract.Data.DISPLAY_NAME}, null, null, null);if(cursor0.moveToFirst()){Log.i("Contacts", "name="+cursor0.getString(0));name=cursor0.getString(0);}//根据姓名求idUri uri = Uri.parse("content://com.android.contacts/raw_contacts");ContentResolver resolver = context.getContentResolver();Cursor cursor = resolver.query(uri, new String[]{ContactsContract.Contacts.Data._ID},"display_name=?", new String[]{name}, null);if(cursor.moveToFirst()){int id = cursor.getInt(0);//根据id删除data中的相应数据resolver.delete(uri, "display_name=?", new String[]{name});uri = Uri.parse("content://com.android.contacts/data");resolver.delete(uri, "raw_contact_id=?", new String[]{id+""});}}
}

项目要求还有删除短信,但是Android4.4之后就不允许第三方应用删除短信了,暂时没有找到解决方法,如果有大佬知道还请指教一下,谢谢。

Android删除手机文件,联系人,通话记录相关推荐

  1. Android通讯录管理 获取联系人 通话记录 短信消息 一

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Andr ...

  2. android通讯录管理(获取联系人,通话记录,短信消息),Android通讯录管理(获取联系人、通话记录、短信消息)(二)...

    Android通讯录管理(获取联系人.通话记录.短信消息)(二) 前言:上一篇博客介绍的是获取联系人的实现,本篇博客将介绍通话记录的实现. 界面布局: /Contact_Demo/res/layout ...

  3. android 通过手机号码查询联系人,android获取手机通讯录联系人

    android获取手机通讯录联系人信息 private void getPhoneContacts() { ContentResolver resolver = this.getContentReso ...

  4. Android删除UIM卡联系人

    Android删除UIM卡联系人 问题描述: Android系统下如果保存过UIM卡联系人后,无法彻底删除.即使通过联系人管理删除了UIM卡联系人,重启手机后UIM卡联系人依然会出现.甚至把UIM卡拔 ...

  5. android获取手机通讯录联系人

    android获取手机通讯录联系人信息 private void getPhoneContacts() { ContentResolver resolver = this.getContentReso ...

  6. 手机误删的通话记录要怎么恢复

    手机误删的通话记录要怎么恢复? 我这人有一个毛病,就是不喜欢存号码,记性不好,又记不住号码,我一直都喜欢最为老掉牙的方式,带着名片,觉得这样比较有感觉.呵呵,当然,这个只是个人的癖好,似乎放眼下来,没 ...

  7. Android通讯录管理(获取联系人 通话记录 短信消息)(一)

    Android通讯录管理(获取联系人.通话记录.短信消息) 2014年2月26日 通讯录开发研究学习 前言:前阵子主要是记录了如何对联系人的一些操作,比如搜索,全选.反选和删除等在实际开发中可能需要实 ...

  8. Android通讯录管理(获取联系人 通话记录 短信消息)(三)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Andr ...

  9. android 联系人批量插入,GitHub - Atinerlengs/InsertDemo: android 简单的批量插入通话记录、联系人、短信demo...

    [toc] 批量插入 批量插入通话记录 下面是添加通话数据的代码,我们自己去构造Tb_calllogs数据,里面可以添加通话记录数据字段,由于是个简单的demo,所以只加了number.callTyp ...

最新文章

  1. Sophos将AI技术用于预防恶意IP的安全解决方案中
  2. java中注解的解析_【Java】中的注解与注解解析器
  3. c/c++的“大小,长度
  4. C# 10 新特性 —— 补充篇
  5. 苹果5G手机因疫情影响 或将推迟至10月发布
  6. C#中的正则表达式引擎
  7. Maven中引入本地jar包
  8. securecrt遇到一个致命的错误且必须关闭_谈谈如何利用 valgrind 排查内存错误
  9. CMake笔记2 构建动态链接库
  10. 面试官:谈谈 Tomcat 请求处理流程,我一脸懵逼。。
  11. 计算机网络超详细笔记(四):介质访问控制子层
  12. html中怎么加入动态图片,视频加动态水印 怎么在视频画面中添加一个gif动态图片水印...
  13. SpringCloud 入门级别教程,初学者专用,有netiflex原版教程,更有SpringCloudAlibaba微服务教程
  14. android 视频播放器框架 [饺子播放器](https://github.com/Jzvd/JiaoZiVideoPlayer) 源码解析与评估
  15. Unity中表格制作与动态生成
  16. Android 复杂的多类型列表视图新写法:MultiType 3.0
  17. Impala集群搭建报错,主节点启动成功,但是worker节点的impalad启动失败
  18. 清华大学交叉信息研究院姚班修改培养模式:姚班、智班、量信班全合并
  19. SparkRDD函数详解
  20. LaTeX 第一页不显示页码

热门文章

  1. Yii和ThinkPHP对比杂谈
  2. Android6.0权限管理-PermissionsDispatcher
  3. Android 6.0 Fragment权限请求问题
  4. H5 -- (功能)基于html2canvas实现长按网页保存为图片到本地
  5. 直播平台的视频美颜sdk是什么?
  6. Redis(四)Redis内存
  7. fifaol3服务器位置,《FIFA OL3》最热位置观察 传奇球星遍布服务器
  8. ZZULIOJ1047
  9. 连接 linux 数据库连接不上 解决问题权限
  10. Matlab: 常用语句