【发布时间】:2015-04-27 06:14:26
【问题描述】:
我正在尝试使用为我的应用定义的 MIME 类型的自定义字段更新现有联系人。这被添加到联系人应用程序中可用的联系人,但在那里不可见。我不确定我错过了什么,如果您发现以下代码有任何问题,请提出建议 -
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());
我正在使用在用于 SyncAdapter 的 contacts.xml 文件中定义的相同 MIME 类型。
请帮忙...
【问题讨论】:
-
它们应该可见吗?或联系人应用程序只显示固定的模仿类型?
-
这就是我要问的,如何显示自定义 mimetype 事件
-
恕我直言,你不能,只有在你自己的应用程序中才能做到这一点
-
也许我对类似问题的回答会对您有所帮助:stackoverflow.com/a/37514338/3793570
标签: android custom-fields