Android静默登录没有用户交互登录帐户经理中的Gmail帐户
问题描述:
如果用户从帐户选择器登录,我可以从静音登录中获取详细信息。 我想在没有用户输入的情况下执行操作Android静默登录没有用户交互登录帐户经理中的Gmail帐户
我试图显示用户个人资料详情,如个人资料图片,从我的应用程序显示,无需用户输入。通过在api中使用silentsign无声登录iam。
有没有什么办法让登入不从的AccountManager帐户选择,
private void silentSign() {
// Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
// startActivityForResult(signInIntent, RC_SIGN_IN);
OptionalPendingResult<GoogleSignInResult> pendingResult =
Auth.GoogleSignInApi.silentSignIn(mGoogleApiClient);
if (pendingResult.isDone()) {
// There's immediate result available.
handleSignInResult(pendingResult.get());
} else {
// There's no immediate result ready, displays some progress indicator and waits for the
// async callback.
// showProgressIndicator();
pendingResult.setResultCallback(new ResultCallback<GoogleSignInResult>() {
@Override
public void onResult(@NonNull GoogleSignInResult result) {
handleSignInResult(result);
// hideProgressIndicator();
}
});
}
private void handleSignInResult(GoogleSignInResult result) {
//If the login succeed
if (result.isSuccess()) {
//Getting google account
GoogleSignInAccount acct = result.getSignInAccount();
//Displaying name and email
textViewName.setText(acct.getDisplayName());
textViewEmail.setText(acct.getEmail());
textGivenName.setText(acct.getGivenName());
textFamilyName.setText(acct.getFamilyName());
textid.setText(acct.getId());
Uri photoUrl = acct.getPhotoUrl();
//Initializing image loader
imageLoader = CustomVolleyRequest.getInstance(this.getApplicationContext())
.getImageLoader();
imageLoader.get(acct.getPhotoUrl().toString(),
ImageLoader.getImageListener(profilePhoto,
R.mipmap.ic_launcher,
R.mipmap.ic_launcher));
//Loading image
profilePhoto.setImageURI(photoUrl);
} else {
//If login fails
Toast.makeText(this, "Login Failed", Toast.LENGTH_LONG).show();
}
}
答
所以这里的前提条件是,首次当你的用户迹象已经通知他,并把他的许可。当用户授予权限时,可以将令牌保存到服务器数据库中。现在情况开始了,用户已经卸载了应用程序,或者将其安装在他/她使用同一个帐户登录的其他设备上,现在您已经获得了许可,您可以简单地显示toast/snackbar
并向用户欢迎回来消息,并默默签署他。
我希望这个澄清。
PS。解释很长,因此没有在评论中提到。
我想显示用户gmail个人资料图像,用户名登录在设备中的gmail帐户(通过使用帐户管理器我们将无法获得用户gmail配置文件图像)。这些需要在应用程序启动后显示(如果有多个帐户,没有像gmail帐户选择器那样的用户交互) – Bhargavaroyal
按照要求,想要在我们的应用程序中显示如下图所示的用户详细信息:https:// www。 google.co.in/imgres?imgurl=https%3A%2F%2Fwww.androidheadlines.com%2Fwp-content%2Fuploads%2F2017%2F06%2FYouTube-for-Android-TV-New-4.jpg&imgrefurl=https%3A% 2F%2Fwww.androidheadlines.com%2F2017%2F06%2Fandroid-TV-YouTube上获得-A-新外观与 - 最新-update.html和文档ID = YFuQTvqF6A3jnM&tbnid = n1xvchTuiu9vLM%3A&RET = 10ahUKEwiZtsKiu_nVAhXKo48KHUc_DuEQMwgmKAAwAA..i&W = 1366&H = 768&安全=关和客户端= firefox-b-ab&bih = 681&biw = 1467&q = youtube%20android%20user%20profile&ved = 0ahUKEwiZtsKiu_nVAhXKo48KHUc_DuEQMwgmKAAwAA&iact = mrc&uact = 8 – Bhargavaroyal
因此,正如我所说的,你必须首先询问权限,然后保存令牌。在下次你可以使用这个令牌并使用REST API或SDK获取后, –