我正在使用以下方法启动手动同步
public void startSync(){
Bundle syncBundle = new Bundle();
syncBundle.putBoolean(ContentResolver.SYNC_EXTRAS_EXPEDITED, true);
syncBundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
syncBundle.putInt(Utils.SYNC_TYPE, USER_DATA);
ContentResolver.requestSync(acts[0], CONTENT_AUTHORITY, syncBundle);
}
假设同步由于某些原因失败:
1。网络故障——网络恢复时如何重新启动同步
2。来自服务器的错误响应--重试的最佳方法
三。设备关闭--设备启动时重新启动同步的最佳方法
android的sync框架中有没有处理这个问题的机制。**
最佳答案
对于1和2,您可以报告一个“软错误”,然后它应该自动重试(指数后退):
syncResult.stats.numIoExceptions++;
对于4,您可以为
android.intent.action.BOOT_COMPLETED
创建广播接收器,然后从那里触发手动同步。