我一直在寻找这个问题的原因,并且已经测试了我在 Stack Overflow 上看到的几种方法,但似乎没有任何方法可以解决问题。
基本上,我尝试通过 Google 进行身份验证,当我进入 Google 帐户选择页面并返回到我的活动时,我总是看到结果 RESULT_CANCELED (0) 而不是 RESULT_OK (-1),无论结果如何已选择帐户。 .
我检查了 Google Console 中的凭据配置是否正确,以及 SHA-1 洞穴(调试和发布)是否已正确添加。我什至删除了我的 firebase 项目并按照分步说明创建了一个新项目,但没有任何帮助。
我的认证请求:
GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.client_id_google))
.requestEmail()
.build();
googleSignInClient = GoogleSignIn.getClient(LoginActivity.this, googleSignInOptions);
firebaseAuth = FirebaseAuth.getInstance();
以及期望结果的ActivityResultLauncher:
mStartForResult = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
result -> {
if (result.getResultCode() == Activity.RESULT_OK) {
getInformationSignedAccountGoogle(result.getData());
}
});
一些 API 密钥生成不正确。我删除了它并再次生成它,它开始正常工作。