Ich machte einen Kalender Toast in bestimmter Zeit jeden Tag um 20:00 Uhr zeigen aber die App Show starten den Dienst und zeigen den Toast zu unterschiedlichen Zeiten. wieStarten eines Dienstes zu einer bestimmten Zeit jeden Tag
8:00 pm
8:23 pm
8:30 pm
8:32 pm
8:50 pm
und hört nicht auf den Toast zeigt
was falsch ist?
das ist mein Mainactivity.java Code
Intent alarmIntent = new Intent(MainActivity.this, MyService.class);
pendingIntent = PendingIntent.getService(MainActivity.this, 0, alarmIntent, 0);
setAlarm();
}
private void setAlarm() {
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
/* Set the alarm to start at 8.00 PM */
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 20);
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 00);
//Add a day if alarm is set for before current time, so the alarm is triggered the next day
if (calendar.before(Calendar.getInstance())) {
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
manager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS), pendingIntent);
}}
mein api Level 23 ist zu planen. können Sie meine Mainactivity.java bearbeiten, um zu verstehen, bitte – user7216286
Das Zitat oben sagt, dass API 19 und höher (das 23 enthält) wird Ihren wiederholenden Alarm als ungenau setzen. Ich werde die Antwort mit etwas mehr Erklärung aktualisieren – elmorabea