【发布时间】:2015-01-10 05:56:16
【问题描述】:
我正在使用 Xamarin 使用 Google Play 游戏服务为 Android 开发游戏。我正在使用 Genymotion Android 模拟器进行测试。我遇到了一个似乎是 Google Play 或 Xamarin 实现中的错误的问题。
如果我退出 Google 帐户,对 IGoogleApiClient.IsConnected() 的调用会继续返回 true(即使我已经显然刚刚退出)。如果我随后尝试使用该 API 对象,我将得到如下异常:
java.lang.SecurityException: 调用 API 时未登录
例如,下面的代码在退出后执行会导致上述异常:
public void StartNewMatch()
{
if (!mGoogleApiClient.IsConnected)
{
return;
}
Intent intent = GamesClass.TurnBasedMultiplayer.GetSelectOpponentsIntent(mGoogleApiClient, 1, 1, true);
StartActivityForResult(intent, RC_SELECT_PLAYERS);
}
我正在退出 Google Play 游戏收件箱(匹配选择器);如下图所示。
以前有人遇到过这种情况吗?我错过了什么吗?有什么变通办法吗?
注意:只有在通过 Google 的 UI 退出时才会出现这种情况。如果我手动退出用户,使用 mGoogleApiClient.Disconnect() 之类的内容,则不会出现此问题; mGoogleApiClient.IsConnected() 现在返回 false(如预期)。
【问题讨论】:
标签: android xamarin google-play-services monogame google-play-games