Alarm manager triggered immediately

alarmmanager, android

Solution

You are using an alarm type of `ELAPSED_REALTIME_WAKEUP`. That means that the second parameter to `set()` must be the number of milliseconds from now, where now is expressed as `SystemClock.elapsedRealtime()`.

If your goal is to have this occur 10000 milliseconds from the time you make the `set()` call, that `set()` call should be:

alarmManager.set(alarmType, SystemClock.elapsedRealtime()+timeOrLengthofWait, alarmIntent);

Problem

Hi I am currently working with AlarmManager. I have written a code given below. As per code the AlarmManager should be triggered after 10 Sec, but here in my code the alarm manager triggers immediately. Please help. ``` public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); int alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP; long timeOrLengthofWait = 10000; Intent intentToFire = new Intent(this, AlarmReciever.class); PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intentToFire, 0); alarmManager.set(alarmType, timeOrLengthofWait, alarmIntent); } } ``` And My AlarmReciever Class ``` public class AlarmReciever extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String phoneNumberReciever="5556"; String message="Alarm Triggered"; SmsManager sms = SmsManager.getDefault(); sms.sendTextMessage(phoneNumberReciever, null, message, null, null); Toast.makeText(context," A message has been sent", Toast.LENGTH_LONG).show(); Log.d("Alarm ", "Alarm Has been triggered and sms send"); } } ``` I have Already added required permissions in manifest.

Original source