onBackPressed() [deprecation]

Метод кнопки назад устарел (я использовал его для перехода назад на предыдущую страницу )

введите сюда описание изображения

  @Override
    public void onBackPressed() {
    
        finish();
        Intent intent = new Intent(this, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        startActivity(intent);
    }

Пробовал заменить onBackPressed() приведенным ниже кодом.

onBackPressedDispatcher.onBackPressed()

введите сюда описание изображения

Искал тут https://stackoverflow.com/questions/72634225/onbackpressed-is-deprecated-what-is-the-alternative но не понял :(


Ответы (1 шт):

Автор решения: Wlad
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        
        getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
            @Override
            public void handleOnBackPressed() {
                // ваш код для перехода назад
            }
        });

        // пример программного нажатия на кнопку назад 
        View view = null;
        view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                getOnBackPressedDispatcher().onBackPressed();
            }
        });
    }
→ Ссылка