gpt4 book ai didi

android - Google Play 游戏服务 - 解锁的成就弹出窗口未显示

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:54:35 24 4
gpt4 key购买 nike

当我解锁成就时,“成就已解锁”弹出窗口没有弹出,但成就已解锁,正如我在成就列表中看到的那样。

我已经试过了 this解决方案,但它不起作用。

我在 MainActivity 中像这样初始化 GoogleApiClient:

 gac = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN)
.addApi(Games.API).addScope(Games.SCOPE_GAMES)
.build();
app.setGoogleApiClient(gac);
gac.connect();

在我的“游戏结束 Activity ”中,我执行以下操作:

ApplicationClass app = (ApplicationClass) getApplication();
googleApiClient = app.getGoogleApiClient();

...然后我解锁这样的成就:

 Games.Achievements.unlock(googleApiClient, "achievement id");

提前致谢!

最佳答案

Games API 是为单个 Activity 设计的,尽管您可以在多个 Activity 中使用它。您是否有机会查看他们在 GithHub pages 提供的 sample ? ?他们在 BasicSamples/libraries/BaseGameUtils 下有一些类可能会有帮助。

您正在使用 this 在主 Activity 上调用 Builder 方法。

new GoogleApiClient.Builder(this) //this being your MainActivity

然后您将 Api 客户端设置为应用程序类。现在,当您在新的 GameOverActivity 中时,api 客户端会尝试显示屏幕上不再显示的 Activity View 。它只引用您的 MainActivity。您不应在 Api 客户端的应用程序类上设置变量。这也是一种不好的做法,因为您将监听器回调设置为 Activity ,并且在调用其中一个回调时可能不再存在。

您想要与游戏 API 交互的任何 Activity 都应派生自 GitHub 上 BaseGameUtils 中的 BaseGameActivity。在每个 Activity 中,您都会有一个名为 getApiClient() 的方法。

关于android - Google Play 游戏服务 - 解锁的成就弹出窗口未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27748866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com