繁体   English   中英

在活动之间坚持使用Google Play服务登录

[英]Persist Google Play Services login between activities

我以为这很简单,但是我一直在兜圈子,试图弄清楚如何使用户在Activities之间保持登录状态。

我有一个“主要” Activity和一个“详细信息” Activity 用户在“主要” Activity登录Google Play Services ,我想在“详细信息” Activity提交成就和排行榜数据。

我继承BaseGameActivity在这两个Activities ,并使用:

 mGoogleApiClient = getApiClient();

在“详细信息”中,但是当我调用isConnected它总是返回false

我什至尝试从“主” Activity复制所有登录/回叫代码,但是仍然无法检测到用户已登录。

这篇文章建议不要使用BaseGameActivity并使用singleton传递GameHelper

如何在多个活动中使用BaseGameActivity.getApiClient()?

不知道正确的方法是什么。

最简单的方法是让两个活动都创建一个单独的api客户端实例。 连接状态在内部在它们之间共享,因此您无需担心如何绕过客户端并处理在活动不活跃时可能发生的回调,并且播放器仅登录您的主要活动。

实际上,不再需要从BaseGameActivity扩展您的活动了(对于一个有趣的解释性手表: BasegameActivity的死亡 。您要做的是实现两个用于初始化GoogleAPIClient的接口:

public class MainActivity extends Activity implements
        GoogleApiClient.ConnectionCallbacks,
        GoogleApiClient.OnConnectionFailedListener {
        }

要实现这些功能,请参考示例和文档: https : //developers.google.com/games/services/android/init

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM