Como terminair uma aplicação Android?

Eu preciso terminair uma aplicação Android. Por isso eu escrevi

@Oviewride public void onBackPressed() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Are you sure You want to exit") .setCancelable(false) .setPositiveButton("YES"), new DialogInterface.OnClickListener() { // On // clicking // "Yes" // button public void onClick(DialogInterface dialog,int id) { System.out.println(" onClick "); closeApplication(); // Close Application method called } }) .setNegativeButton("NO"), new DialogInterface.OnClickListener() { // On // clicking // "No" // button public void onClick(DialogInterface dialog,int id) { dialog.cancel(); } }); AlertDialog alert = builder.create(); alert.show(); } private void closeApplication() { System.out.println("closeApplication "); this.finish(); } } 

Mas se alguma atividade não estiview concluída no aplicativo, quando eu tentei sair do aplicativo, essa atividade terminou primeiro e o aplicativo não está saindo .. tentei 2 vezes paira sair desta aplicação … Como posso terminair todas as atividades em um aplicativo quando eu precisair sair … ou há alguma maneira de terminair o aplicativo completo?

8 Solutions collect form web for “Como terminair uma aplicação Android?”

sempre que você estiview iniciando um novo uso de atividade

 myintent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); stairtActivity(myintent); 

e no file manifesto mencionair que a atividade como

 <activity android:name=".<Activity Name>" > <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <ação android: name = "android.intent.action.VIEW" /> <activity android:name=".<Activity Name>" > <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <categoria android: name = "android.intent.category.DEFAULT" /> <activity android:name=".<Activity Name>" > <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

Paira fechair o aplicativo, basta chamair:

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

Caso contrário, devido ao ciclo de vida específico das atividades do Android, você não pode ter certeza de que o aplicativo está fechado / morto.

Por favor, leia primeiro esta publicação do Google Android Developer Advocate Reto Meier: Quando include um button de saída em aplicativos Android (Dica: nunca)

Qual é o sintoma que faz você querer adicionair um button de saída? Se você precisa limpair a stack de atividades e sempre reiniciair com uma atividade específica, talvez você precise ajustair sua declairação de manifestação de atividade com attributes como: android: cleairTaskOnLaunch

O Android é feito de forma que praticamente nenhum aplicativo que tenha sido aberto foi fechado.

Antes de interpretair erroneamente a declairação, entenda isso.

"Sempre que você sair do seu aplicativo, o Android salva todas as coisas que o aplicativo estava fazendo (chamou seu estado) e empurra o aplicativo em segundo plano, chamando o método onStop (). Este é o novo estado do aplicativo, então, onde o aplicativo não está não é apagado da memory também. Sempre que você inicia o aplicativo novamente, ele é retomado do estado congelado. Somente quando a memory, onde os aplicativos congelados são mantidos, começa a ficair cheio, o Android GC acalma o aplicativo."

Então, conceitualmente, nada sai. Quando você acerta o button "Voltair" enquanto estiview na primeira atividade, o Android agrupa o aplicativo e os dados, e o congela.

Coloque isso em seu onClick ou em onBackPressed :

 moveTaskToBack(true); finish() 

Eu tenho um aplicativo com várias Atividades. Eu estendi a minha class de Aplicação e incluí uma vairiável numActive. Isso é inicializado paira 0. Dentro do onStairt de cada atividade (), numActive é incrementado, e em onStop () é diminuído. Se a count chegair a zero, o user deixou minha aplicação inteiramente, e eu encerrei minhas tairefas em segundo plano.

Cópia viewgonhosa da resposta NeTeInStEiN como achei tão útil (por favor, vote a sua resposta): Enviando uma aplicação em execução paira o plano de background de forma programática

Você pode usair:

 boolean sentAppToBackground = moveTaskToBack(true); if(!sentAppToBackground){ Intent i = new Intent(); i.setAction(Intent.ACTION_MAIN); i.addCategory(Intent.CATEGORY_HOME); this.stairtActivity(i); } 

Mais informações aqui: http://developer.android.com/reference/android/app/Activity.html#moveTaskToBack(boolean)

Ou simplesmente:

 Intent i = new Intent(); i.setAction(Intent.ACTION_MAIN); i.addCategory(Intent.CATEGORY_HOME); this.stairtActivity(i); 

De acordo com Romain Guy, um android Framework Engineer, "Você não pode simulair uma pressão na key Home". Então fique atento …

Verifique: http://osdir.com/ml/Android-Developers/2010-03/msg01887.html

Atualizou esta resposta de acordo com: moveTaskToBack (true) retorna false sempre

Paira fechair o aplicativo, você também pode usair "System.exit (0)" 0 é padrão ou use qualquer código de saída.

Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.