@arteqrt
Почти не начинающий програмист

Почему onActivityResult() устарел?

Пишет в AndroidStudio, что метод onActivityResult() обвялен устаревшим.
Нагуглил новую реализацию:

ActivityResultLauncher<Intent> someActivityResultLauncher = registerForActivityResult(
            new ActivityResultContracts.StartActivityForResult(),
            new ActivityResultCallback<ActivityResult>() {
                @Override
                public void onActivityResult(ActivityResult result) {
                    if (result.getResultCode() == Activity.RESULT_OK) {
                        // There are no request codes
                        Intent data = result.getData();
                        doSomeOperations();
                    }
                }
            });

    public void openSomeActivityForResult() {
        Intent intent = new Intent(this, SomeActivity.class);
        someActivityResultLauncher.launch(intent);
    }


Как быть? Можно ли забить на устаревание и использовать дальше, или стоит прислушаться ?
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Очевидно надо использовать новый способ. В новых версиях андроида могут грохнуть этот метод (или просто он не будет работать), и тогда ты с жопой в огне будешь переписывать. Пока просто пометили deprecated, чтобы все перестали пользоваться.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы