ユーザーが既にGoogleログインでログインしているかどうかを確認する方法を探しています。
いくつかのロギングAPI(Facebook、Google、カスタム)をサポートしているので、次のような静的ヘルパーメソッドを作成したいと思います:User.isUserLoggedIn()
Facebookで使用するもの:
_if AccessToken.getCurrentAccessToken() != null {
return true
}
_
ユーザーがFacebook経由でログインしているかどうかを確認します。
IOSでは、次のようにして、ユーザーがGoogleサインイン経由でログインしているかどうかを確認します。
_GIDSignIn.sharedInstance().hasAuthInKeychain()
_
私の質問:Androidがあります:
GIDSignIn.sharedInstance().hasAuthInKeychain()
?
コールバックを伴わない方法を探しています。
ありがとう!マックス
この機能を使用できます
private boolean isSignedIn() {
return GoogleSignIn.getLastSignedInAccount(context) != null;
}
https://developers.google.com/Android/reference/com/google/Android/gms/auth/api/signin/GoogleSignIn
public static GoogleSignInAccount getLastSignedInAccount(Context context)
ユーザーがサインインした最後のアカウントを取得します。
戻り値:前回成功した既知のサインインからのGoogleSignInAccount。ユーザーが以前にサインインしたことがないか、サインアウト/アクセスを取り消した場合、nullが返されます。
the Androidログインドキュメント をご覧ください。
ユーザーがログインしているかどうかを確認するには、isConnected()
を呼び出します。
if (mGoogleApiClient != null && mGoogleApiClient.isConnected()) {
// signed in. Show the "sign out" button and explanation.
// ...
} else {
// not signed in. Show the "sign in" button and explanation.
// ...
}
Kotlinで実装され、Ankoを使用:
val googleSignInAccount = GoogleSignIn.getLastSignedInAccount(act)
if (googleSignInAccount != null) {
getGoogleSignInClient().signOut()
}