Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to force quit the Android app and restart it? [duplicate]

Tags:

java

android

My Android app has a WebView that requires the Flash plugin. The webview will provide a Market link to Adobe Flash if it's not installed. After installing Flash, the only way to instantiate it in my app is to force quit and restart the app. I would like to present a button to the user that does this for them because it's too complicated for casual users to open up their running processes and force quit the app manually. What is the Java code to implement such a restart button?

like image 618
JoJo Avatar asked Jun 29 '11 22:06

JoJo


1 Answers

You can restart your app in two steps:

  1. Kill your own process. Use Process.myPid(), pass it into Process.killProcess(). You might need to add a permission to your manifest (possibly android.permission.KILL_BACKGROUND_PROCESSES) to get this to work.
  2. Before you kill your own process, register an Alarm with a pending intent to restart your Activity in the very near future. The second parameter to alarm.set is the triggerAtTime. Setting it to 0 causes the alarm to fire immediately. The example here sets a time to launch the app one second into the future.

The Code goes like this:

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));
like image 190
mportuesisf Avatar answered Sep 28 '22 14:09

mportuesisf