我正在使用日历。我使用下面的代码来设置警报。但!!!如果我尝试在星期一(Calendar.Monday)设置闹钟,则实际闹钟将在星期二设置。为什么会这样?我也尝试使用,Calendar.getInstance(Locale.getDefault())
但是没有用。
这是我为星期日设置警报的方式:
setAlarm(Calendar.SUNDAY, h, m, k, y);
我的setAlarm()方法:
public void setAlarm(int dayOfWeek, int hour, int minute, int position, int y) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, dayOfWeek);
calendar.set(Calendar.HOUR, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context,MyReceiver_Alarm.class);
Long alarmTime = calendar.getTimeInMillis();
PendingIntent pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), position , intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, alarmTime, pendingIntent);
Log.e("Point_1", "Time is " + calendar.getTime());
}
谢谢你。
0星期日1星期一2星期二
DayOfWeek从0开始,从星期日开始。因此,如果您通过2,认为它是基于1的,那么您将获得星期二。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句