Я пытаюсь создать в своем приложении функцию выхода из системы. Как правило, при выходе из системы данные приложения должны быть очищены. Что я хотел бы сделать, так это после выхода из системы приложение должно перезапуститься, чтобы можно было снова ввести учетные данные и т. Д. Проблема, с которой я столкнулся, заключается в том, что в момент, когда пользователь нажимает кнопку «выйти из системы», приложение уже выполняет 3-4 действия, и я не уверен, как вернуться к ним. Как мне (смоделировать?) Перезапуск приложения?
Как программно "перезапустить" приложение Android
comment
как вы сохраняете данные вашего приложения?
- person kumar_android   schedule 22.03.2013
comment
В локальной БД, а также в файлах JSON. Мне удалось успешно очистить данные до сих пор
- person Ryan   schedule 22.03.2013
comment
Отметьте этот вопрос / ответ stackoverflow.com/questions/2470870/
- person Zelldon   schedule 22.03.2013
comment
Интересно, рекомендуется ли использовать System.exit (0) для перезапуска приложения и освобождения всех статических переменных и уничтожения представления фрагмента? Если нет, пожалуйста, подскажите мне, как это сделать. У меня та же проблема, что и у вас. Спасибо.
- person Ishwor Khanal   schedule 12.08.2017
Ответы (1)
Свойства намерения оформления заказа, такие как отсутствие истории, очистка заднего стека и т. Д. Intent.setFlags
Intent mStartActivity = new Intent(HomeActivity.this, SplashScreen.class);
int mPendingIntentId = 123456;
PendingIntent mPendingIntent = PendingIntent.getActivity(HomeActivity.this, mPendingIntentId, mStartActivity,
PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager mgr = (AlarmManager) HomeActivity.this.getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent);
System.exit(0);
person
Code_Life
schedule
22.03.2013
Рабочий раствор
- person Naveed Ahmad; 09.12.2017
Будет ли тот же код работать и для Nougat?
- person Tejas; 19.02.2018
он работает отлично, за исключением того, что требуется время, например, 2-3 секунды, какое-либо решение для сокращения времени перезапуска?
- person Kishita Variya; 20.12.2018
@Kishita. Я так не думаю. Я очень удивлен, что в 2019 году это действительно работает, учитывая трудности, с которыми приходится сталкиваться, чтобы установить точный будильник. Некоторые китайские ПЗУ (например, OnePlus) блокируют такие будильники.
- person Kathir; 27.01.2019
@Kathir, тогда что мне использовать?
- person Kishita Variya; 28.01.2019
@Kishita Я наткнулся на эту статью, которая могла быть полезный. Я еще не пробовал это
- person Kathir; 08.02.2019
Нет необходимости в AlarmManager
- person kostyabakay; 08.11.2019
Немного не по теме, но может кому-то поможет. Запуск этого с отложенным обработчиком на 500-1000 мс - хорошая идея, если у вас есть проблемы с загрузкой общих предпочтений при запуске. Я использовал этот перезапуск при смене темы. Пользователь выбирает новую тему, если она отличается от старой, перезапускает приложение. Но без задержки новая настройка темы не была сохранена в DefaultSharedPreferences. Так что даже пользователь сменил тему, изменение не было сохранено вовремя.
- person S0und; 28.11.2019
не работает в android 10
- person Sarath Kumar; 24.07.2020