有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何下载Google Play Games服务保存的游戏快照数据,静默?

我正在尝试在我的Android应用程序中使用谷歌的Saved Games功能和谷歌Play Games服务。谷歌提供sample code how to do so

private static final int RC_SAVED_GAMES = 9009;
private String mCurrentSaveName = "snapshotTemp";

private void showSavedGamesUI() {
  SnapshotsClient snapshotsClient =
      Games.getSnapshotsClient(this, GoogleSignIn.getLastSignedInAccount(this));
  int maxNumberOfSavedGamesToShow = 5;

  Task<Intent> intentTask = snapshotsClient.getSelectSnapshotIntent(
      "See My Saves", true, true, maxNumberOfSavedGamesToShow);

  intentTask.addOnSuccessListener(new OnSuccessListener<Intent>() {
    @Override
    public void onSuccess(Intent intent) {
      startActivityForResult(intent, RC_SAVED_GAMES);
    }
  });
}

@Override
protected void onActivityResult(int requestCode, int resultCode,
                                Intent intent) {
  if (intent != null) {
    if (intent.hasExtra(SnapshotsClient.EXTRA_SNAPSHOT_METADATA)) {
      // Load a snapshot.
      SnapshotMetadata snapshotMetadata =
          intent.getParcelableExtra(SnapshotsClient.EXTRA_SNAPSHOT_METADATA);
      mCurrentSaveName = snapshotMetadata.getUniqueName();

      // Load the game data from the Snapshot
      // ...
    } else if (intent.hasExtra(SnapshotsClient.EXTRA_SNAPSHOT_NEW)) {
      // Create a new snapshot named with a unique string
      String unique = new BigInteger(281, new Random()).toString(13);
      mCurrentSaveName = "snapshotTemp-" + unique;

      // Create the new snapshot
      // ...
    }
  }
}

显然,谷歌希望你使用他们提供的意图,让用户决定加载哪个保存的游戏,或者是否应该创建一个新的保存游戏

另一方面,我想为用户做这个决定。但是,我无法找到返回快照列表和加载快照数据的方法

由于我的游戏不需要为每个用户维护多个已保存的游戏,因此我对无目的地获取快照列表不感兴趣(尽管这是一个有趣的解决方案),而更感兴趣的是基于已保存游戏的名称以静默方式加载快照

如何在不显示意图的情况下加载快照


共 (0) 个答案