Страницы

Поиск по вопросам

воскресенье, 2 февраля 2020 г.

Отловить первый запуск приложения

#java #android


Объясните пожалуйста в теории, как отловить первый запуск приложения? 
Читал тут,
не то, все слишком громоздко. 
    


Ответы

Ответ 1



В том вопросе просто кладут переменную IsFirstTimeLaunch в SharedPreferences, сразу после запуска приложения. Потом перед каждым запуском приложения проверяют её, если она проинициализирована и равна true, то приложение уже запускалось на данном устройстве.

Ответ 2



В общем, если кому интересно, то я сделал так: Инициализировал статический String, и переменную типа boolean; private static final String firstStartApp = "first_start"; private boolean firstStart; В методе onCreate переменной firstStart задаю true; firstStart = true; В методе onDestroy переменной firstStart задаю false и сохраняю в SharedPreferences; firstStart = false; mEditor.putBoolean(firstStartApp, firstStart); mEditor.apply(); Так как изначально было передано значение true, а потом false, SharedPreferences сохраняет последнее значение, и в самом начале, в методе onStart, я сделал простую проверку состояния переменной firstStart по SharedPreferences, и так как его последнее значение было false, то true второй и последующие разы уже не будет срабатывать; boolean isCheck = mPreferences.getBoolean(firstStartApp, firstStart); Ну и здесь собственно можно сделать условие: if (isCheck) { Toast.makeText(this, "Первый запуск", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "Уже было запущено", Toast.LENGTH_SHORT).show(); }

Комментариев нет:

Отправить комментарий