获取手机通讯录

1 权限

<uses-permission android:name="android.permission.READ_CONTACTS"/>

注意6.0还需要动态权限 demo会有详细的

2.获取手机通讯录

// 获取手机联系人
Cursor phoneCursor = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, PHONES_PROJECTION, null, null, null);
//得到手机号码
String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);
//得到联系人名称
String contactName = phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX);//得到联系人ID
Long contactid = phoneCursor.getLong(PHONES_CONTACT_ID_INDEX);//得到联系人头像ID
Long photoid = phoneCursor.getLong(PHONES_PHOTO_ID_INDEX);

3.获取sim卡通讯录

// 获取Sims卡联系人
Uri uri = Uri.parse("content://icc/adn");
Cursor phoneCursor = resolver.query(uri, PHONES_PROJECTION, null, null,null);
// 得到手机号码
String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);
// 得到联系人名称
String contactName = phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX);
si'm卡没用头像设置一个默认的头像
//Sim卡中没有联系人头像
Bitmap contactPhoto = null;
contactPhoto = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);

4.统一手机号码格式并去除不合格的手机号

phoneNumber = phoneNumber.replaceAll(" ", "");
phoneNumber = phoneNumber.replaceAll("-", "");
phoneNumber = phoneNumber.replaceAll("\\+86", "");
if (phoneNumber.length() != 11)continue;
String substring = phoneNumber.substring(0, 1);
if (!substring.equals("1"))

点击查看demo

qq互助群:471761982

android获取手机通讯录和sim卡通讯录相关推荐

  1. Android小米手机必须插入sim卡才可以usb调试解决方案

    一.需求背景 在测试的过程中有很多的测试机是没有sim卡的,但是小米手机必须插入sim卡才可以usb调试. 二.解决方案 在测试机上插入一下自己的手机卡,把usb安装打开,然后拔出自己的手机卡,后续安 ...

  2. 获取手机通讯录跟sim卡通讯录

    /** 获取库Phone表字段 **/     private static final String[] PHONES_PROJECTION = new String[] { Phone.DISPL ...

  3. java读取手机内存,Android获取手机内存、SD卡总容量和剩余容量

    搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.io.File; import android.app. ...

  4. Android获取手机内存与SD卡的根目录

    直接贴出代码,有需要的可以直接变成工具类使用.优先读取sd卡假设没有sd卡再去手机内存中获取.记得动态配置读写权限! /*** 优先在SD卡,其次是内部存储*/public static String ...

  5. android sim卡联系人存储格式,Android获取手机通讯录、sim卡联系人及调用拨号界面方法...

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

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

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

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

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

  8. Android获取手机的卡槽数量和sim卡数量

    Android获取手机的卡槽数量和sim卡数量 获取手机卡槽数量,即手机是单卡槽还是双卡槽的方法: TelephonyManager tm = (TelephonyManager) getSystem ...

  9. android获取手机sim卡信息,Android获取手机SIM卡运营商信息的方法

    本文实例讲述了Android获取手机SIM卡运营商信息的方法,对于Android程序设计有非常实用的价值.分享给大家供大家参考之用.具体方法如下: 主要功能代码如下: /** * 获取SIM卡运营商 ...

最新文章

  1. 10备忘录没有表格_iPhone的【备忘录】竟然有这么多功能
  2. 类似QQ右上角选项弹框
  3. html中怎样调用xml,HTML中调用XML数据实例
  4. 数学--数论--Miller_Rabin判断素数
  5. 【Java从入门到天黑|04】JavaSE入门之数组
  6. cassandra随机获取数据_从数据库随机获取数据库
  7. 问题 D: Search Problem
  8. 演示使用Metasploit入侵Windows
  9. 《初级会计电算化实用教程(金蝶KIS专业版)》一1.5 课后习题
  10. 数据库驱动加载失败,数据库连接失败
  11. 安装软件提示需要重启电脑的处理方法
  12. 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路
  13. PTA (特立独行的幸福)
  14. 电脑动态壁纸软件哪个好用:试试Wallpaper Engine离线版吧
  15. 阿里达摩院/字节后端研发一面凉面经
  16. 百度竞价ocpc投放是一门玄学吗
  17. nginx证书绑定及二级域名反向代理
  18. 直播预告 | 清华叉院助理教授赵行、在读博士生孙桥:自动驾驶中的行为交互
  19. /Users/xxxx/.zshrc:export:101: not valid in this context: /Users/xxxx/xxxx
  20. 芯片短缺并没有妨碍英特尔创下“有史以来业绩最好的一年”

热门文章

  1. POJ 3342- Party at Hali-Bula (树形dp+判断是否唯一)
  2. 基于虹软人脸识别API和Qt5的人脸识别
  3. 小米MIX 2S获取root权限的步骤
  4. 蒙特梭利 部首和偏旁 练习册(一)蒙氏语言蒙氏素材
  5. (3)pyqt5教程--->信号与槽初试
  6. html一键清空数组中的内容,前端页面中JS和Jquery框架对数组遍历,添加,删除,清空的一些使用...
  7. iPhone截图两种方法介绍
  8. git 上合并分之的冲突解决
  9. Liunx-day01
  10. 华为p10支持鸿蒙,华为鸿蒙 OS 2020 计划曝光!手机仍然优先用安卓