获取手机通讯录

原创 2016年06月01日 19:22:16

获取手机联系人和通讯录是比较常见的功能,由于iOS8之后获取的方法有所变化,使得获取时方法的兼容性变的并不那么友好,本文对获取单个联系人和完整通讯录的方法进行了简单的封装,用于选择单个联系人和获取通讯录。

注:本文中的方法只针对iOS7.0之后进行兼容,同时需要注意的是除非有特殊需求,否则不要轻易隐性获取用户的通讯录,更不能泄漏用户的个人信息。

1)为了保持实现功能的独立性,避免不必要的外部依赖,我们为UIWindow创建一个Category来现实获取应用中当前正在显示的控制器,然后用该控制器来present出来ABPeoplePickerNavigationController对象。主要实现如下,通过简单递归来查找当前正在显示的控制器。


2)在工程中引入AddressBook.framework和AddressBookUI.framework两个系统框架和相关头文件,创建继承于NSObject的AddressBookManager的通讯录管理类。

定义以下枚举类型,用以表示返回的状态;


定义返回回调函数


其中code代表返回的状态,response代表操作的返回数据结果。

定义两个类方法,分别用于选个单个联系人和整个通讯录


3)获取单个联系人的方法实现


在iOS7中需要实现的代理方法


在iOS8_OR_LATER中需要实现以下代理方法:


获取完整通讯录的方法实现


想要获取详细的实现细节,可以点击下载。

版权声明:本文为博主原创文章,未经博主允许不得转载。

OC实现简单通讯录

1、定义联系人类AddressContact。实例变量:姓名、性别、电话号码、住址、分组名称。方法:自定义初始化方法(姓名、电话号码)、显示联系人信息     2、在main.m中定义可变数组,...
  • YY_Seven
  • YY_Seven
  • 2014年05月19日 16:44
  • 5020

iOS之获取手机通讯录

#import "ViewController.h" #import //导入的头文件,iOS9之前是 //#import @interface ViewController (...
  • u011146511
  • u011146511
  • 2017年03月31日 14:45
  • 276

获取手机通讯录信息方法总结

1.最简洁的方法 使用类 android.provider.ContactsContract.CommonDataKinds.Phone;  代码如下: Cursor c = getC...
  • lengyueqiufeng
  • lengyueqiufeng
  • 2014年11月04日 13:42
  • 1650

获取手机通讯录-----1.1(取出通讯录数据)

获取手机通讯录在开发中经常会用到,这边记下以后日后查看。        1、获取手机通讯录是要取得系统权限的将下面权限添加到AndroidManifest文件中(我经常在权限问题上吃亏,经常代码写好了...
  • a873228446
  • a873228446
  • 2014年11月26日 15:48
  • 2103

js手机通讯录

ionic页面··············································································            ...
  • l775632765
  • l775632765
  • 2017年02月16日 10:23
  • 2615

webView与js交互——获取通讯录手机号并显示运营商

在android开发中获取手机号是很轻松的。而现在许多应用的开发是
  • btt2013
  • btt2013
  • 2016年07月19日 14:35
  • 1459

获取手机通讯录 (含SIM卡中的联系人)

sim卡UIR content://icc/fdn content://sim/fdn MOTO XT800比较异常,通讯录在: content://contacts/phones  1...
  • sosohotsummer
  • sosohotsummer
  • 2013年01月07日 11:02
  • 1404

获取手机通讯录的简单实现

直接上代码: 在AndroidManifest.xml 中添加权限 xmlns:android="http://schemas.android.com/apk/res/android" ...
  • caizhigui
  • caizhigui
  • 2016年07月14日 18:39
  • 364

Android开发之获取手机通讯录

获取手机通讯录是Android最常用的小功能,今天自学到了,记下来,主要是通过系统自带的内容提供者提供的数据,我们使用内容接收者获取相应的数据到cursor中,然后获取对应data表中的字段,相关字段...
  • fengshizty
  • fengshizty
  • 2014年11月18日 23:23
  • 2007

获取手机联系人的两种方法

权限 :   import java.util.ArrayList; import java.util.List; import android.app.Activity; import andr...
  • lixinbb
  • lixinbb
  • 2017年08月02日 10:46
  • 909
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取手机通讯录
举报原因:
原因补充:

(最多只允许输入30个字)