#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(); }
Комментариев нет:
Отправить комментарий