Tôi đã có đoạn mã sau:Chơi Games Snapshot giải quyết xung đột mang đến cho cuộc xung đột
Snapshots.OpenSnapshotResult result;
result = Games.Snapshots.open(googleApiClient, "save", true).await();
while (result == null || !result.getStatus().isSuccess()) {
Log.d("Snapshot", "Open snapshot");
if (result.getStatus().getStatusCode() == GamesStatusCodes.STATUS_SNAPSHOT_CONFLICT) {
Snapshot snapshot = result.getSnapshot();
Snapshot conflictSnapshot = result.getConflictingSnapshot();
// Resolve between conflicts by selecting the newest of the conflicting snapshots.
Snapshot mResolvedSnapshot = snapshot;
if (snapshot.getMetadata().getLastModifiedTimestamp() <
conflictSnapshot.getMetadata().getLastModifiedTimestamp()) {
mResolvedSnapshot = conflictSnapshot;
}
result = Games.Snapshots.resolveConflict(
googleApiClient, result.getConflictId(), mResolvedSnapshot).await();
}
}
Tuy nhiên, mã này tiếp tục bị mắc kẹt trong vòng lặp while. result
giữ trạng thái STATUS_SNAPSHOT_CONFLICT
. Bất kỳ ý tưởng nào về lý do tại sao điều này không được giải quyết?
Vấn đề là không. –
Đã bao nhiêu lần lặp lại? Bạn có thể chia sẻ nhật ký không? –
Được rồi, wow. Bây giờ nó đã làm. Điện thoại của tôi chỉ được đặt ở đó trong hơn 30 phút, vì vậy tôi đoán khoảng 100 lần lặp lại. –