WEB开发网
开发学院手机开发Android 开发 android2.1获得联系人信息 阅读

android2.1获得联系人信息

 2010-09-17 00:16:00 来源:WEB开发网   
核心提示:貌似从android2.0开始,联系人的API做了很大的调整,android2.1获得联系人信息,People接口由ContactsContract.Contacts代替,闲话不多说看代码,Java代码public void getContact(){//获得所有的联系人Cursor cur = getContentR

貌似从android2.0开始,联系人的API做了很大的调整。

People接口由ContactsContract.Contacts代替。

闲话不多说看代码。

Java代码

public void getContact(){

//获得所有的联系人

Cursor cur = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

//循环遍历

if (cur.moveToFirst()) {

int idColumn = cur.getColumnIndex(ContactsContract.Contacts._ID);

int displayNameColumn = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);

do {

//获得联系人的ID号

String contactId = cur.getString(idColumn);

//获得联系人姓名

String disPlayName = cur.getString(displayNameColumn);

//查看该联系人有多少个电话号码。如果没有这返回值为0

int phoneCount = cur.getInt(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));

if(phoneCount>0){

//获得联系人的电话号码

Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+ " = " + contactId, null, null);

if(phones.moveToFirst()){

do{

//遍历所有的电话号码

String phoneNumber= phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

System.out.println(phoneNumber);

}while(phones.moveToNext());

}

}

} while (cur.moveToNext());

}

}

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

Cursor phones = mContext.getContentResolver().query(

ContactsContract.CommonDataKinds.Phone.CONTENT_URI,

null,

ContactsContract.CommonDataKinds.Phone.CONTACT_ID

+ " = " + contactId +" and "+ContactsContract.CommonDataKinds.Phone.TYPE+"="+ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE, null, null);

Tags:android 获得 联系人

编辑录入:coldstar [复制链接] [打 印]
赞助商链接