前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >调用系统联系人列表

调用系统联系人列表

作者头像
用户3135539
发布2018-09-12 10:58:12
7110
发布2018-09-12 10:58:12
举报
文章被收录于专栏:

调用系统联系人列表

代码语言:javascript
复制
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
startActivityForResult(intent, ACTION_PICK);

获取返回

代码语言:javascript
复制
代码
 1 @Override
 2     protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
 3         if (ACTION_PICK == requestCode) {
 4             if (resultCode == Activity.RESULT_OK) {
 5                 Uri contactData = intent.getData();
 6                 Cursor c = managedQuery(contactData, null, null, null, null);
 7                 if (c.moveToFirst()) {
 8                     getContactInfo(intent);
 9                 }
10             }
11         }
12         super.onActivityResult(requestCode, resultCode, intent);
13     }

解析联系人信息 

代码

代码语言:javascript
复制
1 private void getContactInfo(Intent intent) {
 2         Cursor cursor = managedQuery(intent.getData(), null, null, null, null);
 3         while (cursor.moveToNext()) {
 4             String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
 5             String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
 6             String phoneNumber = null, emailAddress=null;
 7             String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
 8 
 9             if (hasPhone.equalsIgnoreCase("1"))
10                 hasPhone = "true";
11             else
12                 hasPhone = "false";
13 
14             if (Boolean.parseBoolean(hasPhone)) {
15                 Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
16                         ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null);
17                 while (phones.moveToNext()) {                    
18                     phoneNumber += phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)) +";";
19                 }
20                 phones.close();
21             }
22 
23             txtContact.setText(name);
24             txtMessage.setText(phoneNumber);
25 
26             Cursor emails = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null,
27                     ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId, null, null);
28             while (emails.moveToNext()) {
29                 emailAddress = emails.getString(emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
30             }
31             emails.close();
32 
33             Cursor address = getContentResolver().query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI, null,
34                     ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + " = " + contactId, null, null);
35             while (address.moveToNext()) {
36                 String poBox = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX));
37                 String street = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET));
38                 String city = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));
39                 String state = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION));
40                 String postalCode = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE));
41                 String country = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));
42                 String type = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE));
43             }
44             address.close();
45         }
46         cursor.close();
47     }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011-01-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档