Mostrando la notificación al usuario en un momento específico, pero aparece cada vez que cierro o abra mi aplicación?

El escenario completo es que estoy tratando de mostrar la notificación de acuerdo a la hora seleccionada por el usuario para que estoy utilizando un TimePickerDialog , BroadcastReceiver clase y una clase de Service , todo está trabajando multa notificación también aparece en momentos específicos, pero el problema es cuando abro y Cierre la aplicación cada vez que llegue la notificación.

Actividad.java

 Intent myIntent = new Intent(ReminderActivity.this, MyBreakfastReciver.class); System.out.println("getting Breakfast Reminder"); pendingIntent = PendingIntent.getBroadcast(ReminderActivity.this, 0, myIntent,0); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); //bTimePart1 and bTimePart2 is the time choosen by user through time picker calendar.set(Calendar.HOUR_OF_DAY, bTimePart1 ); calendar.set(Calendar.MINUTE, bTimePart2); AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent); 

BroadcastReciever

 public class MyBreakfastReciver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent service1 = new Intent(context, MyBreakfastAlarmService.class); context.startService(service1); } } 

Clase de reciever

  private void showNotification(Context context) { NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.notificationlogo) .setContentTitle("DietGuru") .setAutoCancel(true) .setContentText("You haven't logged your BreakFast for today.") .setSubText("Would you like to do it now?"); // Creates an explicit intent for an Activity in your app Intent resultIntent = new Intent(context, CalorieMainActivity.class); // The stack builder object will contain an artificial back stack for the // started Activity. // This ensures that navigating backward from the Activity leads out of // your application to the Home screen. TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); // Adds the back stack for the Intent (but not the Intent itself) stackBuilder.addParentStack(CalorieMainActivity.class); // Adds the Intent that starts the Activity to the top of the stack stackBuilder.addNextIntent(resultIntent); resultPendingIntent = stackBuilder.getPendingIntent( 0, PendingIntent.FLAG_CANCEL_CURRENT ); mBuilder.setContentIntent(resultPendingIntent); //mBuilder.setContentIntent(resultPendingIntent); mBuilder.setDefaults(Notification.DEFAULT_ALL); NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); // mId allows you to update the notification later on. mNotificationManager.notify(1, mBuilder.build()); } 

Sólo quiero detener mi notificación cuando abro y cierra mi aplicación.

Si su selección de tiempo de tiempo es antes de tiempo ur actual, entonces el evento de incendio Alaram, así que trate de comprobar si el tiempo es antes de la hora actual, a continuación, agregue el día para Alaram incendio evento en el día siguiente con el tiempo dado, Compruebe el ejemplo con fuego notifiaction 8 am en cada día:

  Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); // Set the alarm's trigger to next day if set alAram after 8 am if(calendar.get(Calendar.HOUR_OF_DAY)>8){ calendar.add(Calendar.DAY_OF_MONTH,1); } // Set the alarm's trigger time to 8:00 am calendar.set(Calendar.HOUR_OF_DAY, 8); calendar.set(Calendar.MINUTE,0); calendar.set(Calendar.SECOND,0); 
  • ¿Hay acción de Pausa para el Administrador de descargas en Android?
  • Android Widget Click y Broadcast Receiver no funciona
  • Incorrectos extras recibidos con todos los intentos, pero el primero
  • Android captura nueva llamada saliente
  • Registrarse en la transmisión local dentro de una vista personalizada
  • ¿Por qué BroadcastReceiver funciona incluso cuando la aplicación está en segundo plano?
  • ¿Dónde debo usar Servicio, AsyncTask y Broadcast Receiver?
  • BroadcastReceiver CONNECTIVITY_CHANGE siempre se ejecuta en la primera vez que se inicia la aplicación?
  • ¿Cómo liberar el recurso de micrófono cuando otra aplicación de Android lo necesita?
  • Xamarin.Forms: El receptor de difusión no funciona cuando la aplicación está cerrada
  • actualizar mi aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.