Android 每天下午一点二十分触发提醒的代码示例
在Android应用中每天下午一点二十分触发提醒的代码示例
要将提醒时间设置为每天下午一点二十分,只需将以下代码中的'calendar.set(Calendar.HOUR_OF_DAY, 13);'改为'calendar.set(Calendar.HOUR_OF_DAY, 13);',并将'calendar.set(Calendar.MINUTE, 0);'改为'calendar.set(Calendar.MINUTE, 20);'即可:
// 设置每天的特定时间触发广播接收器
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 13); // 设置小时
calendar.set(Calendar.MINUTE, 20); // 设置分钟
alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, TaskReminderReceiver.class);
pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_IMMUTABLE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
这样,系统将在每天的下午一点二十分触发一次提醒。
代码解释:
Calendar.getInstance():获取当前时间。calendar.set(Calendar.HOUR_OF_DAY, 13);:将小时设置为 13 (下午 1 点)。calendar.set(Calendar.MINUTE, 20);:将分钟设置为 20 。AlarmManager:Android 系统提供的用于管理定时任务的类。alarmManager.setRepeating():设置重复触发的定时任务。AlarmManager.RTC_WAKEUP:设置定时任务在设备休眠时也能唤醒设备并触发。calendar.getTimeInMillis():获取当前时间的毫秒值。AlarmManager.INTERVAL_DAY:设置定时任务的重复间隔为一天。PendingIntent:用于将广播接收器与定时任务关联。TaskReminderReceiver:你的广播接收器类,用于处理提醒事件。
注意:
- 确保你的广播接收器已经注册到 AndroidManifest.xml 文件中。
- 在 Android 8.0 (API 级别 26) 及更高版本上,你需要使用
alarmManager.setExactAndAllowWhileIdle()或alarmManager.setExactAndAllowWhileIdle()来设置定时任务,以避免系统将定时任务推迟。 - 在 Android 9.0 (API 级别 28) 及更高版本上,你还需要为定时任务请求权限,以避免系统将定时任务推迟或完全阻止。
更多信息:
原文地址: https://www.cveoy.top/t/topic/bM1a 著作权归作者所有。请勿转载和采集!