我刚为我的应用整合了Google+登录按钮。当您登录,授予访问权限并获取人员信息时,一切都很完美。但是,我有一种感觉,我在这方面有一个很大的缺陷,可能会阻止正确的G +注销。
我有LoginActivity
我在其中创建mGoogleApiClient
实例。一旦我进行登录检查并使用个人信息更新我的数据库和变更,我finish()
LoginActivity
并转到我的MainActivity
。这是用户可以选择退出的地方。
但是,我担心我需要mGoogleApiClient
的相同实例;但是当我完成LoginActivity
时,这已经消失了。所以我稍微修改了一些内容,并尝试将其作为静态变量存储在另一个Activity
中我在全球范围内使用一些变量 - extends Application
,但它似乎没有退出。
我是在正确的道路上还是我需要以不同的方式做到这一点?
答案 0 :(得分:1)
在您的新活动中,请执行以下操作:
GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API)
.addScope(Plus.SCOPE_PLUS_LOGIN)
.build();
mGoogleApiClient.connect();
// connect to current session
Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);
// clear account
mGoogleApiClient.disconnect();
// disconnect
答案 1 :(得分:0)
您需要在MainActivity
中使用LoginActivity
中拥有的所有相同权限再次连接到Google Play服务,以便您可以使用该实例注销