我想设置闹钟以在特定的一天重复它。例如每个星期一4点20分, 我创建了一个方法,但没有工作。请帮助我解决这个问题
public void setAlarm(int day,int hour,int minit){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, hour);
cal.set(Calendar.MINUTE,minit );
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
cal.set(Calendar.DAY_OF_WEEK, day);
Intent intent = new Intent(this, MyBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), 234324243, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Long alarmTime = cal.getTimeInMillis();
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime, 24 * 60 * 60 * 1000 *7, pendingIntent);
}
现在,如果我选择星期一2:40,它只会在下周一2:40发出警报,而不是每个星期一2:40工作
答案 0 :(得分:0)
您可以尝试使用setInexactRepeating。从API 19开始,所有重复警报都不准确。您可以详细参考official documents。
答案 1 :(得分:0)
使用它为我工作的setInexactRepeating函数。