public final class SyncResult
extends Object
implements Parcelable
java.lang.Object | |
↳ | android.content.SyncResult |
该类用于将Sync操作的结果传送给SyncManager。 根据这里的值,SyncManager将确定同步的处置以及将来是否需要安排新的同步操作。
Inherited constants |
---|
From interface android.os.Parcelable
|
Fields |
|
---|---|
public static final SyncResult |
ALREADY_IN_PROGRESS SyncAdult的这个实例由同步适配器在同步正在进行时响应同步请求而返回。 |
public static final Creator<SyncResult> |
CREATOR |
public boolean |
databaseError 用于指示SyncAdapter由于与存储层交互时收到的错误而遇到硬错误。 |
public long |
delayUntil 用于向SyncManager指示与请求的帐户和权限相匹配的未来同步请求应延迟至少几秒。 |
public boolean |
fullSyncRequested 如果设置,SyncManager将请求与同步请求中使用的具有相同帐户和权限的立即同步(但是为空的额外软件包)。 |
public boolean |
moreRecordsToGet 该字段被SyncManager忽略。 |
public boolean |
partialSyncUnavailable 该字段被SyncManager忽略。 |
public final SyncStats |
stats 用于保存关于同步操作的附加统计信息。 |
public final boolean |
syncAlreadyInProgress 用于指示SyncAdapter已在执行同步操作,但不一定针对所请求的帐户和权限,并且无法处理该请求。 |
public boolean |
tooManyDeletions 用于指示SyncAdapter确定需要向服务器发出过多的删除操作以满足请求(由SyncAdapter定义)。 |
public boolean |
tooManyRetries 用于指示SyncAdapter由于多次尝试相同的操作而遇到硬错误(由SyncAdapter定义)。 |
Public constructors |
|
---|---|
SyncResult() 创建一个“干净的”SyncResult。 |
Public methods |
|
---|---|
void |
clear() 将SyncResult清除为干净状态。 |
int |
describeContents() 描述此Parcelable实例的封送表示中包含的特殊对象的种类。 |
boolean |
hasError() 确定SyncResult的便捷方法表明发生了错误。 |
boolean |
hasHardError() 用于确定SyncResult是否指示发生硬错误的便捷方法。 |
boolean |
hasSoftError() 用于确定SyncResult是否指示发生软错误的便捷方法。 |
boolean |
madeSomeProgress() 确定是否因某种原因失败后重新安排同步的便利方法。 |
String |
toDebugString() 生成一个指示状态的调试字符串。 |
String |
toString() 返回对象的字符串表示形式。 |
void |
writeToParcel(Parcel parcel, int flags) 将此对象平铺到一个包裹中。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.os.Parcelable
|
SyncResult ALREADY_IN_PROGRESS
SyncAdult的这个实例由同步适配器在同步正在进行时响应同步请求而返回。 SyncManager将重新安排同步请求以便稍后重试。
boolean databaseError
用于指示SyncAdapter由于与存储层交互时收到的错误而遇到硬错误。 SyncManager将记录同步请求失败,并且不会重新安排请求。
boolean fullSyncRequested
如果设置,SyncManager将请求与同步请求中使用的具有相同帐户和权限的立即同步(但是为空的额外软件包)。
boolean syncAlreadyInProgress
用于指示SyncAdapter已在执行同步操作,但不一定针对所请求的帐户和权限,并且无法处理该请求。 SyncManager将重新安排稍后运行的请求。
boolean tooManyDeletions
用于指示SyncAdapter确定需要向服务器发出过多的删除操作以满足请求(由SyncAdapter定义)。 SyncManager将记录同步请求失败,并会导致系统通知被创建,询问用户他们想要做什么。 它将使用户有机会在(1)甚至是那些删除之前进行选择,(2)恢复删除,或者(3)不采取任何行动。 如果用户决定(1)或(2),SyncManager将发出另一个同步请求,其中SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS
或SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS
设置在附加内容中。 然后由SyncAdapter决定如何兑现该请求。
boolean tooManyRetries
用于指示SyncAdapter由于多次尝试相同的操作而遇到硬错误(由SyncAdapter定义)。 SyncManager将记录同步请求失败,并且不会重新安排请求。
SyncResult ()
创建一个“干净的”SyncResult。 如果在没有任何更改的情况下返回,则SyncManager将认为同步已成功完成。 SyncAdapter可以设置各种字段,以便为SyncManager提供有关同步处置的更多信息。
错误分为两大类:硬错误和软错误。 软错误会以指数回退重试。 硬错误不会重试(除非硬错误是针对SYNC_EXTRAS_UPLOAD
请求,其中请求在没有SYNC_EXTRAS_UPLOAD
额外设置的情况下重SYNC_EXTRAS_UPLOAD
)。 SyncManager通过调用hasHardError()
和hasSoftError()
来检查错误的类型。 如果两者均为true,则SyncManager将其视为硬错误,而不是软错误。
void clear ()
将SyncResult清除为干净状态。 如果在设置syncAlreadyInProgress
时syncAlreadyInProgress
此UnsupportedOperationException
则抛出UnsupportedOperationException
。
int describeContents ()
描述此Parcelable实例的封送表示中包含的特殊对象的种类。 例如,如果对象将在writeToParcel(Parcel, int)
的输出中包含writeToParcel(Parcel, int)
,则此方法的返回值必须包含CONTENTS_FILE_DESCRIPTOR
位。
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. |
boolean hasError ()
确定SyncResult的便捷方法表明发生了错误。
Returns | |
---|---|
boolean |
true if either a soft or hard error occurred |
boolean hasHardError ()
用于确定SyncResult是否指示发生硬错误的便捷方法。 请参阅SyncResult()
以了解SyncManager在发现硬错误时的操作。
如果满足以下任一条件,则会显示硬错误:
numParseExceptions
> 0 numConflictDetectedExceptions
> 0 numAuthExceptions
> 0 tooManyDeletions
tooManyRetries
databaseError
Returns | |
---|---|
boolean |
true if a hard error is indicated |
boolean hasSoftError ()
用于确定SyncResult是否指示发生软错误的便捷方法。 有关SyncResult()
在看到软错误时SyncResult()
的操作的说明,请参见SyncResult()
。
如果满足以下任一条件,则会显示软错误:
Returns | |
---|---|
boolean |
true if a soft error is indicated |
boolean madeSomeProgress ()
确定是否因某种原因失败后重新安排同步的便利方法。
Returns | |
---|---|
boolean |
true if the SyncManager should reschedule this sync. |
String toDebugString ()
生成一个指示状态的调试字符串。 该字符串由一系列代码字母和数字组成。 代码字母是f - fullSyncRequested,r - partialSyncUnavailable,X - hardError,e - numParseExceptions,c - numConflictDetectedExceptions,a - numAuthExceptions,D - tooManyDeletions,R - tooManyRetries,b - databaseError,x - softError,l - syncAlreadyInProgress,I - numIoExceptions
Returns | |
---|---|
String |
debugging string. |
String toString ()
返回对象的字符串表示形式。 通常, toString
方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。
toString
类的方法Object
返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @
”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
void writeToParcel (Parcel parcel, int flags)
将此对象平铺到一个包裹中。
Parameters | |
---|---|
parcel |
Parcel : The Parcel in which the object should be written. |
flags |
int : Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE . |