У меня есть действие с переопределением методов кнопки возврата
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Log.d(TAG, "onOptionsItemSelected");
if (item.getItemId() == android.R.id.home)
onBackPressed();
Log.d(TAG, "onOptionsItemSelected: if executed");
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
closeDialog();
}
Он отлично работает, чтобы отображать диалоговое окно с предупреждением для пользователя при нажатии кнопки возврата с оборудования. Когда пользователь дает разрешение, действие завершается. Но когда пользователь щелкает стрелку назад на панели инструментов, отображается диалоговое окно, но вызываются методы действий onPause (), onStop (), и происходит утечка окна, поскольку отображается диалоговое окно предупреждений и действие прекращается.
Как решить эту проблему?
ПРИМЕЧАНИЕ. Этого не происходит, если мы не указываем родительскую активность в файле манифеста!