频道栏目
首页 > 程序开发 > 移动开发 > Android > 正文
android获取手机通讯录和sim卡通讯录
2017-11-14 10:35:36      个评论    来源:qq_35698774的博客  
收藏   我要投稿

android获取手机通讯录和sim卡通讯录。

获取手机通讯录

\

1 权限

注意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"))
点击复制链接 与好友分享!回本站首页
上一篇:AndroidStudio托管新项目至码云实现方法
下一篇:android开发 overlay机制研究
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站