小编use*_*530的帖子

添加联系人时的 OperationApplicationException

我正在尝试使用 ContentProviderOperation 以编程方式将联系人添加到我的联系人电话簿中。

我已经WRITE_CONTACT在我的AndroidManifest.xml.

以下是以下代码。

ArrayList <ContentProviderOperation> ops = new ArrayList <ContentProviderOperation>();

int rawContactID = ops.size();
ops.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
 .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null)
 .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null)
 .build());

ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
 .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
 .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
 .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, etname.getText().toString())
 .build());

ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
 .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactID)
 .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
 .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, etmob.getText().toString())
 .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
 .build());

ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
 .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactID)
 .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
 .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, etphone.getText().toString())
 .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_HOME)
 .build());

ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
 .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactID)
 .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.SipAddress.CONTENT_ITEM_TYPE)
 .withValue(ContactsContract.CommonDataKinds.SipAddress.DISPLAY_NAME, etadd.getText().toString())
 .build());

ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
 .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactID)
 .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
 .withValue(ContactsContract.CommonDataKinds.Email.ADDRESS, etmail.getText().toString())
 .withValue(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK)
 .build());

try {
 getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
 Toast.makeText(getBaseContext(), "Contact is successfully …
Run Code Online (Sandbox Code Playgroud)

android exception android-contacts

5
推荐指数
1
解决办法
619
查看次数

标签 统计

android ×1

android-contacts ×1

exception ×1