首页 > 移动平台 > 详细

android 获取电话本中的联系人列表

时间:2015-12-03 14:10:34      阅读:332      评论:0      收藏:0      [点我收藏+]

本帖主要是修改了第二种方法在Android Studio中的运用

首先这里介绍一下 获取思路。

第一种 : 直接查通讯录的数据库  

第二种 :设用通讯录的Activity 并返回所选择的数据。

 

 

先实现第二种吧。、第二种相对简单,易操作、

 

你要操作   手机中的通讯录,就要有权限 的操作。

android 内核linux

 

1、要在工程中 AndroidManifest.xml  文件中添加操作权限

Xml代码  技术分享
  1. <!-- 读取联系人权限 -->  
  2. <uses-permission android:name="android.permission.READ_CONTACTS" />  

 
技术分享

 

然后在你的activity 里面编写调用代码:

Java代码  技术分享
  1. Intent intent = new Intent();  
  2.        intent.setAction(Intent.ACTION_PICK);  
  3.        intent.setData(ContactsContract.Contacts.CONTENT_URI);  
  4.        startActivityForResult(intent, REQUEST_CONTACT);  

 

//重写的结果返回方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
if (data == null) {
return;
}
Uri result = data.getData();
String contactId = result.getLastPathSegment();

String name = "";
String phone = "";

//得到名称
String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME ,ContactsContract.Contacts.HAS_PHONE_NUMBER};
Cursor cursor = mContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
projection, // select sentence
ContactsContract.Contacts._ID + " = ?", // where sentence
new String[] { contactId }, // where values
ContactsContract.Contacts.DISPLAY_NAME); // order by

if (cursor.moveToFirst()) {
name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}

//得到 电话
projection = new String[] { ContactsContract.Contacts.NAME_RAW_CONTACT_ID, ContactsContract.Contacts.HAS_PHONE_NUMBER};
cursor = mContext.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null, // select sentence
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId, // where sentence
null , // where values
null); // order by
if (cursor.moveToFirst()) {
phone = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}


//显示

Logger.i(TAG,name+":"+phone);

break;
}
}

 

 就可以得到你选择的 联系的信息了。

 

 

转载自 http://leiwuluan.iteye.com/blog/1511255

android 获取电话本中的联系人列表

原文:http://www.cnblogs.com/Android-FJH/p/5015879.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!