android读取联系人信息(学习版)

android读取联系人信息(学习版)

文章分类:移动开发

package com.activity;

import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Contacts;
import android.provider.Contacts.People;
import android.widget.TextView;

public class Main extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  TextView tv = (TextView) findViewById(R.id.TextView01);

  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()) {
     while (newcur.moveToNext()) {
      
      email = email+ newcur.getString(newcur.getColumnIndex(Contacts.ContactMethods.DATA));
     }
    }

    tv.setText("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(); // 用完得关闭吧
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值