Ответ 1
Установка времени и даты
Вы можете получить время и дату первой установки приложения, используя
long installTime = context.getPackageManager()
.getPackageInfo("com.some.package.name", 0)
.firstInstallTime;
И версия с
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
version = pInfo.versionName;
К сожалению, эта дата будет reset всякий раз, когда приложение будет удалено и переустановлено.
Если вы идете с
PackageManager pm = context.getPackageManager();
ApplicationInfo appInfo = pm.getApplicationInfo("app.package.name", 0);
String appFile = appInfo.sourceDir;
long installed = new File(appFile).lastModified();
вы также узнаете дату, когда приложение было установлено, но возвращаемое время будет меняться каждый раз, когда пакет будет обновлен.
Предлагаемое решение
Решение может быть онлайн-базой для вашего приложения, где вы можете хранить каждый user ID
с помощью AccountPicker, их first-time-install
с описанными выше методами и использовать их в login. Вы также можете использовать Служба лицензирования приложений.
http://developer.android.com/reference/android/content/pm/PackageInfo.html#firstInstallTime