Intents en Android para llamada, mapas y mail

Uso de Intents en Android para comunicar información con ejemplos de lanzado de llamadas, mapas y mail

Aplicación Android usando Intents para lanzar aplicación de llamada, búsqueda en mapa google y enviar mail.

Los pasos para hacer este proyecto son:

  1. Declarar las **variables** en MainActivity.java y crear referencias de la vista XML.
  2. Se asigna **listener al botón llamar** con el texto que ha introducido el usuario.
  3. Se asigna **listener al botón buscar** en mapa la dirección que ha introducido el usuario.
  4. Se asigna **listener al botón enviar mail.**
  5. La declaración de variables la he realizado dentro del método onCreate(...)

    //Se declaran y se referencian las variables de la vista XML
    final Button btnLlamar = (Button) findViewById(R.id.buttoncall);
    final Button btnBuscarMapa = (Button) findViewById(R.id.buttonsearch);
    final Button btnEnviarMail = (Button) findViewById(R.id.buttonsendmail);
    

    Listener para el botón de realizar llamada

    //Se asigna listener al botón llamar con el texto que ha introducido el usuario
    btnLlamar.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v){
            
            //Se obtiene campo teléfono introducido por el usuario
            final EditText numeroTelefono = (EditText) findViewById(R.id.txtnumbercall);
            String numero = numeroTelefono.getText().toString();
            
            //Si no existe teléfono, se asigna teléfono de emergencias
            if (numero.equals("")) {
                numero = "112";
            }
            //Se parse el teléfono a URI
            Uri number = Uri.parse("tel:"+numero);
            
            //Se lanza el intent para llamada
            Intent callIntent = new Intent(Intent.ACTION_DIAL, number);
            startActivity(callIntent);
        }
    });
    

    Listener para buscar en mapa

    //Se asigna listener al botón buscar en mapa la dirección
    // que ha introducido el usuario
    btnBuscarMapa.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            
            //Se obtiene la dirección introducida por el usuario
            final EditText localizacion = (EditText) findViewById(R.id.txtsearchmap);
            String buscado = localizacion.getText().toString();
            
            //Se parsea la dirección
            Uri location = Uri.parse("http://maps.google.co.in/maps?q="+buscado);
            
            //Se lanza el intent paramostra mapa
            Intent mapIntent = new Intent(Intent.ACTION_VIEW, location);
            startActivity(mapIntent);
        }
    });
    

    Listener para el envió de mail

    //Se asigna listener al botón enviar mail
    btnEnviarMail.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            
            //Se obtienen los campos introducidos por el usuario
            final EditText destinatario = (EditText) findViewById(R.id.txtmailuser);
            String dest = destinatario.getText().toString();
            final EditText asunto = (EditText) findViewById(R.id.txtmailsubject);
            String asun = asunto.getText().toString();
            final EditText cuerpo = (EditText) findViewById(R.id.txtmailbody);
            String cuer = cuerpo.getText().toString();
            
            //Se crea el intent para envío demail
            Intent emailIntent = new Intent(Intent.ACTION_SEND);
            
            //Se añaden campos extras para enviar mail
            emailIntent.setType("text/plain");
            emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {dest});  //Destinatario
            emailIntent.putExtra(Intent.EXTRA_SUBJECT, asun);               //Asunto
            emailIntent.putExtra(Intent.EXTRA_TEXT, cuer);                  //Cuerpo mail
            //Se lanza la actividad
            startActivity(Intent.createChooser(emailIntent, "Send email..."));
        }
    });
    

    La explicación de esta entrada ha sido escueta, es sencillo de entender directamente leyendo del código con sus comentarios.

    He creado un vídeo del paso seguido para este proyecto Android:

    Descargar el programa Android para llamar, buscar en mapa y enviar mail