Ответ 1
Итак, получается, что у вас может быть syncAdapter, который использует учетную запись "com.google", но для этого требуется написать соответствующий ContentProvider. Например, в AndroidManifest.xml:
<service android:name=".sync.SyncAdapterService" android:exported="true" android:process=":contacts">
<intent-filter>
<action android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data android:name="android.content.SyncAdapter" android:resource="@xml/syncadapter" />
</service>
и в файле syncadapter.xml:
<?xml version="1.0" encoding="utf-8"?>
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:contentAuthority="net.gfxmonk.android.pagefeed"
android:accountType="com.google"
android:supportsUploading="false"
android:userVisible="true"
/>
Затем у вас должен быть ContentProvider с полномочиями "net.gfxmonk.android.pagefeed", чтобы андроид мог связать это действие синхронизации с вашим приложением. После того, как вы это сделаете (даже не нужно делать ничего значимого, просто существует), ваша программа может появиться внутри панели настроек "учетные записи и синхронизация" - в выбранной вами учетной записи google.
В качестве дополнительной части работы вам может потребоваться позвонить:
ContentResolver.setIsSyncable(account, "net.gfxmonk.android.pagefeed", 1)
с учетной записью как объект Account, который вы хотите использовать для своих учетных данных синхронизации.