iap*_*ker 4 android google-play-services google-play-games google-signin
当排行榜显示在屏幕上时,有一个名为"设置"的选项.在里面有一个选项"Signout".当我点击退出时,排行榜已关闭,
如果我检查了登录状态,则以下函数始终返回true.表示mGoogleApiClient已连接.因此,当我尝试单击显示排行榜的图标时,它始终具有responseCode RESULT_RECONNECT_REQUIRED.
如果我重启我的应用程序,这个问题就消失了
public boolean isSignedIn() {
return mGoogleApiClient != null && mGoogleApiClient.isConnected();
}
Run Code Online (Sandbox Code Playgroud)
程序如何知道用户已在排行榜屏幕中注销.
由于连接处于不一致状态(源),您必须抓住注销onActivityResult并自行调用.GoogleApiClient.disconnect()
因此,当您使用以下代码打开排行榜时:
activity.startActivityForResult(Games.Leaderboards.getLeaderboardIntent(googleApiClient, leaderboardId), MY_CUSTOM_LEADERBOARD_RESULT_CODE);
Run Code Online (Sandbox Code Playgroud)
您应该按如下方式处理注销事件:
public void onActivityResult(int requestCode, int responseCode, Intent intent) {
boolean userLoggedOut = (responseCode == GamesActivityResultCodes.RESULT_RECONNECT_REQUIRED) && (requestCode == MY_CUSTOM_LEADERBOARD_RESULT_CODE);
if (userLoggedOut) {
googleApiClient.disconnect();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
532 次 |
| 最近记录: |