1.添加权限
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
2.案例
public class TestContact extends AndroidTestCase {
public void getAllContactInfo() throws Exception{
String rawbase="content://com.android.contacts/raw_contacts";
String database="content://com.android.contacts/data";
Cursor cursor=getContext().getContentResolver().query(Uri.parse(rawbase), null, null, null, null);
while(cursor.moveToNext())
{
String id=cursor.getString(cursor.getColumnIndex("_id"));
System.out.println("id="+id);
Cursor datacursor=getContext().getContentResolver().query(Uri.parse(database),null,"raw_contact_id=?", new String[]{id}, null);
while(datacursor.moveToNext())
{
String type=cursor.getString(datacursor.getColumnIndex("mimetype"));
System.out.println(type);
if("vnd.android.cursor.item/email_v2".equals(type))
{
String data11=datacursor.getString(datacursor.getColumnIndex("data1"));
System.out.println("邮箱"+data11);
}
else if ("vnd.android.cursor.item/name".equals(type)) {
String data11=datacursor.getString(datacursor.getColumnIndex("data1"));
System.out.println("姓名"+data11);
}
else if ("vnd.android.cursor.item/phone_v2".equals(type)) {
String data11=datacursor.getString(datacursor.getColumnIndex("data1"));
System.out.println("电话"+data11);
}
}
datacursor.close();
}
cursor.close();
}
public void writeContact() throws Exception{
String rawbase="content://com.android.contacts/raw_contacts";
ContentValues values=new ContentValues();
Uri uri=getContext().getContentResolver().insert(Uri.parse(rawbase),values);
//返回raw_contact表中的_id
long id=ContentUris.parseId(uri);
String database="content://com.android.contacts/data";
ContentValues nameValues=new ContentValues();
nameValues.put("mimetype", "vnd.android.cursor.item/name");
nameValues.put("data1", "wagnwu");
nameValues.put("raw_contact_id", id);
getContext().getContentResolver().insert(Uri.parse(database), nameValues);
ContentValues phoneValues=new ContentValues();
phoneValues.put("mimetype", "vnd.android.cursor.item/phone_v2");
phoneValues.put("data1", "187545464433");
phoneValues.put("raw_contact_id", id);
getContext().getContentResolver().insert(Uri.parse(database), phoneValues);
ContentValues emailValues=new ContentValues();
emailValues.put("mimetype", "vnd.android.cursor.item/email_v2");
emailValues.put("data1", "187545464433@qq.com");
emailValues.put("raw_contact_id", id);
getContext().getContentResolver().insert(Uri.parse(database), emailValues);
}
3.安卓源码网站
https://github.com/android?query=contact