`
喧嚣求静
  • 浏览: 579870 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

获取手机电话号码和联系名字

 
阅读更多
扩展阅读:
用PhoneLookup进行电话号码查询 
http://hubingforever.blog.163.com/blog/static/1710405792010584341058/

http://www.cnblogs.com/over140/archive/2011/06/29/2091541.html

经实际验证,以下工具方法,有点不理想,但可以参照。

主配置文件中,增加权限
<uses-permission android:name="android.permission.READ_CONTACTS" />


工具类方法
public static  List<Map<String, String>> getTelAndNameMaps(Context context) {  
    List<Map<String, String>> items = new ArrayList<Map<String, String>>();  

    Cursor cur = null;  
    try {  
        // Query using ContentResolver.query or Activity.managedQuery  
        cur = context.getContentResolver().query(  
                ContactsContract.Contacts.CONTENT_URI, null, null, null, null);  
        if (cur.moveToFirst()) {  
            int idColumn = cur.getColumnIndex(  
                    ContactsContract.Contacts._ID);  
            int displayNameColumn = cur.getColumnIndex(  
                    ContactsContract.Contacts.DISPLAY_NAME);  
            // Iterate all users  
            do {  
                String contactId;  
                String displayName;  
                String phoneNumber = "";  
                // Get the field values  
                contactId = cur.getString(idColumn);  
                displayName = cur.getString(displayNameColumn);  
                // Get number of user's phoneNumbers  
                int numberCount = cur.getInt(cur.getColumnIndex(  
                        ContactsContract.Contacts.HAS_PHONE_NUMBER));  
                if (numberCount>0) {  
                    Cursor phones = context.getContentResolver().query(  
                            ContactsContract.CommonDataKinds.Phone.CONTENT_URI,  
                            null,  
                            ContactsContract.CommonDataKinds.Phone.CONTACT_ID   
                            + " = " + contactId   
                            /*+ " and " + ContactsContract.CommonDataKinds.Phone.TYPE  
                            + "=" + ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE*/,  
                            null, null);  
                    if (phones.moveToFirst()) {  
                        int numberColumn = phones.getColumnIndex(  
                                ContactsContract.CommonDataKinds.Phone.NUMBER);  
                        // Iterate all numbers  
                        do {  
                            phoneNumber += phones.getString(numberColumn) + " ";  
                        } while (phones.moveToNext());  
                    }   
                }  
                // Add values to items  
                HashMap<String, String> i = new HashMap<String, String>();  
                i.put("name", displayName.trim());  
                i.put("tel", phoneNumber.trim());  
                items.add(i);  
            } while (cur.moveToNext());  
        } else {  
            HashMap<String, String> i = new HashMap<String, String>();  
            i.put("name", "Your Phone");  
            i.put("tel", "Have No Contacts.");  
            items.add(i);  
        }  
    } finally {  
        if (cur != null)  
            cur.close();  
    }  
    return items;  
}  


终于熬出来了。
速度有所提升。
在附件中,解压密码:over


扩展阅读:
[url=http://www.cnblogs.com/lycoris/archive/2011/05/13/2037716.html ]android Contacts使用[/url]

分享到:
评论

相关推荐

    手机号码归属地数据包-2018-附PHPdome

    标题中的“手机号码归属地数据包-2018-附PHPdome”指的是一个包含2018年手机号码归属地信息的数据集合,其中包含了使用PHP编程语言处理和展示这些数据的示例代码,即PHPdome。PHPdome可能是一个工具或框架,用于便捷...

    火山一键获取所有联系人信息类.rar

    2. **ContactsContract类**:ContactsContract是一个抽象类,定义了各种常量和类,它们代表了联系人的不同部分,如名字、电话号码、电子邮件地址等。例如,ContactsContract.Contacts表用来存储联系人的基本信息,...

    Jquery-Ajax获取手机号归属地实例

    在本文中,我们将深入探讨如何使用jQuery-Ajax技术来实现获取手机号码归属地的功能。这个实例将演示如何通过Ajax异步请求与外部接口交互,从而动态获取并展示手机号的归属地信息。在这个案例中,我们特别使用了淘宝...

    Android---获取手机联系人

    下面是一个简单的示例,展示如何获取手机联系人的名字和电话号码: ```java // 获取ContentResolver实例 ContentResolver resolver = getContentResolver(); // 使用ContactsContract类中的CommonDataKinds.Phone....

    iOS 获取手机通信录(仿微信 支付宝 手机话费 流量充值效果)

    在iOS开发中,获取手机通信录是一项常见的功能,尤其在社交应用、支付应用以及生活服务类应用中,如微信、支付宝等,用户可能需要通过通讯录来查找联系人进行转账或者分享信息。本文将详细讲解如何在iOS中实现类似...

    安卓Android源码——获取手机通讯录的实战应用(含SIM卡中的联系人).rar

    7. **数据项和联系人**:在Android中,联系人是由多个数据项(如名字、电话号码、电子邮件地址)组成的,这些数据项通过`ContactsContract.Data`表关联到特定的联系人。 8. **分组和标签**:Android通讯录还支持...

    仿微信联系人手机获取适配7.0

    "仿照微信获取手机联系人A-Z列表"意味着我们需要创建一个类似微信联系人的界面,通常包括一个侧滑菜单和一个包含字母索引的联系人列表。你可以使用`RecyclerView`来展示联系人列表,每个条目显示联系人的名字和头像...

    安卓android获取手机

    在安卓(Android)平台上,获取手机联系人是常见的功能,主要涉及到系统提供的ContentResolver和ContactsContract类。这一过程涉及到以下几个关键知识点: 1. **ContentResolver**:在Android中,ContentResolver是...

    获取手机联系人信息包括头像,手机号等

    这段代码会按照联系人名字的字母顺序获取所有联系人及其电话号码。需要注意的是,为了保护用户隐私,从Android 6.0(API级别23)开始,需要在运行时请求读取联系人的权限(READ_CONTACTS)。 接下来,我们要获取...

    获取通讯录姓名和号码

    开发者可以通过查询ContactsContract.Contacts表来获取联系人信息,包括姓名和电话号码。 在iOS中,类似地,我们需要使用AddressBook框架(在iOS 9及更高版本中被Contacts框架取代)。通过CNContactStore对象,我们...

    Android 获取手机联系人并按字母排序,且可根据字母右侧A~Z检索-IT计算机-毕业设计.zip

    每个条目都包含联系人的名字、电话号码等信息。 6. **字母索引(A~Z侧滑导航)**: 实现字母索引功能通常需要一个侧面栏,显示A到Z的字母,用户点击后能快速定位到对应的联系人列表部分。这涉及到滑动监听、触摸...

    手机号码归属地 17w多条数据

    在实际应用中,通过手机号码归属地查询,可以获取到用户的大概居住或工作地点,这对于商业服务定位、反欺诈检测等场景非常有用。 在“压缩包子文件的文件名称列表”中提到了Phone_17w.mdb,这很可能是数据库文件的...

    Android应用源码获取手机通讯录的实战应用(含SIM卡中的联系人.zip

    这段代码会遍历所有联系人,获取他们的名字和电话号码。注意,为了获取SIM卡中的联系人,我们需要额外处理。在某些设备上,SIM卡联系人存储在`ContactsContract.RawContacts`表中,带有`ContactsContract....

    获取手机邮件联系人

    ContentResolver与ContactsContract类结合使用,可以获取到联系人的各种信息,包括名字、电话号码、电子邮件等。 1. **访问手机联系人数据**: - 使用ContentResolver的query()方法,传入ContactsContract....

    Android实现通讯录效果——获取手机号码和姓名

    例如,获取名字(`DISPLAY_NAME`)和电话号码(`NUMBER`): ```java if (cursor.moveToFirst()) { do { String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone....

    Android 获取系统联系人并发送短信demo

    5. **处理数据**:在遍历过程中,可以通过getString()方法获取指定列的值,如获取联系人的名字和电话号码。 **发送短信** 发送短信涉及到使用SmsManager类。以下是如何发送短信的基本步骤: 1. **请求权限**:...

    获取手机通讯录

    以下代码演示了如何获取并打印所有联系人的名字和电话号码: ```swift import Contacts let store = CNContactStore() store.requestAccess(for: .contacts) { granted, error in if granted { let fetchRequest...

    基于PHP的skyest_cn手机号码归属地工具php版源码.zip

    【描述】"基于PHP的skyest_cn手机号码归属地工具php版源码.zip" 描述中提到的"skyest_cn"可能是这个工具的开发者或服务提供商的名字,它提供了一个手机号码归属地查询的服务。源码是这个工具的核心部分,包含了一...

    联系人信息获取添加

    在Android系统中,联系人管理是一项重要的功能,它允许用户存储和管理他们的联系人信息,包括姓名、电话号码、电子邮件地址等。本教程将详细讲解如何在Android应用中获取联系人信息以及如何添加新的联系人。 一、...

    获取手机通讯录的实战应用(含SIM卡中的联系人).zip

    主要涉及的表有`Contacts`、`RawContacts`、`Data`等,它们分别存储着联系人基本信息、原始联系人信息和联系人具体数据项(如名字、电话号码、邮箱地址等)。 3. **查询联系人**: 使用`ContentResolver`和`Uri`...

Global site tag (gtag.js) - Google Analytics