2011-06-15 139 views
0

我尝试使用联系人时遇到问题。我使用下面的代码添加新的Comtacts,它工作正常。但是,如果我在“添加联系人”屏幕上按下“后退”按钮,则会添加联系人,就像我按了“完成”/“保存”一样。我能做些什么,以便Back被视为取消而不是完成/保存?谢谢。联系人问题Contracts.Intents.SHOW_OR_CREATE_CONTACT

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); 

回答

1

由于您将FORCE_CREATE设置为true,因此很可能立即创建联系人。我自己也会做类似的事情,但我会把力量创造变成虚假的。如果用户选择不添加联系人,我将继续向他们展示一个简单的“现在拨号”屏幕,以便他们可以进行一次性拨号。可能适合你的情况。我从公司Web服务获取更多联系人,这就是我最终得到一次拨号的情况。