谷歌silentSignIn错误“;com.google.android.gms.common.api.ApiException:4:4:;启用自动备份时

谷歌silentSignIn错误“;com.google.android.gms.common.api.ApiException:4:4:;启用自动备份时,android,firebase,google-signin,android-backup-service,googlesigninaccount,Android,Firebase,Google Signin,Android Backup Service,Googlesigninaccount,我面临的是'com.google.android.gms.common.api.ApiException:4:4:'google silentSignIn仅在以下情况下出错: 在启用自动备份的情况下安装应用程序(仅限 共享引用) 在应用程序中从google登录 通过打开驱动器应用程序设置同步设备数据 卸载应用程序 等待约1小时,以便google会话过期 重新安装应用程序 然后,当我尝试检查google会话时,通过从首选项检查我的登录状态,它会在使用以下代码时出错: void fetchToken

我面临的是'com.google.android.gms.common.api.ApiException:4:4:'google silentSignIn仅在以下情况下出错:

  • 在启用自动备份的情况下安装应用程序(仅限 共享引用)
  • 在应用程序中从google登录
  • 通过打开驱动器应用程序设置同步设备数据
  • 卸载应用程序
  • 等待约1小时,以便google会话过期
  • 重新安装应用程序
  • 然后,当我尝试检查google会话时,通过从首选项检查我的登录状态,它会在使用以下代码时出错:

    void fetchToken(TaskListener<String> taskListener) {
            GoogleSignInAccount alreadyLoggedAccount = GoogleSignIn.getLastSignedInAccount(context);
            if (alreadyLoggedAccount != null) {
                if (alreadyLoggedAccount.isExpired() && alreadyLoggedAccount.getAccount() != null) {
                    googleSignInClient.silentSignIn().addOnSuccessListener(googleSignInAccount -> {
                        AppLogger.d(TAG, "silentSignIn to refresh idToken ");
                        if (taskListener != null && googleSignInAccount != null)
                            taskListener.onResponse(googleSignInAccount.getIdToken());
                    }).addOnFailureListener(e -> {
                        if (taskListener != null)
                            **taskListener.onError(null);**
                    });
                } else if (!alreadyLoggedAccount.isExpired()) {
                    if (taskListener != null)
                        taskListener.onResponse(alreadyLoggedAccount.getIdToken());
                }
            } else if (taskListener != null) {
                taskListener.onError(null);
            }
        }
    
    void fetchToken(TaskListener TaskListener){
    GoogleSignInAccount alreadyLogedAccount=GoogleSignIn.GetLastSignedAccount(上下文);
    如果(ALREADYLOGGEDACOUNT!=null){
    if(alreadyLoggedAccount.isExpired()&&alreadyLoggedAccount.getAccount()!=null){
    googleSignInClient.silentSignIn().addOnSuccessListener(googleSignInAccount->{
    AppLogger.d(标记“silentSignIn以刷新idToken”);
    if(taskstener!=null&&googleSignInAccount!=null)
    onResponse(googleSignInAccount.getIdToken());
    }).addOnFailureListener(e->{
    if(taskListener!=null)
    **taskListener.onError(null)**
    });
    }如果(!ALREADYLOGGEDACOUNT.isExpired()){
    if(taskListener!=null)
    onResponse(alreadyLoggedAccount.getIdToken());
    }
    }else if(taskListener!=null){
    taskListener.onError(null);
    }
    }
    
    异常(com.google.android.gms.common.api.ApiException:4:4:)在“addOnFailureListener”中引发

    我已经在Firebase和Google控制台上验证了SHA-1,它是正确的。原因可能是什么?任何想法都会有帮助

    谢谢