title: android execute code only once
body: <p>i am having an application where i need to schedule an alarm for every fifteen minute this is the code </p>
  
  <pre><code>public void scheduleAlarm() {
      // Construct an intent that will execute the AlarmReceiver
      Intent intent = new Intent(getApplicationContext(), MyAlarmReceiver.class);
      // Create a PendingIntent to be triggered when the alarm goes off
      final PendingIntent pIntent = PendingIntent.getBroadcast(this, MyAlarmReceiver.REQUEST_CODE,
          intent, PendingIntent.FLAG_UPDATE_CURRENT);
      // Setup periodic alarm every 5 seconds
      long firstMillis = System.currentTimeMillis(); // alarm is set right away
      AlarmManager alarm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
      // First parameter is the type: ELAPSED_REALTIME, ELAPSED_REALTIME_WAKEUP, RTC_WAKEUP
      // Interval can be INTERVAL_FIFTEEN_MINUTES, INTERVAL_HALF_HOUR, INTERVAL_HOUR, INTERVAL_DAY
      alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP, firstMillis,
          AlarmManager.INTERVAL_HALF_HOUR, pIntent);
    }
  }
  </code></pre>
  
  <p>and i will call this method in the onCreate method of my mainActivity, my problem is i am not getting how to restrict the method being called only once since the onCreate method will be called everytime the activity is created. If i use a sharedpreference to store whether the method is called or not, what to do if the user clear the appdata from settings.</p>