2013-01-02 2 views
13

Ich möchte die Anwendung durch einen Klick auf die Schaltfläche beenden.Wie man eine Anwendung programmatisch durch Knopfdruck beendet

der Code für Schaltfläche klicken ist

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

Aber es zwei Klicks erfordern aus der App zu verlassen.

+0

Ist diese Taste in Ihrer zweiten Tätigkeit beenden.? –

Antwort

22

Verwendung dieser Code ... ich hoffe, das wird Ihnen helfen ..

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

Versuchen Sie es, es könnte Ihnen helfen.

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); 
    } 
}); 

Bearbeiten Sie die Manifest-Datei

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

mit dieser Ihre App wird von der letzten Stufe (nicht Haupttätigkeit) von der letzten App starten –

+0

Wo muss ich diese in Button Aktion? – achu

+0

@achu ja auf Knopflistener .. –

10

Verwendung dieses es für mich ist Arbeit:

quitBtn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View paramView) { 

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

die App in der ersten Aktivität (MainActivity) in dem Stapel verlassen werden muss (in der Regel die erste Aktivität, die beim Starten der App gestartet wird). Ich verwende diesen Code:

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

beiden Linien wichtig sind. Nur das Töten ist nicht ausreichend, da Android deine App automatisch neu startet, daher muss auch finish() verwendet werden.

Wenn Sie Ihre App von einer anderen Aktivität beenden möchten, kehren Sie zuerst zur MainActivity zurück und beenden Sie sie von dort. Um wieder ich diesen Code verwenden:

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

Diese onCreate des MainActivity nennen. Mit einer statischen Variable (im Anwendungskontext) setze ich ein Flag, wenn ich onCreate beenden will oder nicht.

1

Was Sie tun müssen, ist diesen Befehl auf Knopf klicken finishAffinity();, um jede aktive Aktivität zu schließen.

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

Um eine Aktivität zu beenden oder die App

@Override 
    public void onBackPressed() { 
     this.finish(); 
    } 
Verwandte Themen