zsnlovewl 发表于 2013-1-15 02:41:57

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(); // 用完得关闭吧
 }
}
页: [1]
查看完整版本: android读取联系人信息(学习版)