【发布时间】:2018-01-12 07:22:04
【问题描述】:
我正在将 Google Plus 集成到 android 应用程序中。我已经在 Login Screen 中完成了所有登录过程,在成功场景之后,我刚刚完成了该活动并移至下一个活动,即 HomeActivty。我必须从此 HomeActivity 中退出 Google Plus。问题是我在 Login Activity 中声明了所有 GoogleApiClient。在搜索需要 GoogleApiClient 对象的注销时,我得到了一个代码。错误是没有活动存在,因为我在登录后已经完成了该活动。我的问题是关于你能否建议我知道如果用户没有注销我必须检查并让他从另一个活动中注销?
我的登录活动代码
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_gplus:
GlobalPreferManager.setString(Keys.SIGN_IN_METHOD, "google_plus");
if (!new ConnectionInfo(getActivity()).isConnectingToInternet()) {
CommonUtils.showToast(getActivity(), "No Internet Connection");
} else {
signIn();
}
break;
}
}
private void signIn() {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
handleSignInResult(task);
}
}
private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
try {
GoogleSignInAccount account = completedTask.getResult(ApiException.class);
GlobalPreferManager.setBoolean(Keys.IS_LOGGED_IN, true);
GlobalPreferManager.setString(Keys.SIGN_IN_METHOD, "google_plus");
startActivity(new Intent(getActivity(), LocationActivity.class));
getActivity().finish();
} catch (ApiException e) {
CommonUtils.showToast(getActivity(), "Failed to connect!");
}
}
我的家庭活动代码
@Override
public void onClick(View view) {
Auth.GoogleSignInApi.signOut(LoginFragment.mGoogleApiClient);
}
【问题讨论】:
标签: android google-plus google-plus-signin