Как определить, работает приложение или нет? - PullRequest
2 голосов
/ 19 июля 2011

Мне нужно запускать некоторые фоновые задачи всякий раз, когда приложение активируется / или запускается.Предположим, что вы запустили приложение, а затем внезапно устройство отключилось или каким-либо другим образом вышло из приложения, не остановив его должным образом, затем, когда вы снова запустите приложение, очевидно, оно запустится из предыдущего состояния до выхода из приложения,Когда он запускается снова или активируется, я хочу, чтобы мои фоновые задачи выполнялись. Есть ли какая-либо функция, которая вызывается при каждом запуске приложения, которую я могу использовать для инициализации этих фоновых задач?Если нет, то как я могу достичь своей цели?Нужна помощь в этом, заранее спасибо .... !!!

Ответы [ 3 ]

1 голос
/ 19 июля 2011

Всякий раз, когда приложение возвращается из фонового режима, оно по крайней мере запускает функцию onResume():

@Override
public void onResume(){
    //You have to call super.onResume(), otherwise an exception is thrown
    super.onResume();

    // and then do whatever you want here.
}
0 голосов
/ 19 июля 2011

Что ж, в Android SDK нет такой возможности, чтобы вы могли определить, работает ли ваше приложение - это в первую очередь из-за того, как Android обрабатывает приложения.

Например, что бы вы имели в виду, говоря, что приложение не запущено ?будет ли это означать, что пользовательский интерфейс не виден или процесс, связанный с приложением, не запущен?Кстати, я надеюсь, что вы знаете, что:

Время жизни приложения ! = Время жизни процесса приложения.

Что касается выполнения фоновых задач, вы можетелибо используйте AsyncTask или Service классы.

И если вас беспокоит только время жизни visible приложения, вам придется полагаться на использованиеметоды onPause и onResume, чтобы проверить флаги, которые можно включать / выключать, чтобы фиксировать состояние приложения.

0 голосов
/ 19 июля 2011

Да, метод OnCreate основного класса действий вызывается при каждом запуске приложения.

Из документации -

Вызывается при запуске действия.Это то место, где должна выполняться большая часть инициализации: вызов setContentView (int) для раздувания пользовательского интерфейса действия, использование findViewById (int) для программного взаимодействия с виджетами в пользовательском интерфейсе, вызову managedQuery (android.net.Uri, String [], String, String [], String) для извлечения курсоров для отображаемых данных и т. Д.

Этот вопрос может быть полезен.Из принятого ответа -

OnCreate вызывается независимо от того, запускаете ли вы приложение или возобновляете его.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...