当前位置:  开发笔记 > 编程语言 > 正文

如何记住在Google帐户Android中登录

如何解决《如何记住在Google帐户Android中登录》经验,为你挑选了1个好方法。



1> Noya..:

我会避免在共享首选项中保存令牌,而是尝试执行如下所述的静默登录:http://android-developers.blogspot.de/2015/12/api-updates-for-sign-in-with -google.html

这样做的好处是可以让您验证用户是否仍然登录并最终让您提示他请求重新登录.

这里有一些代码(基本上是从链接中的示例改编而来):

public void silentLogin() {
    OptionalPendingResult pendingResult = Auth.GoogleSignInApi.silentSignIn(googleApiClient);
    if (pendingResult != null) {
        handleGooglePendingResult(pendingResult);
    } else {
        //no result from silent login. Possibly display the login page again 
    }
}

private void handleGooglePendingResult(OptionalPendingResult pendingResult) {
    if (pendingResult.isDone()) {
        // There's immediate result available.
        GoogleSignInResult signInResult = pendingResult.get();
        onSilentSignInCompleted(signInResult);
    } else {
        // There's no immediate result ready,  waits for the async callback.
        pendingResult.setResultCallback(new ResultCallback() {
            @Override
            public void onResult(@NonNull GoogleSignInResult signInResult) {
                onSilentSignInCompleted(signInResult, callback);
            }
        });
    }
}

private void onSilentSignInCompleted(GoogleSignInResult signInResult) {
    GoogleSignInAccount signInAccount = signInResult.getSignInAccount();        
    if (signInAccount != null) {
            // you have a valid sign in account. Skip the login.

        } else {
            // you don't have a valid sign in account. Eventually display the login page again
        }
}

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有