Как я могу создать FlurryAgent.logEvent в методе активности onCreate()?

В документации сказано, что

onStartSession следует вызывать из метода onStart рассматриваемого действия.

Как я могу регистрировать события() из метода onCreate() в этом случае? Будет ли библиотека работать нормально, если я поставлю метод onStartSession() в метод onCreate() или есть другой способ решить мой вопрос?

ОБНОВЛЕНИЕ

Внутри onCreate() я запускаю AsyncTask с веб-запросом к серверу, поэтому в onPreExecute() я хочу поместить FlurryAgent.logEvent.


person Sviatoslav    schedule 05.05.2012    source источник
comment
создайте очередь событий для всего, что происходит до вызова onStartSession. Как только это будет вызвано, прокрутите свою очередь и вызовите все журналы.   -  person whizzle    schedule 15.08.2014


Ответы (1)


Я не рекомендую вызывать FlurryAgent.onStartSession() из onCreate() из-за характера жизненного цикла Activity. Если пользователь на какое-то время отходит от действия (принимает звонок, текстовое сообщение и т. д.), а затем возвращается, будет вызвано onStart(), а не onCreate(). Если не вызывать onStartSession() из onStart(), вы не будете отслеживать этот новый сеанс и можете столкнуться с ошибками с событиями, происходящими внутри вашей деятельности.

Каков характер событий, которые вы хотите отслеживать внутри onCreate()? Обычно вы хотите настроить пользовательский интерфейс и любые другие компоненты Activity в этом методе, но в этот момент не будет взаимодействия с пользователем, поэтому я думаю, что вы могли бы отслеживать состояние Activity после onStart() без большого рефакторинга.

(отказ от ответственности: я работаю над Android SDK во Flurry)

person michiakig    schedule 07.05.2012