当我点击注销时,我的应用程序崩溃

Seamy20

我有一个允许我登录和退出的应用程序。注销按钮现在似乎使应用程序崩溃,当我以前工作正常时按下它。它仍然会注销用户,当您返回应用程序时,您必须再次登录。

我在下面的 create 方法中添加了我的全部内容,操作发生在底部。以防万一我添加了重复项或我遗漏的东西

 //view objects
    private TextView textViewUserEmail;
    private Button buttonLogout;

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

        buttonAddProducts = (Button) findViewById(R.id.buttonAddProducts);
        buttonAddBeverages = (Button) findViewById(R.id.buttonAddBeverages);
        buttonLogout = (Button) findViewById(R.id.buttonLogout);
        firebaseAuth = FirebaseAuth.getInstance();
        buttonAddProducts.setVisibility(View.GONE);
        buttonAddBeverages.setVisibility(View.GONE);

        databaseUsers = FirebaseDatabase.getInstance().getReference("users");

        String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
        DatabaseReference currentUserReference = databaseUsers.child(uid);
        currentUserReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot userSnapshot) {
                if (userSnapshot.exists()) {
                    User user = userSnapshot.getValue(User.class);

                    if(user.getAdminUser() == true)
                    {
                        buttonAddProducts.setVisibility(View.VISIBLE);
                        buttonAddBeverages.setVisibility(View.VISIBLE);
                    }
                }
                else{
                    Log.i("myInfoTag", "Connection problem");
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                throw databaseError.toException(); // don't ignore exceptions
            }
        });


        //if the user is not logged in
        //that means current user will return null
        if(firebaseAuth.getCurrentUser() == null){
            //closing this activity
            finish();
            //starting login activity
            startActivity(new Intent(this, LoginActivity.class));
        }

        //getting current user
        FirebaseUser user = firebaseAuth.getCurrentUser();

        //initializing views
        textViewUserEmail = (TextView) findViewById(R.id.textViewUserEmail);


        //displaying logged in user name
        textViewUserEmail.setText("Welcome "+user.getEmail());


        buttonLogout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //logging out the user
                firebaseAuth.signOut();
                //closing activity
                finish();
                //starting login activity
                startActivity(new Intent(ProfileActivity.this, SignUpActivity.class));
            }
        });


    }

当我按下注销时,它只是崩溃,味精啤酒应用程序已停止

鲍勃·斯奈德

以下代码块不会立即将执行转移到已启动的活动。它仅启动该流程,并继续执行以下语句。

    if(firebaseAuth.getCurrentUser() == null){
        //closing this activity
        finish();
        //starting login activity
        startActivity(new Intent(this, LoginActivity.class));
    }

在您的情况下,以下语句之一是user.getEmail()NullPointerException当没有用户登录时会抛出 a

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

java:为什么当我尝试重新启动线程时我的应用程序崩溃了?

当我将其他内容放在Intent上时,我的应用程序崩溃

我的应用程序注销问题。应用不断崩溃

当我尝试调试时应用程序崩溃

当我选择单选按钮时,我的应用程序崩溃了

当我触摸任何按钮时,我的应用程序都崩溃了

当我使用TabLayout时,我的Android Studio应用程序崩溃,该如何解决?

每当我注销时应用程序崩溃

当我尝试向其中添加图像按钮时,我的应用程序崩溃了

当我尝试设置onClickListener时,应用程序崩溃

当我注册SensorManager.registerListener时,我的Android应用程序崩溃了

当我移到某个片段时,应用程序崩溃

JSQMessages:当我使用照片消息时,我的应用程序不断崩溃

当我的android应用程序崩溃时获取通知

为什么当我尝试显示我的 ip usig Inet 时我的应用程序崩溃?

当我点击我的一项活动的返回按钮时,我的应用程序崩溃

当我回到 TableViewController 时应用程序崩溃

当我的 Android 应用程序的启动画面打开时,应用程序崩溃

当我点击自动链接网址时,应用程序崩溃

当我调用 EditText 时,android 应用程序崩溃

当我点击运行应用程序时,android 服务消失了,当应用程序崩溃时也是如此

当我在 mp3 播放器中多次点击播放按钮时,我的应用程序崩溃了

为什么当我点击搜索按钮时应用程序崩溃?

当我点击按钮时应用程序关闭

当我尝试打开 Fragment 时应用程序崩溃

当我使用反应路由重新加载具体页面时,我的应用程序崩溃了

当我尝试打开蓝牙时应用程序崩溃

当我连续点击开始和停止动作时,我的应用程序崩溃了。我正在研究语音识别

为什么当我点击项目时我的应用程序会强制关闭?