How to pause and resume Android alarm?

I will sound an alarm that vibrates at regular intervals. Therefore, if I select 5 seconds, the application will vibrate every 5 seconds. But I need to stop, pause and resume the application.

This is my class:

public class AndroidAlarmService extends Activity { private PendingIntent pendingIntent; private Chronometer chronometer; private Intent myIntent; AlarmManager alarmManager; Calendar calendar; private long mTimeWhenStopped; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button buttonStart = (Button) findViewById(R.id.startalarm); Button buttonStop = (Button) findViewById(R.id.stopalarm); Button buttonPause = (Button) findViewById(R.id.pausealarm); Button buttonResume = (Button) findViewById(R.id.resumealarm); chronometer = ((Chronometer) findViewById(R.id.clock_time)); myIntent = new Intent(AndroidAlarmService.this, MyAlarmService.class); pendingIntent = PendingIntent.getService( AndroidAlarmService.this, 0, myIntent, 0); alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); calendar = Calendar.getInstance(); 

I run it in this method:

 buttonStart.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { int initialValue = 0; chronometer.setBase(SystemClock.elapsedRealtime() + initialValue); chronometer.start(); calendar.setTimeInMillis(System.currentTimeMillis()); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 5 * 1000, pendingIntent); Toast.makeText(AndroidAlarmService.this, "Start Alarm", Toast.LENGTH_LONG).show(); } }); 

This is used to pause:

  buttonPause.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { stopRunning(); mTimeWhenStopped = chronometer.getBase() - SystemClock.elapsedRealtime(); // Tell the user about what we did. Toast.makeText(AndroidAlarmService.this, "Resume!", Toast.LENGTH_LONG).show(); } }); 

I want to resume the application from the moment it started. How can i do this?

Thank you you!

+4
source share

All Articles