更新:我忘了说我的应用程序有多种特色。
我正在尝试使用Google Aut(而非firebase)登录我的应用。所以,首先,我正在使用这种依赖关系:
implementation 'com.google.android.gms:play-services-auth:15.0.0'
该应用程序有些旧,因此他们使用旧的依赖。
然后我使用此文档将Google登录功能集成到我的应用程序中:
我有这个在我的活动中的onCreate上调用的方法:
public void createGoogleSignInOption() {
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestIdToken("abcd")
.build();
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
}
然后我有我的意图:
private void signIn() {
Intent signInIntent = mGoogleSignInClient.getSignInIntent();
startActivityForResult(signInIntent, 22);
}
在我的activityResult中,我得到了响应:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (callbackManager != null) {
callbackManager.onActivityResult(requestCode, resultCode, data);
}
if (requestCode == 22) {
// The Task returned from this call is always completed, no need to attach
// a listener.
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
handleSignInResult(task);
}
}
最后我根据文档提供了此方法
private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
try {
GoogleSignInAccount account = completedTask.getResult(ApiException.class);
} catch (ApiException e) {
Log.w("LOG", "signInResult:failed code=" + e.getStatusCode());
}
}
我还在控制台中配置了proyect,但我具有凭据,但是没有任何作用。顺便说一句,我已经将SHA1添加到我的配置中,但仍然无法正常工作。
该消息是APIEXCEPTION 10。
有什么想法吗?我在这里停留了大约两天。
由于SHA键,您正在面对此问题。您需要从系统中生成SHA密钥,然后将其放入控制台。然后,问题已解决。您还可以从android studio生成SHA密钥,
首先打开项目,然后单击垂直栏右侧的gradle,然后选择项目->应用程序模块->任务-> android->签名报告。那么您会得到SHA键。
Okey,我终于找到了解决我问题的方法。对于所有在您的android应用中使用口味的人。
您必须放入当前调味品包装
例如,当我尝试配置项目时,我注册了软件包“ com.abcde.fg”而不是“ dev.com.abcde.fg”。我对此进行了更改,最终我的应用程序可以正常工作。
希望此帮助某人。
快乐代码!