当您在联系人列表中单击联系人时,您将获得您的结果Intent.ACTION_PICK
intent.
因此,要处理结果,您必须覆盖onActivityResult()
method.
您会收到数据中联系人的查找 URIIntent
返回的对象onActivityResult()
.
所以,你所要做的就是:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == CONTACT_PICKER_RESULT){
if(resultCode==Activity.RESULT_OK){
Uri uri = data.getData();
ContentResolver contentResolver = getContentResolver();
Cursor contentCursor = contentResolver.query(uri, null, null,null, null);
if(contentCursor.moveToFirst()){
String id = contentCursor.getString(contentCursor.getColumnIndexOrThrow(ContactsContract.Contacts._ID));
String hasPhone =
contentCursor.getString(contentCursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhone.equalsIgnoreCase("1"))
{
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ id,null, null);
phones.moveToFirst();
String contactNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.i("phoneNUmber", "The phone number is "+ contactNumber);
}
}
super.onActivityResult(requestCode, resultCode, data);
}
}
}
然后你只需要做你想做的事就可以了contactNumber
.
希望对您有帮助。