我在我的游戏中集成了谷歌游戏服务,包括排行榜和成就。如果用户打开排行榜或成就活动,他可以从右上角的设置中退出。
如何检查用户是否实际登录?getGamesClient.isConnected() 仍然是 true,尽管用户从 google 视图中注销。
如果我单击注销按钮(它仍然存在,因为 gamesClient 仍然连接)我得到一个 SecurityException:
08-16 11:01:21.262 14288-14288/? E/AndroidRuntime:致命异常:com.google.android 的 android.os.Parcel.readException(Parcel.java:1379) 的 android.os.Parcel.readException(Parcel.java:1425) 的主要 java.lang.SecurityException。 gms.internal.bm$a$aa(Unknown Source) at com.google.android.gms.internal.bj.signOut(Unknown Source) at com.google.android.gms.games.GamesClient.signOut(Unknown Source)
目前,我正在检查 ActivityForResult 响应代码并断开 GamesClient,如果它处于不一致状态,但我不喜欢这种方法。