我有一个EditText和一个Button,该按钮有一个OnClickListener,用startActivityForResult(new Intent("android.intent.action.PICK", android.provider.ContactsContract.Contacts.CONTENT_URI), 1)
打开联系人列表。
如果用户点击按钮,它会打开联系人,以便他们可以选择一个,现在我想将该数字导入EditText。有没有办法做到这一点?
编辑:EditText和按钮都属于片段。
答案 0 :(得分:3)
如果您特别需要用户选择的电话号码,您可以申请电话号码选择器,而不是像您一样的联系选择器。
试试这个:
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
intent.setType(CommonDataKinds.Phone.CONTENT_TYPE);
startActivityForResult(intent, 1);
您将获得的目标数据将是数据表中的特定电话行:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if ((requestCode == 1) && (resultCode == RESULT_OK)) {
Cursor cursor = null;
try {
Uri uri = data.getData();
cursor = getContentResolver().query(uri, new String[] { CommonDataKinds.Phone.NUMBER }, null, null, null);
if (cursor != null && cursor.moveToNext()) {
String phone = cursor.getString(0);
// Do something with phone
}
} catch (Exception e) {
e.printStackTrace();
}
}
}