ir Atras botón onKeyDown





Este tutorial por ahí aunque parezca no importante, realmente si lo es. Porque acá podemos contrar también que se puede hacer cuando volvemos atrás.
Por ejemplo: Si ven el tutorial base de datos remota si trabajamos accediendo remotamente varias veces, las peticiones son en un sentido, pero cuando volvamos hacia atrás nos van a aparecer las pantallas en blanco. Entonces si utilizamos el onKeyDown se puede hacer peticiones en el sentido inverso.

Recomendación: Yo todo lo que aprendí, fue justamente haciendolo. Tomo una idea o un proyecto y le aplico todo lo que sé.
Todo los tutos que están en este blog, prestenle atención, porque todo lo que subo en algún momento lo he usado y me hecho realmente falta.

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        if (keyCode == event.KEYCODE_BACK) {
                      //code
        }
        return super.onKeyDown(keyCode, event);
    }

Código

import android.media.AudioManager;
import android.media.MediaPlayer;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;


public class MyActivity extends ActionBarActivity {

    MediaPlayer mp = new MediaPlayer();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);

        Button btn1 = (Button) findViewById(R.id.btn1);
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                metodo();
            }
        });
    }

    public void metodo(){
        mp.reset();                               //resets the media player
        mp.release();
        mp= MediaPlayer.create(this, R.raw.alarma_sirena);
        mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mp.seekTo(0);                             //seek to starting of song means time=0 ms
        mp.start();
    }

    /*
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        if (keyCode == event.KEYCODE_BACK) {
            mp.reset();                               //resets the media player
            mp.release();
        }
        return super.onKeyDown(keyCode, event);
    }
    */
}

Fuente http://developer.android.com/intl/es/reference/android/view/KeyEvent.Callback.html

Tutoriales que anuncio en el video
ListView Ringtones
Botonera
ActionBar atras

9 comentarios:

  1. Hola Ramiro, de nuevo acudo a ti con ésta duda, estoy buscando la forma de poder implementar en un Navigation Drawer, el ActionBar ir atrás, pero las clases nuevas creadas pertenecientes al menú, extienden de un fragmento y no del ActionBarActivity, con lo cual no logro darle funcionalidad.¿Crees que puede haber alguna manera de conseguirlo? Gracias, un saludo.

    ResponderEliminar
    Respuestas
    1. nose puede, porque no vas al activity anterior, para para usar esto usar el actionbarctivity, te manejas entre fragment. Yo no lo he podido hacer, porque no me puesto bien, pero lo que tenes q hacer es vez de llamar al anterior, es reemplazar en el contenedor por el anterior. El tema es q necesitas una variable, que guarde el último creado y de ahí llamarlo. Un bardo.
      Pero.. si podes del navigation drawer es llamar al fragment, y de ahí llamar a un activity e ir a atrás, porque todo el navigation drawable esta dentro de un activiy

      Eliminar
  2. Hola Ramiro felicidades por tu videotutoriales, muy bueno, solo tengo una duda, quiero saber con cual método puedo manipular el botón HOME.
    Por ejemplo para manipular el botón de ATRAS uso el método
    @Override
    public void onBackPressed(){}

    Pero no encuentro el método para manipular el botón de HOME que lleva a la pantalla principal.
    Gracias espero que me puedas ayudar

    ResponderEliminar
  3. Buenas Ramiro!!!....todos los tutos super!!....acudo a ti para hacerte una consulta....quizas no va del todo con el post pero haber:.....estoy en proceso de crear una quiz app y quiero implementar el back y next button para pasar de pregunta....no logro dar con el método!!!....ojalá me puedas ayudar!!!.....gracias de antemano!!!....

    ResponderEliminar
  4. Hola ramiro , a ver si me podes ayudar , estoy en una actividad y si voy atras con el boton ir atras del cel va a la actividad anterior normalmente y veo todo su contenido como estaba, pero si voy atras con la flecha de mi appBar de arriba va a la actividad anterior pero la pantalla me aparece en blanco

    Saludos

    ResponderEliminar
  5. necesito hacer un app view de mi pagina www.clasificadoscatamarca.com/movil donde el boton back del telefono vuelva atras en la pagina alguien lo puede hacer?

    ResponderEliminar
    Respuestas
    1. http://stackoverflow.com/questions/6077141/how-to-go-back-to-previous-page-if-back-button-is-pressed-in-webview

      Eliminar
  6. Que tal Ramiro, una duda, de que forma puedo brincar de un edittext1 a edittext2 despues de haber capturado algun dato, hay una forma pero es validando el tamaño de la captura, sin embargo, mi captura la hago con un scanner, es decir, que no es exacto el numero de caracteres...
    Saludos

    ResponderEliminar
  7. Hola, estoy tratando de crear un botón que al mantenerlo presionado por mas de 500ms active un evento y si el botón es activado por menos de 500ms sea cancelada la petición

    ResponderEliminar