获取手机联系人信息

来源:互联网 发布:linux系统root密码 编辑:程序博客网 时间:2024/06/10 03:35
package com.study.mobilesafe.engine;import java.util.ArrayList;import java.util.List;import android.content.ContentResolver;import android.content.Context;import android.database.Cursor;import android.net.Uri;import com.study.mobilesafe.domain.ContactsInfo;public class ContactsEngine {/** * 得到联系人数据 * @param context * @return */public static List<ContactsInfo> getContacts(Context context) {List<ContactsInfo> list = new ArrayList<ContactsInfo>();ContentResolver resolver = context.getContentResolver();Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");// 代表了访问联系人数据库的raw_contacts表Uri uriData = Uri.parse("content://com.android.contacts/data");// 代表了访问联系人数据库的view_data表Cursor c_id = resolver.query(uri, new String[] { "contact_id" }, null,null, null);while (c_id.moveToNext()) {String id = c_id.getString(0);if (id != null) {ContactsInfo contactsInfo = new ContactsInfo();Cursor c_data = resolver.query(uriData, new String[] { "data1","mimetype" }, "raw_contact_id=?", new String[] { id },null);while (c_data.moveToNext()) {String mimetype = c_data.getString(1);if (mimetype.equals("vnd.android.cursor.item/phone_v2")) {String phoneNumber = c_data.getString(0);contactsInfo.setNumber(phoneNumber);} else if (mimetype.equals("vnd.android.cursor.item/name")) {String name = c_data.getString(0);contactsInfo.setName(name);}}list.add(contactsInfo);c_data.close();}}c_id.close();return list;}}

0 0