访问通讯录

设置访问通讯录权限

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

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

String str="";

        Uri uri=Uri.parse("content://com.android.contacts/contacts");

        ContentResolver resolver=getApplicationContext().getContentResolver();

        Cursor cursor=resolver.query(uri, new String[]{"_id"}, null, null, null);

        while(cursor.moveToNext()){

            int contactid=cursor.getInt(0);

            str+="contentID:";

            str+=contactid;

            Uri uri2=Uri.parse("content://com.android.contacts/contacts/"+contactid+"/data");

            Cursor cursor2=resolver.query(uri2, null, null, null, null);

            //String[] strings=cursor2.getColumnNames();

            //cursor2.moveToFirst();

            while(cursor2.moveToNext()){

                String data=cursor2.getString(cursor2.getColumnIndex("data1"));

                String type=cursor2.getString(cursor2.getColumnIndex("mimetype"));

                if("vnd.android.cursor.item/name".equals(type)){

                    //姓名

                    str+=",name="+data;

                }else if("vnd.android.cursor.item/phone_v2".equals(type)){

                    //电话数据

                    str+=",phone="+data;

                }else if("vnd.android.cursor.item/email_v2".equals(type)){

                    //电话数据

                    str+=",email="+data;

                }

            }

            Log.i("TAG", str);

            str="";

        }

        Toast.makeText(getApplicationContext(), "success", 1).show();
时间: 2024-08-25 18:08:04

访问通讯录的相关文章

iOS 访问通讯录

1.构建UI 2.向用户申请通讯录的授权 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 5 // 请求访问通讯录的权限 6 [self requestAccessAddressBook]; 7 } 8 9 // 请求访问通讯录的权限 10 - (void)requestAccessAddressBook 11 { 12 // 创建通讯录实例对象 13 ABAddressBookRef addressbook = ABAddressBookC

(一〇一)集成静态库RHAddressBook实现OC访问通讯录

使用官方的AddressBook框架仅能使用C语言访问通讯录,十分不便,这里介绍集成第三方框架RHAddressBook的方法,该框架可以通过OC访问和操作通讯录. 该框架是一个静态库,集成比较复杂. 首先下载该框架:RHAddressBook,下面有关于集成的一些介绍,下面简单的介绍一下集成的过程. ①首先把静态库工程直接拖入自己的工程: ②选中自己的工程,工程配置中选择Build Phases,按照下图导入两个文件,点击左侧的加号添加即可. ③选择Build Settings,搜索Heade

访问通讯录并设置联络人信息

1.访问通讯录 // // ViewController.h // My Pick Contact App // // Created by Hans-Eric Grönlund on 8/29/12. // Copyright (c) 2012 Hans-Eric Grönlund. All rights reserved. // #import <UIKit/UIKit.h> #import <AddressBook/AddressBook.h> #import <Add

Swift - 访问通讯录联系人(使用系统提供的通讯录交互界面)

1,通讯录访问介绍 通讯录(或叫地址簿,电话簿)是一个数据库,里面储存了联系人的相关信息.要实现访问通讯录有如下两种方式: (1)AddressBook.framework框架 : 没有界面,通过代码来获取所有联系人信息 (2)AddressBookUI.framework框架 : 通过系统提供的通讯录交互界面来访问(本文样例使用此方式) 2,联系人记录的属性 在一条联系人记录中,有很多属性,而这些属性又分为单值属性和多值属性. 单值属性是只有一个值的属性:如姓氏.名字.部门.备注等. 多值属性

Swift - 访问通讯录联系人(使用纯代码实现)

1,通讯录访问介绍 通讯录(或叫地址簿,电话簿)是一个数据库,里面储存了联系人的相关信息.要实现访问通讯录有如下两种方式: (1)AddressBook.framework框架 : 没有界面,通过代码来获取所有联系人信息(本文样例使用此方式) (2)AddressBookUI.framework框架 : 通过系统提供的通讯录交互界面来访问 2,联系人记录的属性 在一条联系人记录中,有很多属性,而这些属性又分为单值属性和多值属性. (1)单值属性是只有一个值的属性: kABPersonLastNa

IOS开发- 访问通讯录,并将通讯录中姓名-头像-手机号码 发给服务器

现在很多软件都会访问通讯录,并将通讯录的信息取得,发给服务器,然后服务器会返回相应电话号码的用户是否注册. 现在分享一下前两步,访问通讯录并处理通讯录的信息 1.导入框架 #import <AddressBook/AddressBook.h> 2.拥有属性 { ABAddressBookRef _book; } 以及 //联系人数组 @property (nonatomic, strong) NSMutableArray *telphoneContacts; 3.在viewDidLoad中创建

iOS.访问通讯录.01.读取联系人信息

1.相关函数介绍 1.创建通讯录对象函数 ABAddressBookRef ABAddressBookCreateWithOptions( CFDictionaryRef options, CFErrorRef *error ); 例子: CFErrorRef error = NULL; ABAdressBookRef addressBook = ABAdressBookCreateWithOptions(NULL,&error); ABAddressBookRequestAccessWithC

iOS.访问通讯录.00.概述

1.移动设备上都有一个很重要的内置数据库 -- 通讯录,苹果把它扩展到了iCloud上,使苹果设备间可以共享通讯录信息. 2.在iOS上,通讯录放在SQLite3数据库中,但是应用之间不能直接访问,也就是说我们自己编写的应用不能采用数据持久化技术直接访问通讯录数据库.为了实现通讯录数据库的访问,苹果开放了一些专门的API. 3.处于安全考虑,iOS6之后的应用访问通讯录时,需要获得用户的授权,与其他应用(如定位服务授权)不同的是,通讯录对一个应用只授权一次,即便是这个应用删除后重新安装,也不必再

iOS.访问通讯录.02.写入联系人

一.创建联系人 1.创建联系人记录 ABRecord person = ABPersonCreate(); 2.保存或修改单值属性 bool ABRecordSetValue( ABRecordRef record, ABPropertyID property, CFTypeRef value, CFErrorRef *error ); 例子: CFError error = NULL; // 保存姓名 ABRecordSetValue(person,kABPersonFirstNameProp