CALLER_IS_SYNCADAPTER用于插入,更新和删除URI Android联系人,提供方向

时间:2017-01-03 09:11:56

标签: android android-studio

问题: 任何人都可以建议我如何在android(示例)中插入,更新和删除URI中附加标记caller_is_syncadapter。 在使用Android联系人同步(SyncAdpater)期间。 我们将非常感谢您的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

在研究期间,我找到了上述问题的答案,希望它对你有用。

案例1:使用CALLER_IS_SYNCADAPTER进行插入:

在您的内容提供商操作中插入联系信息时,必须在工作uri中附加。例如:

ArrayList ops = new ArrayList();

ops.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)                         .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE,account.type)                         .withValue(RawContacts.ACCOUNT_NAME,account.name).build());

ContentProviderResult[] res = mContentResolver.applyBatch(ContactsContract.AUTHORITY, ops);

            Uri myContactUri = res[0].uri;

            myContactUri.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();

案例2:使用CALLER_IS_SYNCADAPTER进行更新:

ArrayList ops = new ArrayList();

ops.add(ContentProviderOperation.newUpdate(RawContacts.CONTENT_URI).withSelection(selectPhone,phoneArgs)                 .withValue(RawContacts.DIRTY,0).build());

ContentProviderResult[] res = mContentResolver.applyBatch(ContactsContract.AUTHORITY, ops);

            Uri myContactUri = res[0].uri;

            myContactUri.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();

案例3:使用CALLER_IS_SYNCADAPTER删除:  ArrayList ops = new ArrayList();

ops.add(ContentProviderOperation.newDelete(RawContacts.CONTENT_URI).withSelection(ContactsContract.RawContacts.CONTACT_ID +“=?AND”+ ContactsContract.Groups.ACCOUNT_NAME                         +“=?AND”+ ContactsContract.Groups.ACCOUNT_TYPE +“=?”,                 new String [] {o.getPhoneContactId()+“”,account.name,account.type})。build());

ContentProviderResult[] res = mContentResolver.applyBatch(ContactsContract.AUTHORITY, ops);

            Uri myContactUri = res[0].uri;

            myContactUri.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();

请在评论中告诉我,如果有人在做这件事时遇到任何问题:)谢谢,(:快乐编码:)