我想显示本机 android 联系人列表,然后一旦用户选择一个联系人,我想移动到下一个本机屏幕,它显示联系人的详细信息(如电话号码、电子邮件等)。现在,一旦用户选择了电子邮件地址或电话号码,我就想将该数据恢复到我的原始活动并进行进一步处理。
我知道我可以使用
startActivityForResult(new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI), REQUEST_CODE_PICK_CONTACT);
然后我自己使用解析联系人getContentResolver().query()
,然后存储每个必填字段。然后最后显示在一个单独的活动中作为联系方式,然后一旦用户选择任何一个电话号码或电子邮件,然后我用它来做进一步的处理。
我试图在里面做以下事情onActivityResult()
:
Uri contactData = data.getData();
Intent intent = new Intent(Intent.ACTION_PICK, contactData);
startActivityForResult(intent, REQUEST_CODE_PICK_CONTACT_DETAIL);
这会显示联系人的详细信息,但是当用户选择特定号码时,android 会调用它,而不是在之前的活动中将其传回给我。
但如果可能的话,我想使用本机屏幕,它需要的解析更少,也不需要额外的活动/片段。
有人可以建议如何去做吗?
谢谢