jueves, 26 de mayo de 2016

[ANDROID] Mensaje con mi ubicación II: Envio de SMS



Siguiendo con la continuación del post anterior vamos a contianuar con el proyecto, ya teniendo los permisos vamos a trabajar directamente con la funcionalidad. Empezaremos por poder darle una opción a nuestro ImageView que tenemos en nuestra vista para que al momento de presionar mande un mensaje de texto, ahorita lo estamos haciendo con un mensaje de texto de prueba solamente, por lo que empezaremos por agregarle un ID al boton para poder reconocerlo en la programación, entramos a activity_main.xml que tenemos en la carpeta de res/layout y agregamos una linea para el ID lo llamaremos botonsms, en este caso quedaria de la siguiente manera:




Nos vamos al menu Build -> Edit libraries and Dependencies para agregar la referencia de ButterKnife, que en este post explico su funcionamiento


Le damos clic en el simbolo de "+" y agregamos una libreria de dependency y agregamos com.jakewharton:butterknife:8.0.1 


Agregamos una de las librerias mas de ButterKnife pero la de compiler de la siguiente manera:


Abrimos del lado izquierdo el build.gradle module para hacer unos cambios en las dependencias, el primer cambio significativo es que antes del apartado de  dependencia agregaremos lo siguiente y cambiamos la ultima libreria que se agrego, modificaremos el compile por apt, quedando de la siguiente manera:

  buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

apply plugin: 'com.neenbedankt.android-apt'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.android.support:support-annotations:23.4.0'
    compile 'com.jakewharton:butterknife:8.0.1'
    apt 'com.jakewharton:butterknife-compiler:8.0.1'
}


 
 
Esperamos a que la aplicación recargue los cambios y entonces vamos a agregar un metodo que atendera el click del boton para que pueda ser detectado, lo hacemos ayudandonos de la libreria de Butterknife, entramos al ActivityMain.java y agregamos el siguiente metodo para mandar el mensaje, y probamos su funcionamiento.

@OnClick(R.id.botonsms)
    public void mandarsms(View view)
    {
        //numero al cual se le va a mandar el mensaje
        String num="3333221348";
        //mensaje que se mandara
        String mensaje="Este es un mensaje de prueba";
        // administrador para el envio de mensajes
        SmsManager manager = SmsManager.getDefault();
        //verificamos que tengamos el permiso
        if(ActivityCompat.checkSelfPermission(this,Manifest.permission.SEND_SMS)!=PackageManager.PERMISSION_GRANTED){
            //si no tenemos el permiso lo agregamos
            ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.SEND_SMS},1234);
            return;
        }
        //mandamos el mensaje
        manager.sendTextMessage(num, null, mensaje, null,null);
        //Mostramos un mensaje que se envio el texto
        Snackbar.make(view, "Se envio el mensaje",Snackbar.LENGTH_LONG).show();
    }



Veremos que cuando presionamos el boton recibiremos el mensaje en el numero que se haya especificado



Dejo el proyecto en github hasta donde lo llevamos

https://github.com/cobymotion/MensajedeLocalizacion


 


No hay comentarios:

Publicar un comentario