尝试注销时,Firebase在Android上显示权限被拒绝

时间:2019-07-05 12:07:28

标签: java android firebase

当我单击注销按钮时,我在Android应用程序中收到此错误,敬酒“权限被拒绝”,“用户无权执行此操作”。但是,它看起来并不像异常,因为我没有崩溃,但是错误不断出现。我有什么办法可以避免这种情况。谢谢。

我认为这是由于数据库事件侦听器所致,单击退出按钮后并未将其删除,有没有一种方法可以注销后删除所有数据库事件侦听器。

下面是我的注销代码。

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.my_menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        int id = item.getItemId();

        switch (id){
            case R.id.sign_out:
                mAuth.signOut();
                Intent intent = new Intent(ProfileActivity.this, LoginActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
                startActivity(intent);
                finish();
                return true;
            default:
                return  false;
        }
    }

    @Override
    public void onStop() {
        super.onStop();
        mUserRef.removeEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }```

 "rules": {
    ".read":"auth != null",
    ".write":"auth != null"
  }

0 个答案:

没有答案