android获取手机通讯录联系人信息

private void getPhoneContacts() {  ContentResolver resolver = this.getContentResolver();  // 获取手机联系人  Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,new String[] { Phone.CONTACT_ID, Phone.DISPLAY_NAME,Phone.NUMBER },Phone.DISPLAY_NAME + "=?" + " AND " + Phone.TYPE + "='"+ Phone.TYPE_MOBILE + "'", new String[] { name }, null);if (phoneCursor != null) {while (phoneCursor.moveToNext()) {String number = phoneCursor.getString(2);// 当手机号码为空的或者为空字段 跳过当前循环  if (TextUtils.isEmpty(phoneNumber))  continue;// 得到联系人名称              String username = phoneCursor.getString(1);mContactsName.add(contactName);  mContactsNumber.add(phoneNumber);}phoneCursor.close();}
}

获得手机sim卡联系人信息

sim卡和手机本人 获取的方式类似 只是url有点不一样 ,须要注意的一点是 sim卡  是没有联系人头像的。

private void getSIMContacts() {  ContentResolver resolver = mContext.getContentResolver();  // 获取Sims卡联系人  Uri uri = Uri.parse("content://icc/adn");  Cursor phoneCursor = resolver.query(uri,new String[] { Phone.CONTACT_ID, Phone.DISPLAY_NAME,Phone.NUMBER },Phone.DISPLAY_NAME + "=?" + " AND " + Phone.TYPE + "='"+ Phone.TYPE_MOBILE + "'", new String[] { name }, null);if (phoneCursor != null) {while (phoneCursor.moveToNext()) {String number = phoneCursor.getString(2);// 当手机号码为空的或者为空字段 跳过当前循环  if (TextUtils.isEmpty(phoneNumber))  continue;// 得到联系人名称             String username = phoneCursor.getString(1);mContactsName.add(contactName);  mContactsNumber.add(phoneNumber);}phoneCursor.close();}
}

调用系统拨打电话的界面 ,代码如下。
tel:电话号码

//调用系统方法拨打电话  Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + mContactsNumber.get(position)));  startActivity(dialIntent); 

最后,千万别忘记在AndroidManifest.xml文件中添加权限,否则运行程序是报错!

<!-- 读取联系人权限 -->
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<!-- 拨打电话权限 -->
<uses-permission android:name="android.permission.CALL_PHONE"/>

android获取手机通讯录联系人相关推荐

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

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

  2. Android 获取手机通讯录联系人列表(仅供学习)

    老规矩先上效果图: 在Android6.0以后我们需要手动去获取权限,我在程序里已经加入,其他权限可以参考Android 6.0权限管理以及动态申请, 友善提醒:不要用于非法用途哟 下面直接贴代码 1 ...

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

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

  4. android获取手机通讯录和sim卡通讯录

    获取手机通讯录 1 权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> 注意6. ...

  5. 获取手机通讯录联系人(包含模糊查询,dialog自定义,也有一个自定义通知栏)

    这里还有一个联系人类: package com.example.sendmsg;import android.graphics.Bitmap;public class ContactEntity {/ ...

  6. android 获取单个通讯录联系人信息(无权限跳转权限设置页面)

    首先说一下,在魅族手机上需要用户手动开启权限,不然获取到的cursor.moveToFirst()会返回false,反过来,如果cursor.moveToFirst()返回false,一般都是权限问题 ...

  7. android获取手机通讯录

    在android中读取联系人信息的程序,包括读取联系人姓名.手机号码和邮箱 (转载自博客:http://www.cnblogs.com/error404/archive/2013/03/12/2956 ...

  8. Android 获取手机通讯录信息 — 头像、姓名和A-Z的快速查询

    首先先看一下效果图再说吧: 具体实现过程如下: 先在AndroidManifest.xml文件中添加读取联系人的权限: 1 <uses-permission android:name=" ...

  9. Android 获取手机通讯录信息 — 头像、姓名和A-Z的快速查询

    具体实现过程如下: 先在AndroidManifest.xml文件中添加读取联系人的权限: 1 <uses-permission android:name="android.permi ...

最新文章

  1. 异步发送邮件、短信、微信
  2. ios游戏开发 Sprite Kit教程:初学者 2
  3. Executor 执行器接口笔记
  4. SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
  5. idea_取消自动import .*
  6. SQLServer 维护脚本分享(08)临时数据库(tempdb)
  7. 【报告分享】完美日记品牌分析报告.pdf(附68页pdf全文下载链接)
  8. 你真的理解反向传播吗?面试必备
  9. android 打包问题,Android离线打包常见问题
  10. 用Jsoup从网页上抓取中国地区编号转变成Map
  11. stm32模块化编程
  12. 删除后别人的微信号变成wxid_一不小心删除了好友,怎么办?
  13. C语言求水仙花数(自幂数)
  14. Google Dremel 原理 – 如何能 3 秒分析 1PB
  15. 【win10】文件重命名怎么改不了文件格式/改不了后缀/想要更改文件后缀/改变文件类型
  16. MySQL的多表查询
  17. 后端线上问题排查常用命令;关键时候能救命,建议收藏!
  18. csp认证考试准备Day-1
  19. python中图片转PDF的2种方法
  20. 《渗透测试实践指南》读书笔记之信息搜集

热门文章

  1. echarts 柱状图柱子改成圆柱体_Origin做多因子柱状图
  2. mysql数据库死锁原因分析
  3. python(按地名)批量获取经纬度坐标
  4. Linq的底层原理探讨
  5. 3D打印中最常见的清洗问题,如何解决
  6. windows 免费的录制工具
  7. DevExpress GridView 选中单元格文本内容当失去焦点又获得焦点时保持原来的文本选中内容
  8. Windows Touch 触摸板编程
  9. 巧妙防治网上病毒侵害的方法步骤
  10. DNS服务器设置正确,客户机在加入域时,需要正确设置首选DNS服务器地址,否则无法加入。 ( )...