SyncAdapter not being called depending on order of Account setup calls

后端 未结 2 1098
忘了有多久
忘了有多久 2021-01-08 00:47

I\'ve come across some slightly odd behaviour with my SyncAdapter.

The first time I install my app (after uninstalling with adb), it launches and creates an account

相关标签:
2条回答
  • 2021-01-08 01:19

    I found that contentResolver.requestSync() will never trigger your SyncAdapter.onPerformSync() unless you call ContentResolver.setIsSyncable(account, getString(R.string.CONTENT_AUTHORITY), 1);.

    For a detailed account of the solution I went with using SyncAdapter, see my answer here:

    https://stackoverflow.com/a/12015967/988870

    0 讨论(0)
  • 2021-01-08 01:22

    I just banged my head against a wall for hours trying to figure out why periodic sync wasn't working. It turns out that the poll frequency needs to be in seconds (literal) not milliseconds, and not seconds in milliseconds. So, for example, if you want it to sync every minute and a half, you would need to call:

                ContentResolver.addPeriodicSync(
                        account,
                        authority,
                        Bundle.EMPTY,
                        90
                );
    

    Also, the bundle passed in cannot be null as it is in the documentation, it will throw a NullPointerException.

    0 讨论(0)
提交回复
热议问题