java - 代码 :12500, 消息:12500 未以任何方式解决

标签 java android firebase-authentication google-authentication

当我尝试通过 FirebaseUI 使用 Google 帐户登录时,总是收到 12500 错误。此外,如果我尝试通过另一个不属于我的 Google 帐户登录,它会要求我输入密码。我尝试编写我的密码帐户,但它不接受。

我确实尝试了在网络中找到的所有解决方案。我尝试替换和编辑我的 google-json 文件、更改和编辑我的 SHA-1 代码以及创建另一个 OAuth 客户端 ID,但没有任何帮助。

public class Login2 extends AppCompatActivity {

    List<AuthUI.IdpConfig> providers;
    private static final int MY_REQUEST_CODE=1111;
    private static final int RC_SIGN_IN=1;
    private String TAG="Activity";
    FirebaseAuth firebaseAuth;
    Button signOut;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login2);

        firebaseAuth= FirebaseAuth.getInstance();

        try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.example.allergyalert",
                    PackageManager.GET_SIGNATURES);
            for (Signature signature : ((PackageInfo) info).signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
        } catch (PackageManager.NameNotFoundException e) {

        } catch (NoSuchAlgorithmException e) {

        }

        signOut=findViewById(R.id.signOutTestBtn);
        signOut.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AuthUI.getInstance().signOut(Login2.this).addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                        signOut.setEnabled(false);
                        showSignInOptions();
                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        Toast.makeText(Login2.this, ""+e.getMessage(), Toast.LENGTH_SHORT).show();
                    }
                });
            }
        });

        providers= Arrays.asList(
                new AuthUI.IdpConfig.EmailBuilder().build(),
                new AuthUI.IdpConfig.GoogleBuilder().build(),
                new AuthUI.IdpConfig.FacebookBuilder().build()

        );

    }

    public void showSignInOptions() {
        startActivityForResult(
                AuthUI.getInstance()
                        .createSignInIntentBuilder()
                        .setAvailableProviders(providers)
                        .build(),
                MY_REQUEST_CODE);
    }
    public void userLoggedIn(){
        if(firebaseAuth.getCurrentUser() == null){
            showSignInOptions();

        }
    }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==MY_REQUEST_CODE)
        {
            IdpResponse response= IdpResponse.fromResultIntent(data);
            if(resultCode==RESULT_OK)
            {
                FirebaseUser user= FirebaseAuth.getInstance().getCurrentUser();
                Toast.makeText(this, ""+user.getEmail(), Toast.LENGTH_SHORT).show();
                signOut.setEnabled(true);
            }
            else
            {
                Toast.makeText(this, ""+response.getError().getMessage(), Toast.LENGTH_SHORT).show();
            }
        }


    }
}

最佳答案

只需将您的 Google Play 服务更新到最新版本(在本例中为 11720000)。如果您使用 AVD,Nexus 5 和 5X 图像支持 Google Play。模拟器启动并运行后,转到扩展控制菜单 > Google Play,然后更新。

请参阅此链接以获取更多信息:Google Sign In error 12500

关于java - 代码 :12500, 消息:12500 未以任何方式解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57112296/

相关文章:

java - 我的游戏中的文本编辑文本输入问题

java - RecyclerView的OnScrollListener是抽象类?

android - 如何检查数据库引用子项是否存在

javascript - Firebase 身份验证无限循环

java - 自定义 PDF 创建 - 大图像

java - 同步方法和 block 之间有什么区别?

java - Git Post Hook 启动 Jenkins 作业

Android libgdx 敌人移动重生

android - 降级 Android SDK( api 23 -> api 21)

ios - 重置密码时将用户重定向到 iOS 应用程序