Как отследить первый запуск приложения на смартфоне после загрузки из маркета\апк? При переустановке так же запуск считался бы первым.
Без сторонних файлов желательно.
Заранее спасибо.
Как отследить первый запуск приложения?
Re: Как отследить первый запуск приложения?
Логично будет сохранить в Preferences (урок 33).
Обычно в этом редко возникает необходимость т.к. подобными вопросами задаются, если нужно выполнить какие-либо действия, это может быть дозагрузка каких либо ресурсов с сервера, распаковка данных из asset, raw, создание каких либо файлов/папок на SD-карте и т.п. тогда мы просто проверяем наличие этих ресурсов.
Но если вам просто нужно вывести окно с приветствием и благодарностью за загрузку программы и при последующих запусках его не выводить, тогда да, лучше воспользоваться Preferences
Обычно в этом редко возникает необходимость т.к. подобными вопросами задаются, если нужно выполнить какие-либо действия, это может быть дозагрузка каких либо ресурсов с сервера, распаковка данных из asset, raw, создание каких либо файлов/папок на SD-карте и т.п. тогда мы просто проверяем наличие этих ресурсов.
Но если вам просто нужно вывести окно с приветствием и благодарностью за загрузку программы и при последующих запусках его не выводить, тогда да, лучше воспользоваться Preferences
Re: Как отследить первый запуск приложения?
Я делаю так:
В Preferences проверяю есть ли у меня сохраненная переменная VersionCode, если нет, то сохраняю, если есть, то проверяю текущая версия приложения совпадает ли с сохраненной, если совпадает, то ничего не делаем, если не совпадает, тогда вывожу активити с информацией о новшествах. Программно текущую версию из манифеста получаю так:
try {
cur_vc = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
} catch (NameNotFoundException e) {
Log.e("ERROR-version", e.getMessage());
}
В Preferences проверяю есть ли у меня сохраненная переменная VersionCode, если нет, то сохраняю, если есть, то проверяю текущая версия приложения совпадает ли с сохраненной, если совпадает, то ничего не делаем, если не совпадает, тогда вывожу активити с информацией о новшествах. Программно текущую версию из манифеста получаю так:
try {
cur_vc = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
} catch (NameNotFoundException e) {
Log.e("ERROR-version", e.getMessage());
}