title: Fire notification at every 24 hours and at exact time of 8 AM
body: <p>I am using <code>AlarmManager()</code> to fire notification and repeat it at every 24 hours. </p>
  
  <p>My code is on <code>onCreate()</code> in Splash Activity which fires first when anyone opens App. User can install App at anytime. So I want that when User installs App, It checks for the timing and then fires Notification at 8 AM and repeat it daily. I don't want notification when anyone opens App.</p>
  
  <p>My code is as below :</p>
  
  <pre><code>public class Splash extends Activity {
  
  final String WebsiteURL = "http://www.mytestbuddy.com";
  
  String cookie;
  
  @SuppressLint("SimpleDateFormat")
  @Override
  protected void onCreate(Bundle showSplash) {
      // TODO Auto-generated method stub
      super.onCreate(showSplash);
      setContentView(R.layout.splash);
  
      getWindow().getDecorView().setBackgroundColor(Color.WHITE);
  
      Intent myIntent = new Intent(Splash.this, AlarmReceiver.class);
  
      final PendingIntent pendingIntent = PendingIntent.getBroadcast(
              Splash.this, 0, myIntent, 0);
  
      final AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
  
      CookieSyncManager.createInstance(this);
      CookieManager cm = CookieManager.getInstance();
      cm.setAcceptCookie(true);
      CookieSyncManager.getInstance().sync();
      if (cm.getCookie("" + WebsiteURL + "") != null) {
          cookie = cm.getCookie("" + WebsiteURL + "").toString();
      } else {
          cookie = null;
      }
  
      Thread timer = new Thread() {
          public void run() {
              try {
                  sleep(5000);
              } catch (InterruptedException e) {
                  e.printStackTrace();
              } finally {
                  if (cookie == null) {
                      Intent openStartingPoint = new Intent(
                              "com.MobileWeb.mytestbuddy.Login");
                      startActivity(openStartingPoint);
                  } else if (cookie.contains("Premium")) {
  
                      Calendar firingCal = Calendar.getInstance();
                      Calendar currentCal = Calendar.getInstance();
  
                      firingCal.set(Calendar.HOUR, 10);
                      firingCal.set(Calendar.MINUTE, 30);
                      firingCal.set(Calendar.SECOND, 0);
  
                      long intendedTime = firingCal.getTimeInMillis();
                      long currentTime = currentCal.getTimeInMillis();
  
                      if (intendedTime &gt;= currentTime) {
                          alarmManager.setRepeating(AlarmManager.RTC,
                                  intendedTime, AlarmManager.INTERVAL_DAY,
                                  pendingIntent);
  
                      } else {
                          firingCal.add(Calendar.DAY_OF_MONTH, 1);
                          intendedTime = firingCal.getTimeInMillis();
  
                          alarmManager.setRepeating(AlarmManager.RTC,
                                  intendedTime, AlarmManager.INTERVAL_DAY,
                                  pendingIntent);
                      }
  
                      Intent openStartingPoint = new Intent(
                              "com.MobileWeb.mytestbuddy.PremiumMain");
                      startActivity(openStartingPoint);
                  } else {
  
                      Calendar firingCal = Calendar.getInstance();
                      Calendar currentCal = Calendar.getInstance();
  
                      firingCal.set(Calendar.HOUR, 10);
                      firingCal.set(Calendar.MINUTE, 30);
                      firingCal.set(Calendar.SECOND, 0);
  
                      long intendedTime = firingCal.getTimeInMillis();
                      long currentTime = currentCal.getTimeInMillis();
  
                      if (intendedTime &gt;= currentTime) {
                          alarmManager.setRepeating(AlarmManager.RTC,
                                  intendedTime, AlarmManager.INTERVAL_DAY,
                                  pendingIntent);
  
                      } else {
                          firingCal.add(Calendar.DAY_OF_MONTH, 1);
                          intendedTime = firingCal.getTimeInMillis();
  
                          alarmManager.setRepeating(AlarmManager.RTC,
                                  intendedTime, AlarmManager.INTERVAL_DAY,
                                  pendingIntent);
                      }
  
                      Intent openStartingPoint = new Intent(
                              "com.MobileWeb.mytestbuddy.Main");
                      startActivity(openStartingPoint);
                  }
              }
          }
      };
  
      timer.start();
  }
  </code></pre>
  
  <p>}</p>