如何在Android中从GoogleAppClient中删除api和作用域?

如何在Android中从GoogleAppClient中删除api和作用域?,android,google-api-client,android-googleapiclient,Android,Google Api Client,Android Googleapiclient,在我的应用程序中,一些谷歌API是可选的。(在本例中为游戏API。) 在“我的设置”活动中,用户可以选择不登录谷歌游戏。我在那里打电话 Games.signOut(mGoogleApiClient); googleApiClient.disconnect(); googleApiClient = createGoogleApiClientWithoutGames(); googleApiClient.connect(); createGoogleApiClientWithoutGames方法创

在我的应用程序中,一些谷歌API是可选的。(在本例中为游戏API。)

在“我的设置”活动中,用户可以选择不登录谷歌游戏。我在那里打电话

Games.signOut(mGoogleApiClient);
googleApiClient.disconnect();
googleApiClient = createGoogleApiClientWithoutGames();
googleApiClient.connect();
createGoogleApiClientWithoutGames
方法创建一个不使用游戏API和相应作用域的新GoogleApiClient

  • 这是从客户端删除api和作用域的正确方法吗

  • 如何确保其他活动(尚未销毁)的GoogleAppClient不使用游戏API?当前,当从“设置”活动返回时,客户端正在使用当前客户端配置(带有游戏)在
    onStart()中连接。发送本地广播消息并重新创建客户端


  • 我正在使用一个状态变量来检查MainActivity中的当前客户端是否使用了正确的API。如果没有,我会在连接之前重新创建它


    完整的源代码可在

    @IntelliJAmiya上获得。问题是AndroidI在github上创建了一个repo,其中一个简单的应用程序显示了问题: