Как мы узнаем, когда данные нашего приложения очищаются в Android?
Я работаю над некоторым приложением, где храню некоторые данные своего приложения в БД SQLite. Если какой-либо пользователь очищает данные, мои данные очищаются. В разделе Как отключить кнопку "Очистить данные" в разделе "Информация о приложении" приложения "Управление приложениями" и http://groups.google.com/group/android-developers/browse_thread/thread/b1091f190f7356b7 этих ссылок я обнаружил, что мы не можем отключить кнопку очистки данных, но у меня вопрос есть ли способ поймать это действие (очистить данные) в приложении? Есть ли намерение в Android уведомить об этом действии?
заранее спасибо
Pushpa
2 ответа
Возможный обходной путь - запрограммировать ваше приложение на использование базы данных SQLite во внешнем хранилище. SD-карта и т. Д. Просто создайте папку на вашей SD-карте или в любом другом хранилище, поместите файл.db в эту папку и используйте его вместо места хранения по умолчанию. По умолчанию базы данных SQLite хранятся в папке данных (устройство не имеет прав рута, поэтому не знает, где находится папка данных), что недоступно, если вы не рутировали свое устройство.
Есть учебники, которые используют эту технику. Обратите внимание, что при удалении приложения данные могут сохраняться. Не знаю, если это желательно.
Вы можете сделать одну вещь. Вы можете создать тестовую таблицу в своей БД и вставить в нее некоторые данные. Каждый раз, когда вы запускаете приложение, вы проверяете, существует ли значение таблицы или нет. Если данные существуют, это означает, что значение БД не сбрасывается, а если Таблица пуста, вы узнаете, что данные БД очищены, и вставьте данные снова для следующей проверки в следующий раз.