2012-06-06 3 views
4

Мне нужно иметь пробный период (7 дней) в моей заявке. От this Я узнал, что вы можете это сделать, сохраняя постоянный файл, базу данных или общие предпочтения .Лучшее место для хранения файла для периода трейла

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

Если я поместил эту логику в Sharedpreference или файл с пустым «data/data/packagename», когда приложение будет удалено, вся история будет потеряна.

Любые другие способы обхода/идеи?

Примечание: нет сервера, приложение работает локально без Интернета.

+0

Возможный дубликат [Могу ли я хранить данные на устройстве Android для сохранения между установками?] (Http://stackoverflow.com/questions/7107673/can-i-store-data-on-an-android-device- to-persist-between-installs) – Krishnabhadra

+0

Я не думаю, что в android есть надежный вариант для хранения данных через установку (если вы не используете сеть). – Krishnabhadra

ответ

0

Вы можете хранить не спрятан, так нет шансов удалить пользователем

см this

+4

вы можете запускать терминал bash на маршрутизированных устройствах, а оттуда пользователь может просматривать и удалять скрытые файлы. – Krishnabhadra

1

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

Посмотрите на них, чтобы вы начали:

Android Crypto Implementation

Android Developer: Crypto Package Summary

0

Я хотел бы сказать, сделать данные приложения, которые не могут быть удалены из манифеста, как это:

android:manageSpaceActivity="YourStartingActivity" 

в приложении теги.

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

+0

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

+0

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

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