android - Firebase Android Auth 对象没有触发回调

标签 android facebook firebase firebase-authentication

我一直在浏览 Firebase 文档以在我的 Android 应用程序中设置用户身份验证系统。然而,出于某种原因,我的 FirebaseAuth 对象上似乎没有任何回调在运行!

例如,按照指示设置 Facebook 身份验证 here

private void handleFacebookAccessToken(AccessToken token) {
    Log.d("AUTH", "handleFacebookAccessToken:" + token.getToken());
    // ...
    AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
    Log.d("AUTH", "Credential: "+credential);
    mAuth.signInWithCredential(credential)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    Log.d("AUTH", "signInWithCredential:onComplete:" + task.isSuccessful());

                    // If sign in fails, display a message to the user. If sign in succeeds
                    // the auth state listener will be notified and logic to handle the
                    // signed in user can be handled in the listener.
                    if (!task.isSuccessful()) {
                        Log.w("AUTH", "signInWithCredential", task.getException());
                        Toast.makeText(LoginActivity.this, "Authentication failed.",
                                Toast.LENGTH_SHORT).show();
                    }

                    // ...
                }
            });
}

Facebook 方面的一切都很好,但是当涉及到使用检索到的 fb 凭据登录时,signInWithCredential 函数没有运行任何回调,我的用户数据库中似乎没有发生任何事情。

此外,我尝试了更简单的方法

mAuth.createUserWithEmailAndPassword(etUserID.getText().toString(), etPassword.getText().toString());

也没有任何反应。我已经在我的 Firebase 控制台中启用了这两个提供程序,并为该项目下载了最新的 google-services.json 文件。我错过了什么吗?

编辑:刚刚尝试运行快速启动身份验证演示,但效果不佳。我确实在我的模拟器上看到除非我更新谷歌服务,否则这个应用程序将无法运行。这是这个错误的原因吗?我尝试在各种模拟器上更新谷歌服务,但只返回错误。

最佳答案

它只能在真实的 android 设备上运行,但在模拟器上运气不好。

对于设备,您需要在您的应用程序 gradle 文件中添加以下依赖项:

compile 'com.google.android.gms:play-services-auth:9.0.2'

我还没有测试过,但似乎如果你用更新的谷歌播放服务更新模拟器图像,它应该也能工作。

希望对您有所帮助。

关于android - Firebase Android Auth 对象没有触发回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37375983/

相关文章:

firebase - 'FirebaseListObservable<any[]> 类型不存在属性 ‘indexOf’

java - 第二次解析 XML 文件时出现 XStream ConversionException

c# - 延迟几秒多次更新 Textview 文本

android - Google Play 服务和 Google 游戏

Facebook Graph API,将收件箱标记为已读?

android - 创建一个与 Facebook SDK 的 `LoginButton` 相同的按钮或覆盖 LoginButton 的 OnClick

android - 为登录 Facebook : UIAutomator can't fill in text in Facebook's username field 的 Android 应用程序编写测试

android - 在 Android 中以编程方式合并 xml 布局

java - 无法从 Firebase 检索数据到 ListView

firebase - 如何在firebase云函数中从通配符获取数据