2012-07-11 29 views
6

Quiero utilizar la notificación local en Android para mi aplicación. Si la aplicación no se abre durante 24 horas, se envía una notificación local. ¿Alguien me puede decir cómo se debe hacer?Envío de notificaciones locales en Android

+0

¿por qué no u utilizar una alarma de – Zamani

+0

Creo que se debe crear de servicio y luego comprobar el tiempo, pero para mostrar la notificación u debe leer sobre él. =) – Gorets

+0

Gorets, tiene toda la razón, tengo que utilizar algún tipo de servicio ya que la notificación se activará cuando se cierre la aplicación. ¿Me puede dar algún tutorial para que –

Respuesta

4

Ver: Local Notifications in Android? Debería poder programar una intención con el administrador de alarmas cada hora.

+1

Gracias por la respuesta rápida, pero se puede utilizar el administrador de alarma si la aplicación está cerrada. ¿Cómo se activará la notificación si la aplicación está cerrada? –

+0

Sí, el administrador de alarmas aún se puede usar incluso cuando la aplicación está cerrada. Sin embargo, no podrá configurar un administrador de alarmas cuando la aplicación esté instalada, solo cuando la aplicación esté cargada (al menos una vez) (Ver: http://stackoverflow.com/a/8492846/986105). Eche un vistazo a esto para crear una notificación usando el administrador de alarmas: http://smartandroidians.blogspot.com/2010/04/alarmmanager-and-notification-in.html – KrispyDonuts

-1

Si desea disparar la notificación local con gran decir, los datos, con el texto de varias líneas en una sola notificación con título, Ticker, icono, sonido .. uso siguiente código .. creo que le ayudará a ..

 Intent notificationIntent = new Intent(context, 
       ReminderListActivity.class); 



     notificationIntent.putExtra("clicked", "Notification Clicked"); 
     notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP 
       | Intent.FLAG_ACTIVITY_SINGLE_TOP); // To open only one activity 


      // Invoking the default notification service 

      NotificationManager mNotificationManager; 
      NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
        context); 
      Uri uri = RingtoneManager 
        .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
      mBuilder.setContentTitle("Reminder"); 
      mBuilder.setContentText("You have new Reminders."); 
      mBuilder.setTicker("New Reminder Alert!"); 
      mBuilder.setSmallIcon(R.drawable.clock); 
      mBuilder.setSound(uri); 
      mBuilder.setAutoCancel(true); 

      // Add Big View Specific Configuration 
      NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle(); 
      String[] events = null; 

       events[0] = new String("Your first line text "); 
       events[1] = new String(" Your second line text"); 



      // Sets a title for the Inbox style big view 
      inboxStyle.setBigContentTitle("You have Reminders:"); 

      // Moves events into the big view 
      for (int i = 0; i < events.length; i++) { 
       inboxStyle.addLine(events[i]); 
      } 

      mBuilder.setStyle(inboxStyle); 

      // Creates an explicit intent for an Activity in your app 
      Intent resultIntent = new Intent(context, 
        ReminderListActivity.class); 

      TaskStackBuilder stackBuilder = TaskStackBuilder 
        .create(context); 
      stackBuilder.addParentStack(ReminderListActivity.class); 


      // Adds the Intent that starts the Activity to the top of the stack 


      stackBuilder.addNextIntent(resultIntent); 
      PendingIntent resultPendingIntent = stackBuilder 
        .getPendingIntent(0, PendingIntent.FLAG_CANCEL_CURRENT); 

      mBuilder.setContentIntent(resultPendingIntent); 
      mNotificationManager = (NotificationManager) context 
        .getSystemService(Context.NOTIFICATION_SERVICE); 


      // notificationID allows you to update the notification later on. 


      mNotificationManager.notify(999, mBuilder.build()); 
1
Intent intent = new Intent(context, yourActivity.class); 
    PendingIntent pIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

    NotificationCompat.Builder b = new NotificationCompat.Builder(context); 

    b.setAutoCancel(true) 
    .setDefaults(Notification.DEFAULT_ALL) 
    .setWhen(System.currentTimeMillis())   
    .setSmallIcon(R.drawable.ic_launcher) 
    .setTicker("notification")    
    .setContentTitle("notification") 
    .setContentText("notification") 
    .setDefaults(Notification.DEFAULT_LIGHTS| Notification.DEFAULT_SOUND) 
    .setContentIntent(pIntent) 
    .setContentInfo("Info"); 


    NotificationManager notificationManager = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE); 
    notificationManager.notify(1, b.build()); 
Cuestiones relacionadas