Вызывается ли onCreated во время обновления?
нет. Application.onCreate()
вызывается, когда ваше приложение переходит из состояния, которое оно считает «не работающим», в «работающее».
приложение считается запущенным, если в его пакете есть один или несколько активных процессов. он появится в списке запущенных приложений (не все прошивки могут их показать, но есть много приложений, показывающих, какие пакеты запущены, и есть API для получения этого списка) и, вероятно, будут какие-то запущенные службы или действия, но не обязательно! система может держать ваше приложение в «работающем» состоянии до тех пор, пока оно считает его небезопасным, и убьет его, когда ему нужно повторно потребовать некоторую память, или если вы каким-то образом явно убили его процесс (для этого также есть API, но обычно нет причин его использовать).
есть ли другой способ запустить специальный код обновления?
как писал @Class Stacker: если вы изменяете имя или номер версии при реализации новой версии - вы можете проверить свою основную деятельность, когда она создает с помощью метода Activity.onCreate()
имя версии, и сравнить его с именем последней версии, которую вы сохранили. sharedPreference или таблица базы данных. затем вы можете реализовать любую логику, которую хотите, когда узнаете, что ваша версия изменена.
вы можете проверить имя и номер версии с помощью этого кода:
PackageInfo pinfo = this.getPackageManager().getPackageInfo(getPackageName(), 0);
Integer versionCode = pinfo.versionCode;
String versionName = pinfo.versionName;
надеюсь, что это помогло вам, и удачи.
person
Tal Kanel
schedule
15.01.2013