【问题标题】:Google Play Game Services showAchievments()Google Play 游戏服务 showAchievments()
【发布时间】:2018-05-09 20:15:51
【问题描述】:

我正在尝试在我的 Android 应用上显示成就。我正在使用https://developers.google.com/games/services/android/achievements提供的方法

private void showAchievements() {
    System.out.println("start showAchievements");
    Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this))
        .getAchievementsIntent()
        .addOnSuccessListener(new OnSuccessListener<Intent>() {
            @Override
            public void onSuccess(Intent intent) {
                System.out.println("in onSuccess");
                startActivityForResult(intent, RC_ACHIEVEMENT_UI);
            }
        });

但是当我调用该方法时,我得到了异常:

E/AndroidRuntime:致命异常:GoogleApiHandler 进程:com.my.application PID:1927 java.lang.IllegalStateException:游戏 API 需要 https://www.googleapis.com/auth/games_lite 函数。

我认为问题来自 Games.getAchievementsClient() 方法,但无法修复

【问题讨论】:

标签: java android google-play-games


【解决方案1】:

您的 GoogleSignIn.getLastSignedInAccount(this) 似乎没有 Games.SCOPE_GAMES_LITE。

您可以通过 GoogleSignIn.hasPermissions 进行检查。如果没有此类权限,您应该使用 GoogleSignIn.requestPermissions 请求它或使用 GoogleSignInClient.silentSignIn 接收新帐户。

【讨论】:

    猜你喜欢
    • 2014-02-02
    • 1970-01-01
    • 2013-07-31
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 2014-04-17
    相关资源
    最近更新 更多