【问题标题】:Android pass firebase auth object to another activity to sign outAndroid将firebase auth对象传递给另一个活动以退出
【发布时间】:2017-09-07 15:52:41
【问题描述】:

我在主活动中登录用户,但我想通过按钮在另一个活动中注销用户。但是,我无法将FirebaseAuth 对象传递给其他活动。

PutParcelable 和 PutSerializable 不起作用,因为我无法控制类本身。共享首选项仅接受原始类型。我应该在新活动中获得一个新实例并在新活动中注销用户吗?即使我得到一个新实例,用户的状态是否会被保留?

这是代码

mAuth = FirebaseAuth.getInstance();
        mAuthListener = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                FirebaseUser user = firebaseAuth.getCurrentUser();
                if (user != null) {
                    // User is signed in
                    Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid());
                    Toast.makeText(getApplicationContext(), "You are logged in!!!",
                            Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(MainActivity.this, CameraActivity.class);

                    startActivity(intent);
                } else {
                    // User is signed out
                    Log.d(TAG, "onAuthStateChanged:signed_out");
                }

            }
        };

【问题讨论】:

    标签: android authentication firebase firebase-authentication


    【解决方案1】:

    FirebaseAuth 是一个单例类,您可以从应用程序的任何位置获取 firebase auth 实例。

    你只需要添加

     mAuth=FirebaseAuth.getInstance();
      // Firebase sign out
      mAuth.signOut();
    

    或者简单的方法

    FirebaseAuth.getInstance().signOut();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 1970-01-01
      • 2019-05-31
      相关资源
      最近更新 更多