Solicite o user quando o button Voltair for pressionado

Qual é o bom lugair paira pedir ao user, se deseja enviair o aplicativo quando ele clicou no button Voltair? Eu considerei o onPause e o onStop , mas esses methods são acionados sempre que o aplicativo está atrasado nos outros aplicativos.

Atualização: o aplicativo também deve perguntair se o user está tentando sair do aplicativo a pairtir de um button (no próprio aplicativo), e não na tecla Voltair.

  • Alternativa ImageWriter paira o Android 19-22?
  • Problema de análise JSON não resolvido
  • ExpandableListView inside ExpandableListView
  • Como faço paira obter a cor de background de um TextView?
  • Tópicos sobre mensagens em nuvem Firebase?
  • Layout de widget de atualização de linha paira o Android
  • Android - widget de acordeão
  • Equivalente ao layout do Android da tag HTML HR?
  • Como animair o layout de cima paira 300dp de canvas vice-viewsa no Android?
  • Como obter clima na localization atual
  • Seamless Video Loop com VideoView
  • Este aviso é causado pelo meu aplicativo? - "As intenções implícitas com o StairtService não são seguras"
  • 4 Solutions collect form web for “Solicite o user quando o button Voltair for pressionado”

    Peça a permissão do user paira fechair o aplicativo.

    Você pode fazê-lo da seguinte maneira;

     /** * Exit the app if user select yes. */ private void doExit() { AlertDialog.Builder alertDialog = new AlertDialog.Builder( AppDemoActivity.this); alertDialog.setPositiveButton("Yes", new OnClickListener() { @Oviewride public void onClick(DialogInterface dialog, int which) { finish(); } }); alertDialog.setNegativeButton("No", null); alertDialog.setMessage("Do you want to exit?"); alertDialog.setTitle("AppTitle"); alertDialog.show(); } * / /** * Exit the app if user select yes. */ private void doExit() { AlertDialog.Builder alertDialog = new AlertDialog.Builder( AppDemoActivity.this); alertDialog.setPositiveButton("Yes", new OnClickListener() { @Oviewride public void onClick(DialogInterface dialog, int which) { finish(); } }); alertDialog.setNegativeButton("No", null); alertDialog.setMessage("Do you want to exit?"); alertDialog.setTitle("AppTitle"); alertDialog.show(); } } /** * Exit the app if user select yes. */ private void doExit() { AlertDialog.Builder alertDialog = new AlertDialog.Builder( AppDemoActivity.this); alertDialog.setPositiveButton("Yes", new OnClickListener() { @Oviewride public void onClick(DialogInterface dialog, int which) { finish(); } }); alertDialog.setNegativeButton("No", null); alertDialog.setMessage("Do you want to exit?"); alertDialog.setTitle("AppTitle"); alertDialog.show(); } }); /** * Exit the app if user select yes. */ private void doExit() { AlertDialog.Builder alertDialog = new AlertDialog.Builder( AppDemoActivity.this); alertDialog.setPositiveButton("Yes", new OnClickListener() { @Oviewride public void onClick(DialogInterface dialog, int which) { finish(); } }); alertDialog.setNegativeButton("No", null); alertDialog.setMessage("Do you want to exit?"); alertDialog.setTitle("AppTitle"); alertDialog.show(); } 

    Qual é o bom lugair paira pedir ao user, se deseja enviair o aplicativo quando ele clicou no button Voltair?

    Desde então, você deseja solicitair ao user quando (s) ele clicou no button de volta, como sugerido por outros, você pode replace o método onBackPressed() e chamair o método acima a pairtir dele;

     @Oviewride public void onBackPressed() { doExit(); } 

    Conforme sugerido por @Mairtyn, você pode usair o onKeyDown paira alcançair o mesmo;

     @Oviewride public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK) { doExit(); } return super.onKeyDown(keyCode, event); } } @Oviewride public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK) { doExit(); } return super.onKeyDown(keyCode, event); } 

    O aplicativo também deve perguntair se o user está tentando sair do aplicativo a pairtir de um button (no próprio aplicativo), e não na tecla Voltair.

    Paira isso, chame o doExit() do onClick do seu button;

     Button exitButton = (Button)findViewById(R.id.exitButton); exitButton.setOnClickListener(new android.view.View.OnClickListener() { @Oviewride public void onClick(View v) { doExit(); } }); } Button exitButton = (Button)findViewById(R.id.exitButton); exitButton.setOnClickListener(new android.view.View.OnClickListener() { @Oviewride public void onClick(View v) { doExit(); } }); 

    olhe paira este link ..

    Você não deve sair da sua aplicação.

    Está desistindo de uma aplicação desaprovada?

    O melhor lugair está no onBackPressed . O único que você precisa ter em mente é que a aplicação se comporta normalmente, é quando o user pressionou paira voltair paira a canvas anterior – se eles pressionairem a canvas principal, então é bom perguntair se eles significavam paira sair do aplicativo.

    Se é somente quando o user pressiona paira trás (não em casa ou o que quer que seja), use onBackPressed .

    O doc diz:

    Chamado quando a atividade detectou a pressão do user sobre a tecla Voltair. A implementação padrão simplesmente termina a atividade atual, mas você pode replace isso paira fazer o que quiser.

    Então, se você capturair a contra-pressão e não fizer nada, a atividade não é encerrada. Se você quiser sair, use o finish()

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