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

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

Мне нужно запустить определенный код, когда мое приложение для Android обновлено (я специально хочу перенести аварийные сигналы).

Проведен обширный поиск по SO, и я обнаружил, что люди предлагают использовать SharedPreferences. Я не думаю, что это было бы правильно, поскольку sharedPreferences можно удалить при перезагрузке или просто очистить кеш. Это означает, что когда мое приложение обновляется, общие настройки могут не существовать, и я могу не знать, является ли это обновлением или просто свежей установкой (или, что еще хуже, перезагрузкой).

Итак, есть ли другой способ? Возможно, какой-то умысел или какой-то метод, который выполняется (вроде как onUpgrade для sqlite).

Пожалуйста, порекомендуйте . огромное спасибо

2
nl ja de
правильный путь здесь stackoverflow.com/questions/13035244/…
добавлено автор Prabhu M, источник

2 ответы

SharedPreferences - лучший подход. Он очищается, если пользователь снова устанавливает и устанавливает, в дополнение к тому, что вы описали. Если этого недостаточно для вас, вам нужно сохранить последнюю установленную версию на сервере, но это означает, что вы не можете запускать свой тест в автономном режиме.

1
добавлено
Совместное использование префикса очищается при перезапуске устройства. Я не хочу, чтобы мой код запускался каждый раз, когда устройство перезагружается
добавлено автор Snake, источник
Если по перезапуску вы имеете в виду перезагрузку, то нет, общие приставки НЕ удаляются при перезагрузке.
добавлено автор yoah, источник

onUpgrade для sqlite просто проверьте, присутствует ли база данных, какова ее версия. Если версия текущей БД ниже, чем в APK, она очистит БД и обновит БД новым. Аналогично, если вы очистите кеш приложения. Весь файл, включая БД, будет очищен

Аналогичным образом вы можете реализовать в своем приложении:

например, имеют статическую общедоступную версию int = 1000; в вашем приложении. В приложении для создания проверки, если SharedPreferences содержит версию (даже если SP нет), она вернет сохраненный или по умолчанию метод.

Если значение версии SP меньше, чем текущая версия в вашем коде. Используйте обновленную функцию, которую вы намерены использовать.

И если пользователь удалит и переустановит приложение, вы также можете снова зарегистрировать свои звонки.

0
добавлено
Проблема, связанная с pref, удаляется при перезапуске устройства. Однако db-файл отсутствует. Как справиться с этим
добавлено автор Snake, источник
Я сделал тест и, когда я перезагрузил свое устройство, закрою приложение или очистил кеш, тогда общий префикс будет уничтожен. Это совершенно ненадежно, и я всегда избегаю использовать его любой ценой
добавлено автор Snake, источник
Очистка кеша не очищает БД. Я просто не хочу, чтобы люди очищали кеш по ошибке, и мой код снова запускался
добавлено автор Snake, источник
Удалит ли он при перезапуске? проверьте реализацию. Я не вижу, как они исчезают. проверьте реализацию.
добавлено автор Nimish Choudhary, источник
ну, почему вы хотите очистить кеш, похожее на удаление приложения, а затем переустановить? очистит кеш и очистит БД?
добавлено автор Nimish Choudhary, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

Android Developers
Android Developers
4 476 участник(ов)

Общаемся на темы, посвященным Android-разработке, SDK, Kotlin, Realm и т.д.

Android Architecture
Android Architecture
2 186 участник(ов)

Русскоязычный чат по архитектуре в андроид приложениях. Подробнее: http://telegra.ph/Android-Architecture-12-24

rus-speaking/android
rus-speaking/android
1 705 участник(ов)

Основной чат по Android разработке (вопрос-ответ). ПРАВИЛА: bit.ly/andr-rules. NEWS: bit.ly/AnrdResId ЧАТЫ: Основной: bit.ly/andr-main IDE, сборка, Git, сервисы: bit.ly/andr-tools Оффтоп: bit.ly/andr-offtop Конференции, события: bit.ly/andr-events Вакансии, найм: bit.ly/andr-job Архитектура: bit.ly/andr-patterns Rx: bit.ly/andr-rx Тестирование: bit.ly/andr-test Kotlin: bit.ly/andr-kotlin Хаmarin: bit.ly/andr-xamarin За мат, спам, агрессию, предложения о работе, оффтоп в этом канале - бан на сутки и более ☢☢☢

Android Dev Подкаст
Android Dev Подкаст
1 325 участник(ов)

Комната для обсуждения Android Dev подкаста apptractor.ru/AndroidDev/ Общее обсуждение Android: https://t.me/android_ru Остальные чаты про Android: http://t.me/devChats Наши новости https://t.me/androiddevpodcast_news

Android Guards
Android Guards
602 участник(ов)

Обсуждение любых вопросов касающихся безопасности Android. - Защита системы и приложений - Уязвимости и эксплойты - Вредоносное ПО - Копание в кишках системы и приложений (RE)

Android JOB
Android JOB
466 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению Android (full-time, part-time, remote и разовые подработки)

AndroidDev :: Разработка. It's Android time now!
AndroidDev :: Разработка. It's Android time now!
458 участник(ов)

It's Android time now! Чат разработчиков Android. Вакансии, резюме и информацию о митапах размещать можно. Публикацию скрытой и явной рекламы ваших каналов и сайтов после получения разрешения от @olegushakov

Aandroid Talks!
Aandroid Talks!
212 участник(ов)

Чат об общих вопросах по ОС Android. Чат для разработки под андроид - pro.android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w

Android Rus
Android Rus
68 участник(ов)