[英]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.