Android: Как прекратить вход в систему автоматически, если у нас несколько пользователей типа - PullRequest
0 голосов
/ 11 января 2020

Я создаю приложение, которое имеет два типа пользователей. Один - клиент, а второй - ремонтный инженер. В mainActivity я предоставляю пользователю два варианта: выбрать вариант клиента или параметр repairEngineer. Я построил отдельные классы для них обоих. Когда я вхожу в систему как клиент, он попадает в область клиентов, но когда я нажимаю на repairEngneer, он не требует параметров входа. А также я хочу, чтобы, если пользователь вошел в систему, mainActivity не должно отображаться при повторном открытии приложения, пока пользователь не выйдет.

mainActivity

public class MainActivity extends AppCompatActivity {
    private Button bCustomer, bLabEngineer;
    private FirebaseAuth cAuth;
    private FirebaseAuth.AuthStateListener firebaseAuthListner;

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

        cAuth = FirebaseAuth.getInstance();


        firebaseAuthListner = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

                if(user != null) {
                    if(user.equals("Customers")) {
                        Intent intent = new Intent(MainActivity.this, CustomerSignin.class);
                        startActivity(intent);
                        finish();
                        return;
                    } else if(user.equals("LabEngineers")) {
                        Intent intent = new Intent(MainActivity.this, LabEngineerSignin.class);
                        startActivity(intent);
                        finish();
                        return;
                    }
                }
            }
        };



        bCustomer = (Button) findViewById(R.id.customer);
        bCustomer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, CustomerSignin.class);
                startActivity(i);
                finish();
                return;
            }
        });

        bLabEngineer = (Button) findViewById(R.id.labengineer);
        bLabEngineer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, LabEngineerSignin.class);
                startActivity(i);
                finish();
                return;
            }
        });

    }
    @Override
    protected void onStart() {
        super.onStart();
        cAuth.addAuthStateListener(firebaseAuthListner);
    }
    @Override
    protected void onStop() {
        super.onStop();
        cAuth.removeAuthStateListener(firebaseAuthListner);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...