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
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