如何向Android SyncManager发送sync-complete信号?

时间:2011-04-26 03:09:08

标签: android android-syncadapter

我在我的SyncAdapter中使用了cancelRequest(),就在它退出线程之前,但我决定只是想要取消正在进行同步的另一个实体(UI)使用它(需要太长时间) ,哎呀等。)

现在我的同步认为总有一个待处理请求 - 我用它来忽略新请求。

我要做的另一件事是服务中的侦听线程正在侦听对 ContactsContract.AUTHORITY 的更改,以便它可以启动我的聚合的同步。

更新:此侦听器线程正在泄漏。当我完成它时,我发出一个.stop(),但是,我认为有一个处理程序可以保持活动状态并使服务停止运行。

我想将SyncResults发送到某些实体(即SyncManager),这些实体可以跟踪待处理,回收等事情。

我错过了什么?

2 个答案:

答案 0 :(得分:10)

用一个例子详细说明舒姆特的答案:

这是设置SyncResult的example。我只是用它来设置stats字段中的例外数量。我看到的结果是,帐户和放大器中的同步项显示错误图标。同步屏幕。

答案 1 :(得分:1)

您可以使用SyncResult此类用于将同步操作的结果传达给SyncManager。根据此处的值,SyncManager将确定同步的处置以及是否需要在将来安排新的同步操作