У меня 3 действия: 1-й - вход в систему. 2-й - регистрация. 3-й домашний вид деятельности (Bottom_nav) с нижней навигацией; у меня есть 3 фрагмента A, B, C.
.При входе в систему пользователь уже вошел в систему или не проверен. Если пользователь не вошел в систему, он перенаправлен на регистрационную активность. Еще на домашнюю активность.
Я включил onBackPressed () в домашней активности, но при двойном нажатии кнопки "Назад" действие получаетПриостановлено и возобновлено.
Вот мой код:
boolean doubleBackToExitPressedOnce = false;
@Override
public void onBackPressed() {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
Bottom_nav.this.finish();
return;
}
this.doubleBackToExitPressedOnce = true;
Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce=false;
}
}, 2000);
}
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_home:
getSupportFragmentManager().beginTransaction().replace(R.id.MainFrame, new HomeFragment()).commit();
return true;
case R.id.navigation_dashboard:
getSupportFragmentManager().beginTransaction().replace(R.id.MainFrame, new ProfileFragment()).addToBackStack(null).commit();
return true;
case R.id.navigation_notifications:
getSupportFragmentManager().beginTransaction().replace(R.id.MainFrame, new NotificationFragment()).addToBackStack(null).commit();
return true;
}
return false;
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bottom_nav);
getSupportFragmentManager().beginTransaction().add(R.id.MainFrame, new HomeFragment()).commit();
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}
Это лог
V/FA: Recording user engagement, ms: 2650
V/FA: Activity paused, time: 132340044
D/FA: Logging event (FE): user_engagement(_e),
Bundle[{firebase_event_origin(_o)=auto, engagement_time_msec(_et)=2650,
firebase_screen_class(_sc)=Bottom_nav,
firebase_screen_id(_si)=-4687850249260059972}]
D/FA: Logging event (FE): screen_view(_vs),
Bundle[{firebase_event_origin(_o)=auto,
firebase_previous_class(_pc)=Bottom_nav,
firebase_previous_id(_pi)=-4687850249260059972,
firebase_screen_class(_sc)=RegisterPhoneActivity,
firebase_screen_id(_si)=-4687850249260059974}]
V/FA: onActivityCreated
V/FA: Activity resumed, time: 132340054
V/FA: Screen exposed for less than 1000 ms. Event not sent. time: 184
V/FA: Activity paused, time: 132340135
D/FA: Logging event (FE): screen_view(_vs),
Bundle[{firebase_event_origin(_o)=auto,
firebase_previous_class(_pc)=RegisterPhoneActivity,
firebase_previous_id(_pi)=-4687850249260059974,
firebase_screen_class(_sc)=Bottom_nav,
firebase_screen_id(_si)=-4687850249260059971}]
V/FA: Activity resumed, time: 132340244
W/PathParser: Points are too far apart 4.000000000000002
Points are too far apart 4.000000000000002
W/PathParser: Points are too far apart 4.000002058290173
Points are too far apart 4.000002058290173
W/PathParser: Points are too far apart 4.000001624254724
W/PathParser: Points are too far apart 4.000002923700373
Points are too far apart 4.000002923700373
W/PathParser: Points are too far apart 4.00000093640932
V/FA: Inactivity, disconnecting from the service
где я иду не так?я не нашел соответствующих ответов на этот вопрос