【发布时间】:2013-09-18 05:54:19
【问题描述】:
我想显示原生的 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 会调用它,而不是在上一个活动中将其传回给我。
但如果可能,我想使用原生屏幕,它需要的解析更少,也不需要额外的活动/片段。
有人可以建议如何去做吗?
谢谢
【问题讨论】:
标签: android android-contacts contactscontract