在我的应用中,某些Google API是可选的。 (在本例中为Games API。)
在我的设置活动中,用户可以选择不登录Google游戏。在那里我打电话
Games.signOut(mGoogleApiClient);
googleApiClient.disconnect();
googleApiClient = createGoogleApiClientWithoutGames();
googleApiClient.connect();
createGoogleApiClientWithoutGames
方法会创建一个不使用Games API和相应范围的新GoogleApiClient。
这是从客户端删除api和范围的正确方法吗?
如何确保其他活动(尚未销毁)的googleApiClient不使用Games API?目前,从设置活动返回时,客户端使用当前客户端配置(使用游戏)在onStart()
中进行连接。发送本地广播消息并重新创建客户端?
答案 0 :(得分:1)
我正在使用状态变量来检查onStart()
MainActivity中的当前客户端是否使用了正确的api。如果没有,我会在连接之前重新创建它。
完整源代码位于https://github.com/friedger/google-api-client-example