У меня есть часть кода, которую я хочу запустить только в первый раз, когда вызывается конкретный метод OnCreate() (за каждый сеанс приложения), а не каждый раз, когда создается действие. Есть ли способ сделать это в Android?Код запуска только для первого OnCreate
ответ
static
переменная.
static boolean checkFirstTime;
использование sharedpreference ... установить значение истину в предпочтении в первый раз ... при каждой проверке выполнения, если значение установлено в истинный ... и на основе codition выполнение кода
Для Ex.
SharedPreferences preferences = getSharedPreferences("MyPrefrence", MODE_PRIVATE);
if (!preferences.getBoolean("isFirstTime", false)) {
//your code goes here
final SharedPreferences pref = getSharedPreferences("MyPrefrence", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("isFirstTime", true);
editor.commit();
}
использование статической переменной внутри вашей активности, как показано ниже
private static boolean DpisrunOnce=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_run_once);
if (DpisrunOnce){
Toast.makeText(getApplicationContext(), "already runned", Toast.LENGTH_LONG).show();
//is already run not run again
}else{
//not run do yor work here
Toast.makeText(getApplicationContext(), "not runned", Toast.LENGTH_LONG).show();
DpisrunOnce =true;
}
}
protected void onCreate(Bundle savedInstanceState)
имеет все, что вам нужно.
Если savedInstanceState == null
, то это первый раз.
Следовательно, вам не нужно вводить дополнительные статические переменные.
Пробовал это и по какой-то причине savedInstanceState всегда null, поэтому, надеюсь, один код всегда срабатывает –
- 1. Выполнение только для первого запуска
- 2. Как вызвать элемент только для первого запуска
- 3. Открытая активность только для первого запуска
- 4. код перестает работать после первого запуска
- 5. Приложение PhoneGap работает только после первого запуска
- 6. Обновление для первого запуска Android
- 7. Менеджер CLLocation работает только для первого запуска приложения
- 8. Перепишите условие только с первого запуска
- 9. navController для первого представления запуска
- 10. Код запуска только при тестировании
- 11. Цель запуска Android от onCreate
- 12. Ограничение php pdo execute() для запуска только первого оператора sql
- 13. Приложение для iPhone CoreData для первого запуска
- 14. iOS Ошибка первого запуска
- 15. Код JQuery только для воспроизведения звука для первого div нажал
- 16. Изменить начальный контроллер просмотра для первого запуска
- 17. выполнить код только при открытии первого документа
- 18. OnTextChanged замерзает после первого запуска
- 19. Конфигурация первого запуска BlankCordovaApp
- 20. Условный обработчик первого запуска
- 21. Как показать UIView для первого запуска приложения?
- 22. config codeigniter для запуска первого проекта
- 23. using storyboardID для обнаружения первого запуска
- 24. Какова цель первого запуска?
- 25. Обнаружение первого запуска кода
- 26. большой опыт первого запуска
- 27. Как выпустить некоторый код только для первого asp: нажмите кнопку
- 28. Ошибка только для первого пользователя
- 29. Autolayout скрывает изображение для первого запуска
- 30. Код запуска только после завершения асинхронной функции
Но тогда вы должны установить его в false в какой-то момент, или это будет верно при каждом перезагрузке приложения, тоже –
, но, как вы уже упоминали в своем сообщении ... вы просто хотите запустить его один раз .. . –
За сеанс приложения –