android2.1获取联系人

本文介绍了一种在Android设备上获取联系人信息的方法,包括读取联系人姓名、ID及电话号码等,并提供了如何筛选手机号码的具体实现。
  1. public void getContact(){   
  2.   //获得所有的联系人   
  3.  Cursor cur = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, nullnullnullnull);   
  4.  //循环遍历   
  5.  if (cur.moveToFirst()) {   
  6.     int idColumn  = cur.getColumnIndex(ContactsContract.Contacts._ID);   
  7.        
  8.     int displayNameColumn = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);   
  9.     do {   
  10.         //获得联系人的ID号   
  11.        String contactId = cur.getString(idColumn);   
  12.        //获得联系人姓名   
  13.        String disPlayName = cur.getString(displayNameColumn);   
  14.        //查看该联系人有多少个电话号码。如果没有这返回值为0   
  15.        int phoneCount = cur.getInt(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));   
  16.        if(phoneCount>0){   
  17.            //获得联系人的电话号码   
  18.            Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+ " = " + contactId, nullnull);   
  19.            if(phones.moveToFirst()){   
  20.                do{   
  21.                    //遍历所有的电话号码   
  22.                    String phoneNumber= phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));   
  23.                    System.out.println(phoneNumber);   
  24.                }while(phones.moveToNext());   
  25.            }   
  26.           
  27.        }   
  28.     
  29.      } while (cur.moveToNext());   
  30.     
  31.  }   
  32.  }   
  33.    

在联系人的电话号码中有很多种,如果只想获得手机号码。代码如下:

  1. Cursor phones = mContext.getContentResolver().query(   
  2.                 ContactsContract.CommonDataKinds.Phone.CONTENT_URI,   
  3.                 null,   
  4.                 ContactsContract.CommonDataKinds.Phone.CONTACT_ID   
  5.                         + " = " + contactId +" and "+ContactsContract.CommonDataKinds.Phone.TYPE+"="+ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE, nullnull);  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值