Skip to content Skip to sidebar Skip to footer

Contentresolver.requestsync In Sync Adapter Is Not Working In Android

I am trying to write a sync adapter with 'StubProvider' and 'StubAuthenticator', i followed the offical guidelines, my code is running without any errors but 'onPerformSync()' is N

Solution 1:

Are you sure it's not working?

Remember that Sync Adapter is run on a Bound Service which is not in the same process, so your Log.d() in onPerformSync() will not show in the LogCat under your app main process but in the process that the Sync Adapter is using.

Try removing the filter in the LogCat : instead of "Show only selected application" select "No filters".

Solution 2:

Did you specify your account_type on the metadata xml of the sync adapter?

Your xml discriptor should be like this

<sync-adapterxmlns:android="http://schemas.android.com/apk/res/android"android:contentAuthority="com.android.contacts"android:accountType="com.syncadaptertest"android:userVisible="true"android:supportsUploading="false"android:allowParallelSyncs="false"android:isAlwaysSyncable="true"/>

And most importantly it should be declared on your AndroidManifest file

<serviceandroid:name=".sync.ContactSyncService"android:exported="true"><intent-filter><actionandroid:name="android.content.SyncAdapter" /></intent-filter><meta-dataandroid:name="android.content.SyncAdapter"android:resource="@xml/sync_contact" /></service>

Solution 3:

Remove android:process=":sync" from android manifest

Post a Comment for "Contentresolver.requestsync In Sync Adapter Is Not Working In Android"