Android termina a Atividade e inicia outra

Estou curioso sobre uma coisa. Como posso terminar minha atividade atual e iniciar outra.

Exemplo:

MainActivity
    --(starts)--> LoginActivity
        --(if success, starts)--> SyncActivity
            --(if success start)--> MainActivity (with updated data).

Então eu quero quandoSyncActivity iniciaMainActivity após uma sincronização bem-sucedida e se eu pressionar o botão Voltar para não retornar aSyncActivity ou qualquer outra atividade aberta antes deSynActivity.

Eu tentei com este código:

Intent intent = new Intent(Synchronization.this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
this.finish();

mas não está funcionando corretamente. Alguma idéia de como fazer as coisas funcionarem corretamente?

questionAnswers(2)

yourAnswerToTheQuestion