添加权限
<uses-permission android:name="android.permission.READ_CONTACTS"/>
动态添加权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, 3);
读取联系人信息
//查询 raw_contacts表 contact_id 列
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
Uri dataUri = Uri.parse("content://com.android.contacts/data");
Cursor cursor = getContentResolver().
query(uri, new String[]{"contact_id"}, null, null, null);
while (cursor.moveToNext()) {
String contactId = cursor.getString(0);
if (contactId != null) {
//根据raw_contact_id去查询data表 data1列和mimetype_id列
Cursor dataCursor = getContentResolver().
query(dataUri, new String[]{"data1", "mimetype"}, "raw_contact_id=?", new String[]{contactId}, null);
while (dataCursor.moveToNext()) {
String data1 = dataCursor.getString(0);
String mimetype = dataCursor.getString(1);
Log.i("readContantsActivity", "data1: " + data1 + "mimetype_id" + mimetype);
}
}
}