Я получаю эту ошибку, когда в моем приложении для Android появляется сообщение «У пользователя нет прав на выполнение этой операции», когда я нажимал кнопку выхода из системы. Это не похоже на исключение, потому что мой am не вылетает, но ошибка постоянно появляется. Есть ли что-то, что я могу сделать, чтобы избежать этого. Спасибо.
Я думаю, что это связано с тем, что прослушиватели событий базы данных, которые не были удалены после нажатия кнопки выхода из системы, могут ли я удалить все прослушиватели событий базы данных после выхода из системы.
Ниже мой код выхода из системы.
@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"
}