En ejemplos anteriores hemos visto mensajes usando Toast, pero en esta ocasión veremos las notificaciones que son mensajes que quieren informar algo de mayor importancia para el usuario, sin mas aquí el ejemplo.
1.- Creamos un nuevo archivo en android
2.- Así se sera nuestra estructura para este proyecto
3.- Creamos un archivo .xml en res/layout y le llamamos notification.xml
4.- Agregamos el siguiente código.
notification.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Aqui los detalles de la notificacion" /> </LinearLayout>
5.- Ahora en src/nombrePaquete agregaremos una nueva activity llamada Notificacion.java
6.- Le agregaremos el siguiente código
Notificacion.java
package depredador1220.master.kenny; import android.app.Activity; import android.os.Bundle; //import a utilizar import android.app.NotificationManager; public class Notificacion extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //agregamos la interfaz de la notificacion setContentView(R.layout.notification); //Creamos un objeto notification manager NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); //Ahora cancelamos la notificacion notificationManager.cancel(getIntent().getExtras().getInt("notificacionID")); } }
7.- En el AndroidManifest.xml agregamos lo siguiente
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="depredador1220.master.kenny" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="13"/> <!--Agregamos un permison Vibrate para que nos avise con una vibracion del telefono--> <uses-permission android:name="android.permission.VIBRATE"/> <application android:label="kenny"> <activity android:name="MyActivity"> <android:label="kenny"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <!--Agregamos el activity--> <activity android:name=".Notificacion" android:label="Detalles de la notificacion"/> <intent-filter> <action android:name="android.intent.action.MAIN"></action> <category android:name="android.intent.category.DEFAULT"></category> </intent-filter> <!--Aqui termina las declaraciones--> </application> </manifest>
8.- Ahora toca llenar el main.xml le agregamos el siguiente código
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/btnNotificacion" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Mostrar notificacion" android:onClick="onClick" /> </LinearLayout>
9.- Para el MyActivity,java pondremos lo siguiente.
MyActivity.java
package depredador1220.master.kenny; import android.app.Activity; import android.os.Bundle; //imports a utilizar import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Intent; import android.view.View; public class MyActivity extends Activity { int notificacionID = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onClick(View v) { displayNotificacion(); } protected void displayNotificacion() { Intent i = new Intent(this, Notification.class); i.putExtra("notificacionID", notificacionID); //el PendingIntent carga la actividad si el usuario selecciona esta notificacion PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, i, 0); NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); //Creamos la notificacion, para acceder al icono en Intellij IDEA se usa esta declaracion //y en android studio solo con R.drawable y el icono que contenga Notification notification = new Notification(android.R.drawable.ic_dialog_info , "Recordatorio: Apoya al sitio dando clic en la publicidad", System.currentTimeMillis()); //Creamos unos mensajes CharSequence destinatario = "Alarma del sistema"; CharSequence mensaje = "Aqui casual con el depredador1220"; notification.setLatestEventInfo(this, destinatario, mensaje, pendingIntent); //espera 100 ms, vibra 250 ms, pausa por 100ms y vuelve a vibrar por 500ms notification.vibrate = new long[]{100, 250, 100, 500}; nm.notify(notificacionID, notification); } }10.-Y probamos, recuerda que la vibración la podemos experimentar mejor en un teléfono físico.
No hay comentarios:
Publicar un comentario