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); 
  • Cuando su BroadcastReceiver se invoca a través de un Intent, ¿en qué proceso se ejecuta?
  • SharedPreferences en BroadcastReceiver parece no actualizar?
  • Registro y cancelación del registro de BroadcastReceiver en un fragmento
  • Android no está recibiendo Intent ACTION_PACKAGE_REMOVED en el paquete eliminado
  • Error de Constructor vacío en DeviceAdminReceiver
  • Mover un mensaje a la bandeja de entrada desde la base de datos
  • Boot BroadcastReceiver no funciona en los dispositivos Xiaomi
  • Actividad lanzada desde receptor de difusión, mantiene en tareas recientes a pesar de haber sido terminado
  • Cómo abortar BroadcastReceiver en android
  • ¿Cómo liberar el recurso de micrófono cuando otra aplicación de Android lo necesita?
  • ¿Cómo iniciar la actividad después de desbloquear btn presione y antes de desbloquear pantalla aparecen?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.