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
No hay comentarios:
Publicar un comentario