2015-12-03 2 views
0

Я использую уникальный идентификатор с устройства Android в качестве ключа шифрования для генерации RealmConfiguration.Как удалить файл области в случае отсутствия ключа шифрования

У меня возникла проблема с тем, что уникальный идентификатор изменился после того, как приложение было сброшено на завод или корневое или иначе.

Это означает, что ключ шифрования не то же самое, и когда я регенерировать RealmConfiguration с новым ключом шифрования и попытаться получить экземпляр Realm, то я получил ошибку «Недопустимый аргумент:. Неверный формат Realm файла»

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

Но в текущей версии Realm (0.85.1) я обнаружил, что требуется метод удаления deleteRealm RealmConfiguration.

Как удалить файл области в случае отсутствия ключа шифрования или единственный способ сохранить ключ шифрования?

ответ

0

Файл Realm - это всего лишь файл в файловой системе, поэтому простой способ - просто удалить файл с помощью java.io.File.delete(). Может быть, вы можете поймать исключение и удалить файл?

+0

Как я знаю, файл царства хранился в/data/data/packagename/files, поэтому я не могу напрямую удалить файл без root. –

+0

Вы также можете попробовать использовать 'Realm.deleteRealm()'. – geisshirt

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