这可能是由于您在设置闹钟时使用了系统时间而不是UTC时间所致。以下是如何使用UTC时间设置闹钟的示例代码:
// 获取UTC时间
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
// 创建Intent
Intent intent = new Intent(context, YourReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, requestCode, intent, 0);
// 获取AlarmManager
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
请注意,在此示例中,我们使用了Calendar类和TimeZone类来获取UTC时间,并使用AlarmManager.RTC_WAKEUP将闹钟设置为UTC时间。