Android 联系人开发- 查询联系人

 最近在做android 联系人模块的开发,和大家分享一下:

下面的功能主要是实现查询联系人的姓名,电话,邮件地址,

 

String columns[] = new String[] { People._ID, People.NAME, People.NUMBER, People.PRIMARY_EMAIL_ID,  

                             People.PRIMARY_ORGANIZATION_ID, People.PRIMARY_PHONE_ID, People.DISPLAY_NAME,  

                             People.IM_ACCOUNT, People.IM_HANDLE, People.PHONETIC_NAME, People.TYPE };


  Uri mContacts = People.CONTENT_URI;
  Cursor cur = managedQuery(mContacts, columns, // 要返回的数据字段
    null, // WHERE子句
    null, // WHERE 子句的参数
    People.NAME // Order-by子句
  );

 

if (cur.moveToFirst()) {
   Cursor newcur = null;
   do {
    // 获取字段的值
    String name = cur.getString(cur.getColumnIndex(People.NAME));
    String phoneNo = cur.getString(cur.getColumnIndex(People.NUMBER));
    String peopleId = cur.getString(cur.getColumnIndex(People._ID));

 

    String[] PROJECTION = new String[] { Contacts.ContactMethods._ID, Contacts.ContactMethods.KIND, Contacts.ContactMethods.DATA };

    newcur = managedQuery(Contacts.ContactMethods.CONTENT_URI, PROJECTION, Contacts.ContactMethods.PERSON_ID + "=/'"
      + cur.getLong(cur.getColumnIndex(People._ID)) + "/'", null, null);
    startManagingCursor(newcur);

 

    String email = "";


    if (newcur.moveToFirst()) {
        email = newcur.getString(newcur.getColumnIndex(Contacts.ContactMethods.DATA));
    }

    log.info("name = " + name + " phoneNo = " + phoneNo + "email = " + email);

 

    if (email != null && !"".equals(email) && email.trim().length() != 0) {

        //此处可以取到联系人邮件
    }

   } while (cur.moveToNext());
   if (newcur != null) {
     newcur.close();//用完得关闭吧
   }
  }

  if (cur != null)
   cur.close(); //用完得关闭吧

 

 

------------------------------------------------------

 

通过上面查询邮件地址的方式,可以延伸出查询联系人的地址信息,公司信息等等

 

欢迎大家讨论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值