public void backToMain(Bundle params) { //Monta a intent para abrir a aplicação. Intent mStartActivity = new Intent(this, MainActivity.class); //Se quiser adicionar algum parametro para o inicio da aplicação: if (params != null) { mStartActivity.putExtras(params); } //Realiza o agendamento da intent de abrir o aplicativo: //No caso abaixo o aplicativo vai ser reaberto daqui 500ms (System.currentTimeMillis() + 500); PendingIntent mPendingIntent = PendingIntent.getActivity(this, 123456, mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT); AlarmManager mgr = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE); mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 500, mPendingIntent); //Mata todos processos associados a este aplicativo. android.os.Process.killProcess(android.os.Process.myPid()); //Fecha o aplicativo. System.exit(1); }
Android – Como reiniciar a aplicação programaticamente (How to ‘restart’ an android application programmatically)