2013-01-02 19 views
13

Chcę zamknąć aplikację poprzez kliknięcie przycisku.Jak programowo zamknąć program za pomocą przycisku Kliknij przycisk

kod dla kliknięcia przycisku jest

quitBtn.setOnClickListener(new View.OnClickListener() {   
    @Override 
    public void onClick(View paramView) { 
     // TODO Auto-generated method stub    
     MainActivity.this.finish(); 
    } 
}); 

Ale to wymaga dwóch kliknięć, aby wyjść z aplikacji.

+0

Czy ten przycisk w drugiej działalności.? –

Odpowiedz

22

użyć tego kodu ... Mam nadzieję, że to pomoże ..

quitBtn.setOnClickListener(new View.OnClickListener() {   
     @Override 
     public void onClick(View paramView) 
     { 
      finish();   
      moveTaskToBack(true); 
     } 
    }); 
1

Spróbuj tego może pomóc.

quitBtn.setOnClickListener(new View.OnClickListener() {   
    @Override 
    public void onClick(View v) { 
     Intent intent = new Intent(Intent.ACTION_MAIN); 
     intent.addCategory(Intent.CATEGORY_HOME); 
     startActivity(intent); 
    } 
}); 

Edytuj plik manifestu

<activity android:name=".HomeActivity" android:label="@string/app_title_home" android:clearTaskOnLaunch="true" /> 
+0

używając tej aplikacji rozpocznie się od ostatniego etapu (nie głównego działania) z ostatniej aplikacji –

+0

Gdzie muszę umieścić ten przycisk wewnątrz Akcja? – achu

+0

@achu tak na przycisku listner .. –

10

stosowanie tego jest praca dla mnie:

quitBtn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View paramView) { 

       moveTaskToBack(true); 
       MainActivity.this.finish(); 
      } 
}); 
2

aplikacja musi zakończyć się w pierwszej działalności (główną działalność) w stosie (zwykle pierwsze działanie, które pojawia się, gdy aplikacja się uruchamia). Używam tego kodu:

finish(); 
android.os.Process.killProcess(android.os.Process.myPid()); 

obie linie są ważne. Tylko zabijanie nie jest wystarczające, ponieważ Android może automatycznie ponownie uruchomić twoją aplikację, dlatego też należy użyć funkcji finish().

Jeśli chcesz zamknąć aplikację z innej działalności, najpierw wróć do usługi MainActivity i opuść ją. Aby wrócić używam tego kodu:

Intent i = new Intent(context, MainActivity.class); 
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
context.startActivity(i); 

Wywoła onCreate z główną działalność. Używając zmiennej statycznej (w kontekście aplikacji) ustawiam flagę, jeśli chcę wyjść z onCreate lub nie.

1

Należy dodać to polecenie, klikając przycisk finishAffinity();, aby zamknąć wszystkie aktywne działania.

quitBtn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View paramView) { 
     finishAffinity(); 
    }}); 
0

Aby zakończyć działalność lub wyjść aplikacja

@Override 
    public void onBackPressed() { 
     this.finish(); 
    } 
Powiązane problemy