Когда ваше приложение запускается, конструктор вашей Application
реализации вызывается первым, а метод Application::onCreate()
вызывается сразу после.Я предполагаю, что это то, что вы спрашиваете, когда говорите: «Будет ли MainApplication
всегда запускаться первым?».Посмотрите, что документы говорят о Application::onCreate()
(взято из здесь ):
Вызывается, когда приложение запускается перед любой активностью, службой или объектами получателя (за исключением поставщиков контента).
Кроме того, этот метод не будет вызываться при обновлении вашего приложения, и, насколько я знаю, он не будет вызываться при завершении обновления вашего приложения..
С другой стороны, метод AppWidgetProvider.onUpdate()
вызывается после переустановки приложения.Код для обновления ваших виджетов должен быть размещен внутри него, поэтому он будет выполняться после обновления вашего приложения.
public class WidgetProvider extends AppWidgetProvider {
@Override
public void onUpdate (Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
//Update your widgets here
}
}