2012-04-19 4 views
3

Я хочу опубликовать новую версию своего приложения. Но я хочу, чтобы он снова переустановил.Полностью удалить и переустановить приложение Android при обновлении?

Как сначала удалить, а затем установить (например, при первой установке). В любом случае, я могу это сделать? Или заставить пользователей сначала удалить приложение?

+3

Зачем вам это нужно? – Tibor

+0

У меня есть приложение, которое часто устанавливает будильник, который я жестко закодировал в приложении, который не делает его более 4 раз, в то время как он должен быть 20. Теперь я изменил его, но когда я его снова установил, он все еще работает 4 раза, но когда я удалите его и переустановите, он работает. Я должен упомянуть, что в предыдущей версии моя тревога была в intenservice, но теперь в широковещательном приемнике .... – Marjan

+2

Не меняя название пакета и эффективно создавая для него новую установку - нет. Обнаружите обновление и попробуйте отменить ущерб, нанесенный предыдущими версиями. Аварийные сигналы в AlarmManager в любом случае не сохраняются при перезагрузках. – Jens

ответ

0

Как сказал Йенс, вы не сможете этого сделать, если вы не переустановите его с другим именем пакета (это тоже не очень хорошая идея). Вы должны определить свою версию и вручную сбросить свои настройки и т. Д., Если вам нужно. Это довольно раздражающая особенность Android. Я разрабатываю приложение сопоставления, которое имеет ту же самую проблему с сохранением некоторых исходных данных.

Обычно вы можете проверить, где ваши настройки создаются в первый раз. Многие люди делают if (preference! = Null), чтобы настроить их, поскольку в предварительно установленном приложении у вас уже есть это предпочтение в комплекте, он не будет обновлять или генерировать новый.

Попробуйте установить предпочтение шашку, если (предпочтение! = NewValueOfPreference)

Если это не так, как ваши данные расслоением генерируется на установке вы должны выяснить, как она формируется и получить на этом крючке.

1

Если вы подпишете новый apk с помощью другого ключа, пользователи приступят к ошибке при попытке обновить существующую установку. Это, наверное, самый простой способ сделать это, не меняя имя пакета.

Смежные вопросы