Mam następujący kod:play Gry Snapshot rozwiązywanie konfliktów daje konflikt
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();
}
}
Jednak ten kod utrzymuje utknięcie w pętli while. result
zachowuje status STATUS_SNAPSHOT_CONFLICT
. Jakieś pomysły, dlaczego tak się nie dzieje?
Chodzi o to, że tak nie jest. –
Ile iteracji to zrobiło? Czy możesz udostępnić dziennik? –
Okay, wow. Teraz to zrobił. Mój telefon właśnie tam leżał przez ponad 30 minut, więc zgaduję, że około 100 iteracji. –