android 联系人获取号码类型

指定类型获取号码

 private Cursor getPhoneByType(String contactId, int type) {
  Cursor phone = context.getContentResolver().query(
    ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
    null,
    ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "
      + contactId + " AND "
      + ContactsContract.CommonDataKinds.Phone.TYPE + "="
      + type, null, null);
  return phone;
 }

 

   Cursor phone = null;
   // 获取手机号码
   phone = getPhoneByType(contactId,
     ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);
   while (phone.moveToNext()) {
    Log.i("phone",String.valueOf(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
    mobilePhone = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
    Log.i("mobilePhone", mobilePhone);
   

   }
   // //获取家庭号码
   phone = getPhoneByType(contactId,
     ContactsContract.CommonDataKinds.Phone.TYPE_HOME);
   while (phone.moveToNext()) {
    homePhone = phone
      .getString(phone
        .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
    Log.i("homePhone", homePhone);
   }
   // //获取单位传真
   phone = getPhoneByType(contactId,
     ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK);
   while (phone.moveToNext()) {
    fax = phone
      .getString(phone
        .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
    // Log.i("fax", fax);
   }
   // //获取单位电话
   phone = getPhoneByType(contactId,
     ContactsContract.CommonDataKinds.Phone.TYPE_WORK_MOBILE);
   while (phone.moveToNext()) {
    workMobile = phone
      .getString(phone
        .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
   }

 

 

或者

Cursor phone = context.getContentResolver().query(
     ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
     null,
     ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "
       + contactId , null, null);
  
    //取得电话号码(可能存在多个号码)
    while (phone.moveToNext()) {
     listPhone.add( phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
     Log.i("phone",phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
     String number=phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
     String phoneNumberType = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
     Log.i("type", phoneNumberType);
     switch (Integer.parseInt(phoneNumberType)) {
     case 1:
      homePhone=number;
      break;
     case 2:
      mobilePhone=number;
      break;
     case 3:
      workMobile=number;
      break;
     case 4:
      fax=number;
      break;
     default:
      break;
    }
    }

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值