您好!
我想创建一个联系人,下面是我的代码:

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

为什么唯一创造出来的东西就是手机号码,我从来没有“工作”号码?

最佳答案

你把“putextra”看作是添加到数组的末尾——如果你把它看作是在哈希表中设置名称/值对,你的问题会更清楚。基本上,您将phone_type设置为“工作”,phone设置为123,phone_type设置为“移动”(设置为工作时覆盖),phone再次设置为“123”。
您要做的是使用次要电话和次要电话类型设置“移动”或“工作”电话数据-Details here.
另外,请记住,所有这些都遵循旧版本的contacts api,该api在android 2.0+中已被弃用。在迁移代码以使用新联系人apihere时,有一个方便的资源。

08-17 21:03