您好 我想创建一个联系人,所以这是我的代码:
Intent addPersonIntent = new Intent(Intent.ACTION_INSERT_OR_EDIT);
addPersonIntent.putExtra(Insert.NAME, "asd");
addPersonIntent.setType(Contacts.People.NAME);
addPersonIntent.putExtra(Insert.PHONE_TYPE, Contacts.Phones.TYPE_WORK);
addPersonIntent.putExtra(Insert.PHONE, Uri.decode("123"));
addPersonIntent.putExtra(Insert.PHONE_TYPE, Contacts.Phones.TYPE_MOBILE);
addPersonIntent.putExtra(Insert.PHONE, Uri.decode("123"));
addPersonIntent.setType(Contacts.Phones.CONTENT_ITEM_TYPE);
...
startActivity(addPersonIntent);
为什么唯一创建的是手机号码,我从未得到“工作”号码?
答案 0 :(得分:2)
您正在考虑将“putExtra”添加到数组的末尾 - 如果您将其视为在哈希表中设置名称/值对,则您的问题会更清晰。基本上,您将PHONE_TYPE设置为“工作”,将PHONE设置为123,将PHONE_TYPE设置为“mobile”(设置为工作时覆盖),再将PHONE设置为“123”。
您要做的是使用SECONDARY_PHONE和SECONDARY_PHONE_TYPE设置“移动”或“工作”电话数据 - Details here.
此外,请记住,所有这些都遵循旧版本的Contacts API,自Android 2.0及更新版本已弃用。有关迁移代码以使用新联系人API here的便捷资源。
答案 1 :(得分:1)
这是下一个问题,当我添加:
addPersonIntent.putExtra(Insert.NOTES,“asdkjhaskh”);
音符数据永远不会出现在活动中,为什么?
整个想法是用加载的数据启动EditContactActivity.java,现在我加载了手机,名称和公司。由于某种原因,我无法加载笔记,另一个问题是如何设置IM的意图信息?例如,我尝试使用:
addPersonIntent.putExtra(Insert.IM_HANDLE,“mySkype”); addPersonIntent.putExtra(Insert.IM_PROTOCOL,Uri.decode(“skype”));
但它不起作用。