ContactsContract.Intents.SHOW_OR_CREATE_CONTACT 问题

发布于 2024-11-15 19:40:21 字数 607 浏览 3 评论 0原文

我在尝试使用通讯录时遇到问题。我使用下面的代码添加新的联系人,它工作正常。但是,如果我按“添加联系人”屏幕上的硬后退按钮,则会添加联系人,就像我按“完成/保存”一样。我该怎么做才能将“后退”视为“取消”而不是“完成/保存”?谢谢。

Intent i = new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, Uri.parse(String.format("tel: %s", number)));
i.addCategory(Intent.CATEGORY_DEFAULT);
i.putExtra(ContactsContract.Intents.EXTRA_FORCE_CREATE, true);
i.putExtra(ContactsContract.Intents.Insert.NAME, name);
i.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_WORK);
i.putExtra(ContactsContract.Intents.Insert.PHONE, number);
startActivity(i);

I have a problem trying to work with Contacts. I use the code below to add new Comtacts and it works OK. However if I press the hard Back button on the Add Contact screen, the contact is added as if I have pressed Done/Save. What can I do so that Back is treated as Cancel and not as Done/Save? Thanks.

Intent i = new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, Uri.parse(String.format("tel: %s", number)));
i.addCategory(Intent.CATEGORY_DEFAULT);
i.putExtra(ContactsContract.Intents.EXTRA_FORCE_CREATE, true);
i.putExtra(ContactsContract.Intents.Insert.NAME, name);
i.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_WORK);
i.putExtra(ContactsContract.Intents.Insert.PHONE, number);
startActivity(i);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

﹏半生如梦愿梦如真 2024-11-22 19:40:21

由于您已将 FORCE_CREATE 设置为 true,因此很可能会立即创建联系人。我自己也会做类似的事情,但我会将“force create”保留为 false。如果用户选择不添加联系人,我将继续向他们显示一个简单的“立即拨号”屏幕,以便他们可以进行一次性拨号。可能适合你的情况。我正在从公司网络服务获取其他联系人,因此这就是我最终遇到一次性拨号情况的原因。

Since you have FORCE_CREATE set to true, most likely the contact is being created immediately. I myself am going to do something similar but I will leave force create to false. If the user elects not to add the contact, I am going to go ahead and show them a simple "dial now" screen so they can do a one-time dial. Might work for your situation. I am fetching additional contacts from a company web service so that's how I end up with a one-time-dial situation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文