Erinnerungen werden nicht zur richtigen Zeit ausgelöst, löst nur aus, wenn ich mein Gerät neu starte.Erinnerungen werden nicht zur richtigen Zeit ausgelöst
Ein Tag, als ich Reminder erstellte, am selben Tag bekam ich es zur richtigen Zeit, aber danach löst es nur aus, wenn ich mein Gerät neu starte (nicht auf der richtigen Zeit, die ich gewählt habe).
Wie, ich habe 5 verschiedene Erinnerungen geschaffen - eine tägliche auszulösen, Sekunde auf jedem 2 Tage auszulösen, die dritte an jedem dritten Tag auslösen, vierte wöchentliche und fünfte auslösen Monats auszulösen
Aber immer, wenn ich mein Gerät neu starten sie alle gleichzeitig auslösen (wie wenn ich mein Gerät um: 05: 00 neu starte, dann werden alle gleichzeitig ausgelöst), während ich erwartet habe, dass Eye Drop um 12:15 ausgelöst wird, Cyrip um 13 zu triggern: 20 an jedem 2. Tag und so weiter.
AlarmReceiver.java:
public void setRepeatAlarm(Context context, Calendar calendar, int ID, long RepeatTime) {
mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
// Put Reminder ID in Intent Extra
Intent intent = new Intent(context, AlarmReceiver.class);
intent.putExtra(ReminderEditActivity.EXTRA_REMINDER_ID, Integer.toString(ID));
mPendingIntent = PendingIntent.getBroadcast(context, ID, intent, PendingIntent.FLAG_CANCEL_CURRENT);
// Calculate notification timein
Calendar c = Calendar.getInstance();
long currentTime = c.getTimeInMillis();
long diffTime = calendar.getTimeInMillis() - currentTime;
// Start alarm using initial notification time and repeat interval time
mAlarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME,
SystemClock.elapsedRealtime() + diffTime,
RepeatTime , mPendingIntent);
// Restart alarm if device is rebooted
ComponentName receiver = new ComponentName(context, BootReceiver.class);
PackageManager pm = context.getPackageManager();
pm.setComponentEnabledSetting(receiver,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);
}
Überprüfen Sie ID, von mPendingIntent = PendingIntent.getBroadcast (Kontext, ID, Absicht, PendingIntent.FLAG_CANCEL_CURRENT); Sie könnten die anderen Alarme außer Kraft setzen und nur 1 einstellen. Wenn Sie einen älteren Alarm einstellen, sollte dies den anderen nicht stören, aber die IDs, die Sie für sie einstellen, werden – Tazz