При автоматическом обновлении удаляется старая дата сохранения в настройках моего приложения.
Как я могу предотвратить это удаление?
Я хочу, чтобы при обновлении моего приложения он не удалял мои старые данные.Сохранение данных перед автоматическим обновлением
ответ
Я не уверен, будет ли это хорошим решением, а просто предложением, которое вы можете попробовать.
шаг 1: всякий раз, когда вы changeg (добавлять/редактировать/удалить) хранилища данных его постоянного хранения, вы можете попробовать любой из следующих
a. save the data in file in sd card b. store the data to your remote server or c. store in internal memory of the phone.
(я не уверен ли он будет устранена после обновления в случае с, для справки можно проверить here
Шаг 2: creae BroadcastReceiver
, который слушает ACTION_PACKAGE_REPLACED
Намерения. Таким образом, вы знаете, когда обновляется ваш пакет приложений. NOw снова считывает данные из хранилища, в котором вы сохранили данные (1a/1b/1c)
Внимание! Не важно сохранять данные пользователя без его беспокойства.
Спасибо за подробный ответ StinePike ... Я сохраняю данные в общих prefs уже, но теперь я хочу спросить, что данные удаляются при автоматическом обновлении? Согласно моим данным R & D, данные сохраняются с именем пакета, поэтому автоматическое обновление не должно меняться. – Noman
Я знал, что SharedPreference сохраняются даже после обновления .. но в соответствии с этим ответом http://stackoverflow.com/a/ 10201011/931982 иногда может быть удалено. – stinepike
, но в других местах я обнаружил, что SharedPreferences сохраняет данные, кроме cleardata или uninstall. Но, как вы сказали, что ваши данные от предпочтения потеряны, я думал, что вы уже пробовали SharedPreference – stinepike
Android сохранить SharedPreference в/данные/данные/ваше имя пакета/shared_prefs
Вообще, приложение обновления не будет удалить sharedPreference.
private void replaceNonSystemPackageLI(PackageParser.Package deletedPackage,
PackageParser.Package pkg, int parseFlags, int scanMode, UserHandle user,
String installerPackageName, PackageInstalledInfo res) {
...
// First delete the existing package while retaining the data directory
if (!deletePackageLI(pkgName, null, true, PackageManager.DELETE_KEEP_DATA,
res.removedInfo, true)) {
// If the existing package wasn't successfully deleted
res.returnCode = PackageManager.INSTALL_FAILED_REPLACE_COULDNT_DELETE;
deletedPkg = false;
} else {
....
}
....
}
Я думаю, что вам нужно проверить следующее:
Является ли ваше устройство корневое устройство? Приложения на корневом устройстве могут удалить все, что захотят.
Вы использовали другое имя пакета в обновленном apk?
Нет моего устройства не коренится, и имя моего пакета одинаково для каждого обновления. Я только что удалил свои данные один раз из-за какой-либо неизвестной причины, но я думаю, каждый раз, когда он не удаляется. Я проверю этот вопрос именно на следующем обновлении, и если это произойдет снова, то я обязательно буду искать предлагаемое решение. Спасибо за помощь. – Noman
np, это неожиданное поведение, поэтому, возможно, вам нужно предоставить дополнительную информацию о вашем приложении или устройстве для более удобного решения.:) – StarPinkER
Что относительно/data/data/PKGNAME/files/directory? Будет ли это и обновление пакета? Спасибо. – Bram
- 1. Защита данных перед обновлением
- 2. Как отобразить сообщение перед автоматическим обновлением div с помощью jquery
- 3. проверка файла с автоматическим обновлением
- 4. Проблема с автоматическим обновлением Mercurial
- 5. ListsView Связывание с автоматическим обновлением
- 6. IE BHO - Управление автоматическим обновлением
- 7. Android - Виджет с автоматическим обновлением AdapterViewFlipper
- 8. Подтвердить поля перед обновлением
- 9. Зачем копировать состояние перед обновлением окна данных?
- 10. Хранение данных с элементов перед обновлением
- 11. OpenEntityManagerInViewFilter закрыл сеанс перед обновлением базы данных
- 12. Копирование данных строки модели Django перед обновлением
- 13. ValueEventListener() не считывает данные перед обновлением данных.
- 14. Как предотвратить повторную передачу данных перед обновлением?
- 15. Удалить миграцию кода перед обновлением базы данных
- 16. Apache spark - работа с автоматическим обновлением входов
- 17. Интеграция с автоматическим обновлением и запусками - install4j
- 18. Ошибка подписания кода с автоматическим обновлением Sparkle
- 19. Управление автоматическим обновлением проходов от .pkpass
- 20. Проблема с автоматическим обновлением файла JNLP
- 21. удалить изображение перед обновлением
- 22. Заблокировать запись перед обновлением?
- 23. Oracle, триггер перед обновлением
- 24. Крючок перед обновлением страницы
- 25. Дождитесь ввода перед обновлением
- 26. MySQL триггер перед обновлением
- 27. Ошибка триггера mysql перед обновлением
- 28. Служба защиты программного обеспечения с включенным автоматическим обновлением
- 29. Доступ 2007: Создание истории записи с автоматическим обновлением
- 30. Форматирование данных, сопоставленных регулярным выражением, перед обновлением базы данных
@ChiragPatel .. код не требуется для этого человека. Я попросил простой запрос. – Noman