首先,按钮添加点击事件,事件为调用系统通讯录,代码如下:
private void startContact() {
//调用系统通讯录
Intent intent = new Intent();
intent.setAction(Intent.ACTION_PICK);
intent.setData(ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, REQUEST_CONTACT);
}
之后处理返回后的数据事件,代码如下:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CONTACT) {
if (resultCode == RESULT_OK) {
if (data == null) {
return;
}
ContentResolver reContentResolverol = getContentResolver();
Uri contactData = data.getData();
Cursor cursor = managedQuery(contactData, null, null, null, null);
cursor.moveToFirst();
userName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phone = reContentResolverol.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = " + contactId, null, null);
List<String> list = new ArrayList<String>();
while (phone.moveToNext()) {
userNumber = phone
.getString(phone
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
list.add(userNumber);
tvName.setText(list.toString() + " (" + userName + ")");
}
// Uri result = data.getData();
// contactId = result.getLastPathSegment();
// result.getUserInfo();
// contactName = result.getUserInfo();
// tvName.setText(contactName);
//
// //进入系统拨号盘界面
// Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:" + userNumber));
// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// startActivity(intent);
//Toast弹窗显示获取的联系人的所有号码和联系人姓名
showToast(list.toString() + " (" + userName + ")");
}
}
}