Я пытаюсь обновить существующий контакт с настраиваемыми полями типа MIME, определенными для моего приложения. Это добавляется к контакту, доступному в приложении «Контакты», но там не видно. Я не уверен, что мне не хватает, пожалуйста, предлагаю, если вы нашли ничего плохого с кодом ниже -Пользовательские поля Android не отображаются в контактах
ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>();
ContentProviderOperation.Builder builder = ContentProviderOperation
.newInsert(RawContacts.CONTENT_URI);
builder.withValue(RawContacts.ACCOUNT_NAME, AccountGeneral.ACCOUNT_NAME);
builder.withValue(RawContacts.ACCOUNT_TYPE, AccountGeneral.ACCOUNT_TYPE);
operationList.add(builder.build());
operationList
.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, contactId)
.withValue(
ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,
"Display Name")
.build());
builder = ContentProviderOperation.newInsert(RawContacts.CONTENT_URI);
// builder =
// ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);
builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID,
contactId);
builder.withValue(ContactsContract.Data.MIMETYPE, MIMETYPE);
builder.withValue(ContactsContract.Data.DATA1, contact.getId());
builder.withValue(ContactsContract.Data.DATA2, "Test Action");
builder.withValue(ContactsContract.Data.DATA3, "Test Action");
operationList.add(builder.build());
Я использую тот же тип MIME, определенный в файле contacts.xml, который используется для SyncAdapter.
Пожалуйста, помогите ...
они должны быть видны? или приложение-приложение показывает только фиксированные типы mimetypes? – pskink
Вот что я спрашиваю, как показать пользовательские события mimetype – Manish
imho вы не можете, только в своем собственном приложении вы можете это сделать – pskink