La alarma repetida no es exacta

Hice una aplicación que tiene un selector de números que van desde 1 a 60 minutos, y lo conecté a un administrador de alarmas repetidas. Cuando lo intenté, me di cuenta de que no es exacta a veces, ya sea toma más minutos para trabajar o menos.

¿Cual podría ser el problema?

Para el botón de inicio:

startB.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (startB.isChecked()) { Calendar calSet = Calendar.getInstance(); calSet.set(Calendar.MINUTE, picker2.getValue()); calSet.set(Calendar.SECOND, 0); calSet.set(Calendar.MILLISECOND, 0); setAlarm(calSet); SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); editor.putBoolean("toggleButton", startB.isChecked()); editor.commit(); timerHasStarted = true; } else { Intent intent = new Intent(getBaseContext(), MainReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1, intent, 0); AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); alarmManager.cancel(pendingIntent); SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); editor.putBoolean("toggleButton", startB.isChecked()); editor.commit(); timerHasStarted = false; } } }); 

Para la alarma:

 private void setAlarm(Calendar targetCal ) { // TODO Auto-generated method stub Intent intent = new Intent(getBaseContext(), MainReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1, intent, 0); AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), TimeUnit.MINUTES.toMillis(picker2.getValue()), pendingIntent); } 

Receptor:

 @Override public void onReceive(Context context, Intent intent) { MediaPlayer m=MediaPlayer.create(context, R.raw.sound); m.start(); } 

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.