当您检查设置>时,在Android设备上执行的确切内容帐户> Google帐户>同步日历?

时间:2016-04-12 01:20:19

标签: android calendar google-calendar-api android-contentprovider android-syncadapter

在Android设备上,当您转到设置>帐户>您的Google帐户>并检查同步日历,确切执行的是什么?

我认为必须有类似内置同步适配器的东西连接到Google Calendar服务器,获取必要的更改并更新本地Calendar Provider表。有没有办法使用这个功能而不是实现我自己的日历同步适配器(看起来完全不像一个简单的任务)来保持日历提供程序表同步?

如果无法实现,是否有onPerformSync() 日历特定实施的样本?

要明确:我知道如何编写,配置和使用服务,同步适配器,内容观察器,ContentResolver.requestSync()等。我还不清楚如何实现特定的onPerformSync()同步谷歌日历以及我是否真的必须为它编写自己的实现。

1 个答案:

答案 0 :(得分:0)

同步适配器组件不会自动执行数据传输。相反,它封装了您的数据传输代码,以便同步适配器框架可以在后台运行数据传输,而无需您的应用程序参与。当框架准备好同步您的应用程序的数据时,它会调用您的方法onPerformSync()的实现。

以下代码段显示了onPerformSync()的整体结构:

/*
* Specify the code you want to run in the sync adapter. The entire
* sync adapter runs in a background thread, so you don't have to set
* up your own background processing.
*/
@Override
public void onPerformSync(
Account account,
Bundle extras,
String authority,
ContentProviderClient provider,
SyncResult syncResult) {
/*
* Put the data transfer code here.
*/
...
}