【发布时间】:2017-03-17 07:29:57
【问题描述】:
我正在电话簿中添加我的应用程序图标。现在的问题是它在 Api 级别 23 上工作不正常。
在 API 23 中,它会创建带有号码的新联系人。
String MIMETYPE = "vnd.android.cursor.item/com.appiconincontact";
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
// insert account name and account type
ops.add(
ContentProviderOperation
.newInsert(addCallerIsSyncAdapterParameter(RawContacts.CONTENT_URI, true))
.withValue(RawContacts.ACCOUNT_NAME, Constants.ACCOUNT_NAME)
.withValue(RawContacts.ACCOUNT_TYPE, Constants.ACCOUNT_TYPE)
.withValue(RawContacts.AGGREGATION_MODE, RawContacts.AGGREGATION_MODE_DEFAULT)
.build()
);
// insert contact number
ops.add(ContentProviderOperation
.newInsert(addCallerIsSyncAdapterParameter(ContactsContract.Data.CONTENT_URI, true))
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, number)
.build());
// insert mime-type data
ops.add(ContentProviderOperation
.newInsert(addCallerIsSyncAdapterParameter(ContactsContract.Data.CONTENT_URI, true))
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE, MIMETYPE)
.withValue(ContactsContract.Data.DATA2, Constants.APP_NAME)
.withValue(ContactsContract.Data.DATA3, "User Connected with " + number)
.build());
try {
resolver.applyBatch(ContactsContract.AUTHORITY, ops);
} catch (Exception e) {
e.printStackTrace();
}
【问题讨论】:
标签: android android-6.0-marshmallow android-contacts