Android getIntent для новой активности равен NULL, когда вызывающая активность уничтожена
У вас, ребята, есть обходной путь для следующей проблемы?
В onDestroy действия по регистрации (когда пользователь нажимает кнопку «Назад») я вызываю новое действие, чтобы пользователь мог ввести некоторые окончательные производственные данные того дня, а затем отчет отправляется по электронной почте. Проблема в том, что при только что начавшемся действии вызов getIntent возвращает значение null, и мне нужно получить данные оттуда.
public void onDestroy(){
//unregister listeners, cancel timers etc.
logOff();
super.onDestroy();
}
protected void logOff(){
// collect data etc.
// open new activity that asks for final production numbers
Intent intent = new Intent(getBaseContext(), AksProductionNumbers.class);
intent.putExtra("TimeSheetList", timeSheetList);
startActivity(intent);
}
================================================== ============================= Конструктор вызвал активность:
public AksProductionNumbers(){
Intent intent = getIntent(); // <-- returns null
Bundle extras = intent.getExtras();
}
Функция getIntent возвращает ноль. Я думаю, что это потому, что вызывающее действие уже умерло, но я думаю, что это странно, потому что я четко прошу структуру начать новое действие перед закрытием текущего. Кто-нибудь знает обходной путь для этой проблемы? Я выбрал это решение, поэтому мне не пришлось переопределять кнопку «назад». Другое решение состоит в том, чтобы блокировать вызывающий поток, пока он не получит сигнал разблокировки от запускающего приложения, но я думаю, что это также ужасно. Третий класс менеджера данных также может решить проблему источника данных. Спасибо за идеи и советы!