Обновление запущенного приложения на Android

предполагается ли, что система Android перезапускает приложение, когда оно обновляется во время работы?

когда мы обновляем наше приложение (открыв .apk с SD-карты), и приложение работает, существующий процесс остается вокруг, и обновление не вступает в силу, пока мы "не заставим закрыть" приложение из диспетчера приложений. Однако вполне вероятно, что приложение находится в каком-то странном состоянии и может не реагировать на некоторые намерения. Поэтому я хочу знать, приложение будет перезапущено, если мы исправим это конкретное сломанное состояние или нам нужно самостоятельно обработать обновление.

обратите внимание, что I знаю (или, по крайней мере, есть некоторые идеи), как определить обновление программно. Я хочу знать, должен ли я это делать или есть какой-то другой механизм, который должен это делать, если приложение находится в здравом уме.

2 ответов


система Android должна перезапустить приложение, когда оно обновляется во время его работы?

Я не знаю, каким должно быть ожидаемое поведение. Но я знаю, что это не перезапустить приложение. Так что у меня есть BroadcastReceiver ждем ACTION_PACKAGE_REPLACED намерение, а затем обрабатывать перезапуск приложения соответственно.


насколько я знаю. похоже на перезапуск. но реальный процесс: приложение было удалено, а затем установлено снова с обновленной версией. поскольку он удален, конечно, он будет автоматически закрыт.

в вашем случае кажется, что ваше приложение не хочет закрываться, и процесс удаления не происходит.