gpt4 book ai didi

android - Google Play 游戏服务 - 未登录下一个 Activity

转载 作者:行者123 更新时间:2023-11-29 21:13:53 25 4
gpt4 key购买 nike

在我的应用程序中,我有游戏助手(我想在单击按钮时登录):

// Whether to automatically try to sign in on onStart(). We only set this
// to true when the sign-in process fails or the user explicitly signs out.
// We set it back to false when the user initiates the sign in process.
boolean mConnectOnStart = false;

在我的 MainActivity(扩展 BaseGameActivity)中,点击登录按钮后我调用:

beginUserInitiatedSignIn();             

当然现在 isSignedIn() 返回 true。

但是当我转到下一个 Activity 时(同时扩展 BaseGameActivity):isSignedIn() 返回 false。

我当然可以在我的下一个 Activity 中调用 beginUserInitiatedSignIn(),但我不想要它。在我的应用程序中,用户可以登录,但不是必须的。因此,如果用户未在我的 mainActivity 登录,我不想在下一个 Activity 中显示登录表单。

编辑:目前我的解决方案是创建静态变量并在我离开主要 Activity 时设置它 if isSignedIn() 并仅当此变量为真时才在下一个 Activity 上调用 beginUserInitiatedSignIn() 。它有更好的自动解决方案吗?

最佳答案

有两种登录方式:

  1. 用户发起登录,显示 Google Play 游戏 Logo 并要求用户批准访问等。
  2. 静默登录(BaseGameActivity 在其 onStart 调用中执行)- 这将自动尝试登录,如果用户已经登录,则执行相同的回调就好像您已经完成了用户启动的登录流程一样。

因此,您确实需要在每次 Activity 中尝试任何与 Google Play 游戏相关的调用之前等待登录回调。

请注意,最近(4 天前的 2014 年 2 月 18 日),BaseGameUtils library for Android已更新为使用新的 Google Api Client模型,它允许您在登录之前进行读取调用(他们将在尝试处理之前自动等待登录)。由于 Google Api 客户端提供了许多其他好处(例如改进的登录可靠性),如果您还没有更新到最新的 BaseGameUtils,您应该更新。

关于android - Google Play 游戏服务 - 未登录下一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21962210/

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