Я хотел бы использовать внутреннюю активность Контакта для создания нового Контакта.
Вот код:
Intent i = new Intent();
i.setAction(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setData(Uri.fromParts("tel", "12345678", null));
i.putExtra(ContactsContract.Intents.EXTRA_FORCE_CREATE, true);
i.putExtra(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_WORK);
i.putExtra(ContactsContract.Intents.Insert.EMAIL, "naoknaoknaok@gmail.com");
i.putExtra(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK);
i.putExtra(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, "Ide");
i.putExtra(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, "Vele");
i.putExtra(ContactsContract.CommonDataKinds.Organization.COMPANY, "Company name");
i.putExtra(ContactsContract.CommonDataKinds.Organization.TYPE, ContactsContract.CommonDataKinds.Organization.TYPE_WORK);
i.putExtra(ContactsContract.CommonDataKinds.Organization.LABEL, "label");
i.putExtra(ContactsContract.CommonDataKinds.Organization.TITLE, "job title");
i.putExtra(ContactsContract.CommonDataKinds.Organization.DEPARTMENT, "department");
i.putExtra(ContactsContract.CommonDataKinds.Organization.JOB_DESCRIPTION, "job description");
i.putExtra(ContactsContract.CommonDataKinds.Organization.SYMBOL, "symbol");
i.putExtra(ContactsContract.CommonDataKinds.Organization.OFFICE_LOCATION, "office location");
Но этот код работает только частично. В действии видны только номер телефона и адрес электронной почты, остальные поля не установлены.
Вот скриншот с эмулятора:
edit_contact1
Извините, что не включил его, но у меня недостаточно репутации, чтобы добавлять изображения.
Любая помощь будет принята с благодарностью!
Некоторое обновление: следующий код устанавливает поле «Имя»:
i.putExtra(ContactsContract.Intents.Insert.NAME, "simple name");