Como reiniciar um aplicativo completamente?

Eu tenho um aplicativo que inicia um serviço remoto em sua primeira atividade lançada. Em seguida, em outra atividade, o usuário pode definir a configuração do aplicativo. Por favor, note que esta segunda atividade não está vinculada ao serviço e eu não quero vinculá-lo.

Agora minha pergunta é: como eu poderia reiniciar o aplicativo inteiro a partir da segunda atividade, depois de alterar as configurações?

Por enquanto, estou usando um botão que onClickListener é:

public void onClick(DialogInterface dialog, int which) {
    sauvegarde();
    Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(i);
}

O problema é: ele apenas reinicia a atividade atual sem encerrar todo o aplicativo e, portanto, sem reiniciar o serviço

Alguma ideia?

questionAnswers(4)

yourAnswerToTheQuestion