启动系统联系人界面:
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(intent, requestCode);
回传跳转:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_FOR_SINGLE_CUNTRACT_ONE) {
if (data != null) {
Uri uri = data.getData();
String[] contact = getPhoneContacts(uri);
if (contact != null) {
String name_one = contact[0];//姓名
String number_one = contact[1];//手机号
et_linkman_one.setText(name_one);
et_linkman_phone_one.setText(number_one);
et_linkman_phone_one.lockAndRemove();
}
}
}
读取联系人
/**
* 读取联系人信息
*
* @param uri
* @return
*/
private String[] getPhoneContacts(Uri uri) {
String[] contact = new String[2];
//得到ContentResolver对象
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(uri, null, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
//取得联系人姓名
int nameFieldColumnIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
contact[0] = cursor.getString(nameFieldColumnIndex);
contact[1] = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER))
.replaceAll("\\+86", "").replaceAll(" ", "");
cursor.close();
} else {
return null;
}
return contact;
}