使用ContactPicker获取联系人的电话号码和显示名称似乎很简单-使用如下代码
Intent intent = new Intent(Intent.ACTION_PICK,
ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(intent, REQUEST_PICK_CONTACT);但是,这样就得到了电话号码和显示名称,但是我似乎找不到任何合理的方法来获取姓氏/名字。对于从startActivityForResult返回的内容,联系人本身的ID似乎不可用。我猜你可以根据显示的姓名或号码重新搜索,以找到联系人,但这似乎很尴尬……我只是在想有一种更直接的方法,但这里可能是错误的。
发布于 2013-06-03 06:40:11
联系人选择器返回所请求的联系人的URI。你需要在这个URI上重新查询,你可以得到你想要的任何东西。
@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (PICK_CONTACT) :
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = getContentResolver().query(contactData, null, null, null, null);
if (c.moveToFirst()) {
// TODO Whatever you want to do with the selected contact
}
}
break;
}
}https://stackoverflow.com/questions/16887903
复制相似问题