Android:使用 ContactsContract 插入意图设置联系人照片
我正在使用 ContactsContract 通过将用户发送到“新联系人”意图来插入新联系人。我使用的代码是:
Intent i = new Intent(Intent.ACTION_INSERT);
i.setType(Contacts.CONTENT_TYPE);
i.putExtra(Insert.NAME, "Some Contact Name");
i.putExtra(Insert.EMAIL, "[email protected]");
i.putExtra(Insert.PHONE, "123-456-7890");
startActivity(i);
但是,我还需要以某种方式传递本地存储的照片(在 res/drawable 中)以显示此“新联系人”意图。我希望有一种简单的方法可以做到这一点,
i.putExtra(Insert.PHOTO, uri_to_photo);
但是这显然行不通。我发现此帖子详细介绍了如何设置照片已经存在的联系人(通过 Jak 的 setPhoto() 方法),但没有介绍如何传递照片以在“新联系人”意图上显示为联系人图标。
将照片(希望作为照片的 URI)传递到“新联系人”意图的最佳方式是什么?
提前致谢。
I am using ContactsContract to insert a new contact by sending the user to a "New contact" intent. The code I am using is:
Intent i = new Intent(Intent.ACTION_INSERT);
i.setType(Contacts.CONTENT_TYPE);
i.putExtra(Insert.NAME, "Some Contact Name");
i.putExtra(Insert.EMAIL, "[email protected]");
i.putExtra(Insert.PHONE, "123-456-7890");
startActivity(i);
However, I need to also somehow pass in a locally stored photo (in res/drawable) to show up on this "New contact" intent. I was hoping that there would be an easy way to do this, like
i.putExtra(Insert.PHOTO, uri_to_photo);
but that obviously doesn't work. I found this thread detailing how to set the photo for an already-existing contact (via Jak's setPhoto() method), but nothing on how to pass a photo in to show up as the contact icon on the "New contact" intent.
What would be the best way to pass a photo (hopefully as a URI to the photo) in to the "New contact" intent?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先使用ContentProviderOperation的方式插入一个新的Contact。
然后获取结果 uri 作为 ACTION_EDIT uri,添加其他额外内容,startActivityForResult(intent, REQUEST_INSERT_CONTACT)。
因为我们先插入,所以当 resultCode != RESULT_OK 时我们会删除它
最后对不起我的英语!
Firstly use ContentProviderOperation's way to insert a new Contact.
Then get result uri as the ACTION_EDIT uri, put other extras, startActivityForResult(intent, REQUEST_INSERT_CONTACT).
because we insert first, we will delete it when resultCode != RESULT_OK
At last sorry for my english!
尝试使用此代码使用意图添加带有联系方式的图像
Try this code to add image with contact details using intent