Android SyncManager 实现

Android SyncManager 实现_第1张图片
Android SyncManager 实现_第2张图片


Android SyncManager 实现_第3张图片

如何扫描同步客户端的service ?

扫描系统安装应用的AndroidMinifest文件 找到带有

android:name="android.content.SyncAdapter"

android:resource="@xml/sync_calendar"/>

的标签,通过ndroid:resource="@xml/sync_calendar"绑定服务的authority,和对应的账号,配置文件如下

android:accountType="com.google"   账号类型

android:contentAuthority="com.android.calendar"    authority

android:allowParallelSyncs="false"   是否允许并行

android:supportsUploading="true"   支持数据库出发的上传

android:isAlwaysSyncable="true"   总是syncable状态的,如果为false需要初始化同步服务,这样的话可以做一些初始化操作

android:userVisible="true"/>     用户界面可见则咋对应的账号下面有该同步项

周期的处理: 通过ContentReslover.addPeriodicSync 设置周期,默认86400,周日的触发是在账号登陆的时候产生个数据的偏移时间(防止集中登陆对服务器造成较大压力),

然后根据这个时间+n*周期,设置alarmManager触发周期同步.

调试

adb shell dumpsys content

你可能感兴趣的:(Android SyncManager 实现)