Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在活动之间保持Google Play服务登录_Android_Android Activity_Google Play Services_Google Play Games - Fatal编程技术网

Android 在活动之间保持Google Play服务登录

Android 在活动之间保持Google Play服务登录,android,android-activity,google-play-services,google-play-games,Android,Android Activity,Google Play Services,Google Play Games,我原以为这很简单,但我一直在周而复始地试图弄清楚如何让用户在活动之间登录 我有一个“Main”和一个“Details”活动。用户在“Main”活动中登录到googleplayservices,我想在“Details”活动中提交成绩和排行榜数据 我继承了BaseGameActivity中的Activities并使用: mGoogleApiClient = getApiClient(); 但是,在“详细信息”中,当我调用isConnected时,它总是返回false 我甚至尝试从“Main”活动

我原以为这很简单,但我一直在周而复始地试图弄清楚如何让用户在
活动之间登录

我有一个“Main”和一个“Details”
活动
。用户在“Main”
活动中登录到
googleplayservices
,我想在“Details”
活动中提交成绩和排行榜数据

我继承了
BaseGameActivity
中的
Activities
并使用:

 mGoogleApiClient = getApiClient();
但是,在“详细信息”中,当我调用
isConnected
时,它总是返回
false

我甚至尝试从“Main”
活动
复制所有登录/回调代码,但仍然没有检测到用户登录

这篇帖子建议不要使用
BaseGameActivity
并使用
singleton
传递
GameHelper


不确定正确的方法是什么。

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

从BaseGameActivity扩展您的活动真的不再需要了(对于一个有趣的解释:。您需要做的是实现处理初始化GoogleAppClient的两个接口:

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

要实现这些,请参考示例和文档:

该视频很搞笑。该死,这就是我最初实现API的方式,将其更改为使用BaseGameActivity。我想我将恢复。谢谢。