title: Android AlarManager Notification repeating
body: <p>In My Android app.. I put a notification.. actually my app is a numerology app.. so I am planning to send a notification from app everyday 01.00 AM that new prediction is available for the user... I am able to send notification using alarm manager. But my problem is whenever user open this notification again notification is coming repeatedly.. But I need notification to be send once in a day. Once user opens the notification no need of coming the notification in the same day. If anyone can help please help. I am giving my code below.</p>
  
  <p>MainActivity</p>
  
  <pre><code>AlarmManager am;
  
  @Override
      protected void onCreate(Bundle savedInstanceState) 
      {
          super.onCreate(savedInstanceState);
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
          requestWindowFeature(Window.FEATURE_NO_TITLE);
          getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
          setContentView(R.layout.activity_main);
          //Context context=MainActivity.this;
  
  
          am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
  
          setRepeatingAlarm();
  
  
  private void setRepeatingAlarm() 
      {
  
          // TODO Auto-generated method stub
          Calendar calendar = Calendar.getInstance();
  
  
  
            calendar.set(Calendar.HOUR_OF_DAY, 1);
            calendar.set(Calendar.MINUTE, 00);
            calendar.set(Calendar.SECOND, 0);
            calendar.set(Calendar.AM_PM,Calendar.AM);
  
          Intent intent = new Intent(this, AlarmReceiver.class);
           // PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
           // intent, PendingIntent.FLAG_CANCEL_CURRENT);
          PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent,0);
           // am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),
           //  (1000 * 1000), pendingIntent);
              am.set(1, System.currentTimeMillis(),pendingIntent);
            System.out.println("Calling Alaram...");
  
      }
  </code></pre>
  
  <p>MyReceiver</p>
  
  <pre><code>public class AlarmReceiver extends BroadcastReceiver 
  
  {
      private final String SOMEACTION = "com.jocheved.alarm.ACTION";
  
      @Override
      public void onReceive(Context context, Intent intent) {
          generateNotification(context,"You have new predictions");
          String action = intent.getAction();
          if (SOMEACTION.equals(action)) {
              //do what you want here
              generateNotification(context,"You have new Predictions");
  
  
          }
      }
  
      @SuppressWarnings("deprecation")
      private void generateNotification(Context context, String message) {
            System.out.println(message+"++++++++++2");
            int icon = R.drawable.ic_launcher;
            long when = System.currentTimeMillis();
            NotificationManager notificationManager = (NotificationManager) context
              .getSystemService(Context.NOTIFICATION_SERVICE);
            Notification notification = new Notification(icon, message, when);
            String title = context.getString(R.string.app_name);
           // String subTitle = context.getString(R.string.app_name);
            String subTitle = "You have new Predictions";
            Intent notificationIntent = new Intent(context, DirectCalculation.class);
            notificationIntent.putExtra("content", message);
            PendingIntent intent = PendingIntent.getActivity(context, 0,notificationIntent, 0);
            notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
              | Intent.FLAG_ACTIVITY_SINGLE_TOP);
  
            notification.setLatestEventInfo(context, title, subTitle, intent);
            //To play the default sound with your notification:
            notification.defaults |= Notification.DEFAULT_SOUND;
            notification.flags |= Notification.FLAG_AUTO_CANCEL;
            notification.defaults |= Notification.DEFAULT_VIBRATE;
            notificationManager.notify(0, notification);
  
  
  
      }
  
  }
  </code></pre>