java - com.firebase.ui.auth.core.FirebaseLoginBaseActivity.onStart 处出现 NullPointerException(FirebaseLoginBaseActivity.java :118)

标签 java android firebase firebase-authentication

我正在尝试使用 FirebaseUI-Android library 显示 Google 登录选项(版本 0.3.0),我遵循了 Github 存储库中提到的完全相同的步骤。但应用程序在我启动应用程序后立即崩溃。

异常(exception)是:

Caused by: java.lang.NullPointerException at 
com.firebase.ui.auth.core.FirebaseLoginBaseActivity.onStart(FirebaseLoginBaseActivity.java:118)
    at com.shajeelafzal.LoginActivity.onStart(LoginActivity.java:27)

第 27 行正在调用 super.onStart()

@Override
protected void onStart() {
    super.onStart(); // Line # 27
    setEnabledAuthProvider(SocialProvider.google);
}

我在 Application 类的 onCreate 中调用 Firebase.setAndroidContext(this);

最佳答案

FirebaseUI 的一大优点是它是一个开源项目,因此您可以检查堆栈跟踪中的行所指的内容。在这种情况下,line 118 of FirebaseLoginBaseActivity 是:

getFirebaseRef().addAuthStateListener(mAuthStateListener);

所以看来您没有实现 getFirebaseRef()com.shajeelafzal.LoginActivity或者至少在 onStart() 时返回 null已执行。

通常的实现是这样的:

public class LoginActivity extends FirebaseLoginBaseActivity {
    Firebase mFirebaseRef;

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

      mFirebaseRef = new Firebase(...);

      ...
    }

    @Override
    protected Firebase getFirebaseRef() {
       return mFirebaseRef;
    }

关于java - com.firebase.ui.auth.core.FirebaseLoginBaseActivity.onStart 处出现 NullPointerException(FirebaseLoginBaseActivity.java :118),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35070981/

相关文章:

swift - SD 未设置从 Firebase 存储中提取的图像

java - HttpClient 4.2.2 和带用户名/密码的代理

java - 当键盘出现时 Android 布局被换行

java - 我的 Android 应用程序一直给我一个 Leak Found 错误

java - 错误 无法访问 zza

android - 将外部 JAR 作为外部 SDK 添加到 Android 项目,例如 Dropbox sdk 或其他类型的第三方 sdk

ios - Firebase:在 Swift 4 上找不到 FIRUser

ios - Firebase 和 Google 云存储 API

java - 当新阶段弹出时,我如何禁用初级阶段

java - 如何使用 JAVA/Node.js 在 TELEGRAM 中向没有机器人的群组发送消息