frenneruruu
@frenneruruu
writer, game designer, java/kotlin/lua developer

Как основному activity получить данные intent с дополнительного?

Есть два Activity. В дополнительном Activity у меня есть таймер (android.os.CountDownTimer). Когда я возвращаюсь в основной Activity, таймер останавливается и при возвращении назад его надо запускать с нуля.
Чтобы вернуться в основной Activity, я использую кнопку назад. Чтобы выловить нужные данные, я отправляю их с помощью .putExtra() - оставшееся время и отметку времени. Вернувшись в это Activity, я просто сравню текущее время с записанным и внесу поправки в оставшееся время и запущу таймер с нужного момента, создавая видимость, будто таймер всё это время шёл.
@Override
    public void onBackPressed() {
        super.onBackPressed();
        Intent intent = new Intent(SecondActivity.this, FirstActivity.class);
        intent.putExtra("timeLeft", timeLeftMillis);
        intent.putExtra("timeSystem", System.currentTimeMillis());
        startActivity(intent);
    }

Но я не понимаю, как базовым Activity мне эти данные получить? Заранее спасибо за помощь.
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
startActivityForResult + onActivityResult

UPD
В документации рекомендуют использовать апи поновее из AndroidX.
Сути это не меняет: нужно стартовать активити и получить из неё результат.

Если говорить по-правильному, не надо так делать. Используй фрагменты. Несколько активити в приложении это скорее исключение, и ты должен чётко понимать, почему их именно несколько.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
402d
@402d
начинал с бейсика на УКНЦ в 1988
Лучше подумайте как сделать, чтобы таймер честно считал.
например через службу.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы