Android将firebase auth对象传递给另一个活动以退出

Bob*_*bby 3 authentication android firebase firebase-authentication

我在主要活动中登录用户,但我想通过按钮注销另一个活动中的用户.但是,我无法将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");
                }

            }
        };
Run Code Online (Sandbox Code Playgroud)

Roh*_*war 18

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

你只需要添加

 mAuth=FirebaseAuth.getInstance();
  // Firebase sign out
  mAuth.signOut();
Run Code Online (Sandbox Code Playgroud)

或者简单的方法

FirebaseAuth.getInstance().signOut();