博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android根据电话号码查询联系人名称,导出通讯录所有联系人的方法
阅读量:6084 次
发布时间:2019-06-20

本文共 2178 字,大约阅读时间需要 7 分钟。

android根据电话号码查询联系人名称,导出通讯录所有联系人的方法
 1 
/*
 2 
     * 根据电话号码取得联系人姓名
 3 
     
*/
 4     
public 
static String getContactNameByPhoneNumber(Context context, String address) {
 5         String[] projection = { ContactsContract.PhoneLookup.DISPLAY_NAME,
 6                 ContactsContract.CommonDataKinds.Phone.NUMBER };
 7 
 8         
//
 将自己添加到 msPeers 中
 9 
        Cursor cursor = context.getContentResolver().query(
10                 ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
11                 projection, 
//
 Which columns to return.
12 
                ContactsContract.CommonDataKinds.Phone.NUMBER + " = '"
13                         + address + "'", 
//
 WHERE clause.
14 
                
null
//
 WHERE clause value substitution
15 
                
null); 
//
 Sort order.
16 
17         
if (cursor == 
null) {
18             Log.d(TAG, "getPeople null");
19             
return 
null;
20         }
21         
for (
int i = 0; i < cursor.getCount(); i++) {
22             cursor.moveToPosition(i);
23 
24             
//
 取得联系人名字
25 
            
int nameFieldColumnIndex = cursor
26                     .getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);
27             String name = cursor.getString(nameFieldColumnIndex);
28             
return name;
29         }
30         
return 
null;
31     }
32 
33 
/**
34 
     * 获取所有联系人内容
35 
     * 
@param
 context
36 
     * 
@param
 address
37 
     * 
@return
38 
     
*/
39     
public 
static String getContacts(Context context) {
40         StringBuilder sb = 
new StringBuilder();
41         
42         ContentResolver cr = context.getContentResolver();
43         Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, 
null,
44                 
null
null
null);
45 
46         
if (cursor.moveToFirst()) {
47             
do {
48                 String contactId = cursor.getString(cursor
49                         .getColumnIndex(ContactsContract.Contacts._ID));
50                 String name = cursor
51                         .getString(cursor
52                                 .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
53                 
//
第一条不用换行
54 
                
if(sb.length() == 0){
55                     sb.append(name);
56                 }
else{
57                     sb.append("\n" + name);
58                 }
59                 
60                 Cursor phones = cr.query(
61                         ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
62                         
null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID
63                                 + " = " + contactId, 
null
null);
64                 
while (phones.moveToNext()) {
65                     String phoneNumber = phones
66                             .getString(phones
67                                     .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
68                     
//
 添加Phone的信息
69 
                    sb.append("\t").append(phoneNumber);
70                     
71                 }
72                 phones.close();
73                 
74             } 
while (cursor.moveToNext());
75         }
76         cursor.close();
77         
return sb.toString();

78     } 

转载地址:http://xpkwa.baihongyu.com/

你可能感兴趣的文章
【并查集合并注意!!!!】【最小生成树】
查看>>
【最大流】【HDU3572】Task Schedule
查看>>
iOS - Photo Album 图片/相册管理
查看>>
0723作业
查看>>
2016蓝桥杯 煤球数目 (代码)
查看>>
DOM&BOM
查看>>
a标签设置锚点定位div
查看>>
LightOJ 1079 Just another Robbery
查看>>
【NFS】nfs安装调优
查看>>
Linux 下子线程 exit code 在主线程中的使用
查看>>
类的实例化
查看>>
axios 获取不到数据错误
查看>>
一文掌握Docker Compose
查看>>
9.5 考试 第一题 礼物题解
查看>>
数据结构占坑
查看>>
【Laravel】安装并且运行
查看>>
设计模式之代理模式(一)
查看>>
My platform info!
查看>>
Xcode 8 : iOS xib is missing from working copy、iOS misssing file
查看>>
网关服务Spring Cloud Gateway(二)
查看>>