Подтвердить что ты не робот

Как заставить выйти из приложения Android и перезапустить его?

У моего Android-приложения есть WebView, для которого требуется плагин Flash. Веб-просмотр предоставит ссылку на рынок для Adobe Flash, если она не установлена. После установки Flash единственный способ создать экземпляр в моем приложении - принудительно завершить работу и перезапустить приложение. Я хотел бы представить пользователю кнопку, которая делает это для них, потому что слишком сложно для случайных пользователей открыть свои запущенные процессы и принудительно выйти из приложения вручную. Что такое Java-код для реализации такой кнопки перезапуска?

4b9b3361

Ответ 1

Вы можете перезапустить приложение в два этапа:

  • Убейте свой собственный процесс. использование Process.myPid(), передайте его в Process.killProcess(). Возможно, вам нужно будет добавить разрешение на ваш манифест (возможно, android.permission.KILL_BACKGROUND_PROCESSES), чтобы он работал.
  • Прежде чем вы убьете свой собственный процесс, зарегистрируйте будильник с ожидающим намерения перезапустить свою деятельность в ближайшем будущем. Второй параметр alarm.set - triggerAtTime. Установка этого параметра на 0 приводит к немедленному срабатыванию будильника. В приведенном здесь примере задается время для запуска приложения через секунду в будущем.

Код выглядит следующим образом:

AlarmManager alm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
alm.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, PendingIntent.getActivity(this, 0, new Intent(this, this.getClass()), 0));

Ответ 2

Предположим, вы могли бы вызвать finish, чтобы остановить активность, но вы не сможете снова запустить приложение. Для этого потребуется (если это возможно) корень, и это будет ужасная идея. Это означало бы, что любое приложение может начинаться с самого начала, когда захочет: это просто плохая идея и на самом деле будет ошибкой, если это возможно.

Ответ 3

вы можете выйти из приложения с помощью System.exit(0): это не требует разрешения для вашего приложения.