Android предотвращает удаление автономных данных или базы данных при событии «Очистить данные»

1

В случае недоступности сети, хранение некоторой важной информации в базе данных sqlite и файла во внутреннем хранилище. Когда сеть доступна, она будет синхронизироваться с сервером в фоновом режиме.

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

Я уже ищу, как отловить четкие данные события и выпустил ниже вопросы: -

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

Мой вопрос таков:

  1. Как я могу предотвратить удаление моих автономных данных?

  2. Есть ли способ сохранить автономные данные в безопасном месте и получить доступ к ним только через приложение?

Пожалуйста, предложите мне любое возможное решение для этого случая.

заранее спасибо

Теги:
android-sqlite
android-file
android-settings

1 ответ

2

Как я могу предотвратить удаление моих автономных данных?

Ты не можешь Это пользовательское устройство, а не ваше, и поэтому это не ваши данные - это пользовательские данные. Пользователь может делать то, что хочет пользователь.

Есть ли способ сохранить автономные данные в безопасном месте и получить доступ к ним только через приложение?

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

Можем ли мы отключить событие Очистить данные для моего приложения?

На самом деле, нет. В некоторых версиях Android вы можете получить контроль, когда пользователь нажимает эту кнопку. Тем не мение:

  • Не думайте, что все устройства будут поддерживать это
  • Производители устройств могут предоставить пользователю другие средства для очистки данных
  • Пользователь по-прежнему может удалить и переустановить приложение, которое очистит данные
  • 0
    Существует ли какой-либо механизм или событие, предоставляемое системой Android, чтобы избежать потери данных в случае недоступности сети? Или, пожалуйста, вы можете предложить мне возможные способы решения этого дела?
  • 0
    @AnilRGhodake: если пользователь решает очистить данные, это выбор пользователя. Пользователь должен принять ответственность за этот выбор, который будет включать в себя возможную потерю данных, если он удалит данные, которые не были синхронизированы с сервером. Если вы не хотите такого поведения, не храните данные локально, и ваше приложение отказывается что-либо делать, если нет соединения с сервером.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню