@Nikolarsen

Как установить alarm несколько раз ( динамически )?

Есть активити с таким кодом...
@Override
	protected void onStart(){
		super.onStart();
	}
	
	public void onetimeTimer(View view){
		
		openTimePickerDialog(true);
	
	}
	
	private void openTimePickerDialog(boolean is24r){
		Calendar calendar = Calendar.getInstance();

		  timePickerDialog = new TimePickerDialog(
			ConfigActivity.this, 
			onTimeSetListener, 
			calendar.get(Calendar.HOUR_OF_DAY), 
			calendar.get(Calendar.MINUTE), 
			is24r);
		timePickerDialog.setTitle("Set Alarm Time");  

		timePickerDialog.show();

	}

    OnTimeSetListener onTimeSetListener
    = new OnTimeSetListener(){

		@Override
		public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

			Calendar calNow = Calendar.getInstance();
			Calendar calSet = (Calendar) calNow.clone();

			calSet.set(Calendar.HOUR_OF_DAY, hourOfDay);
			calSet.set(Calendar.MINUTE, minute);
			calSet.set(Calendar.SECOND, 0);
			calSet.set(Calendar.MILLISECOND, 0);

			if(calSet.compareTo(calNow) <= 0){
				//Today Set time passed, count to tomorrow
				calSet.add(Calendar.DATE, 1);
			}

			setAlarm(calSet);
		}};

	private void setAlarm(Calendar targetCal){

	
		Intent intent = new Intent(getBaseContext(), AlarmManagerBroadcastReceiver.class);
		PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1 , intent, 0);
		AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
		//alarmManager.cancel(pendingIntent);
		alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), pendingIntent);

	}

Будильник устанавливается один раз. То есть ставлю на 9:00 а потом ещё раз на 10:30 например. Срабатывает только последний. Нужно чтобы оба работали... Как добиться такого результата?
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
@onepavel
Консультация и разработка мобильных приложений
подобный вопрос уже задавали на so

You need to use different Broadcast id's for the pending intents

https://stackoverflow.com/questions/8469705/how-to...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы