ContactInfoUtils

import java.util.ArrayList;
import java.util.List;


import zz.itcast.mobileguardz10.bean.ContactInfo;
import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;


public class ContactInfoUtils {


/**
* 獲取系統的聯繫人信息

* @param context
*            上下文
* @return
*/
public static List<ContactInfo> getContactInfos(Context context) {
// 得到內容解析者
ContentResolver resolver = context.getContentResolver();
// 1.查詢raw_contacts 表 獲取所有的聯繫人的id
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
Uri dataUri = Uri.parse("content://com.android.contacts/data");
Cursor cursor = resolver.query(uri, new String[] { "contact_id" },
null, null, null);
List<ContactInfo> contactInfos = new ArrayList<ContactInfo>();
while (cursor.moveToNext()) {
String id = cursor.getString(0);
// 2.根據聯繫人的id查詢 聯繫人的數據 查詢data表
if (id != null) {
ContactInfo contactInfo = new ContactInfo();
Cursor dataCursor = resolver.query(dataUri, null,
"raw_contact_id=?", new String[] { id }, null);
while (dataCursor.moveToNext()) {
String data1 = dataCursor.getString(dataCursor
.getColumnIndex("data1"));
String mimetype = dataCursor.getString(dataCursor
.getColumnIndex("mimetype"));
if ("vnd.android.cursor.item/email_v2".equals(mimetype)) {
contactInfo.setEmail(data1);
} else if ("vnd.android.cursor.item/name".equals(mimetype)) {
contactInfo.setName(data1);
} else if ("vnd.android.cursor.item/phone_v2"
.equals(mimetype)) {
contactInfo.setPhone(data1);
}


}
dataCursor.close();
contactInfos.add(contactInfo);
contactInfo = null;
}
}
cursor.close();
return contactInfos;
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章