Java 在android中,如何设置报警管理器,使其在一周中的每一天和每一个特定时间启动?
例如,我想有一个闹钟,每个星期天中午都会响。。。。如何执行此操作?使用AlarmManager类: 课程概述 此类提供对 系统报警服务。这些允许你 计划要运行的应用程序 在将来的某个时候。当 警报响起,原来的意图 已注册,由 系统,自动启动 目标应用程序(如果不是) 已经在运行了。已登记的警报为 在设备处于睡眠状态时保留 (并且可以选择唤醒设备 如果他们在这段时间内爆炸),但是 如果将其关闭,将被清除 然后重新启动 使用Java 在android中,如何设置报警管理器,使其在一周中的每一天和每一个特定时间启动?,java,android,alarmmanager,Java,Android,Alarmmanager,例如,我想有一个闹钟,每个星期天中午都会响。。。。如何执行此操作?使用AlarmManager类: 课程概述 此类提供对 系统报警服务。这些允许你 计划要运行的应用程序 在将来的某个时候。当 警报响起,原来的意图 已注册,由 系统,自动启动 目标应用程序(如果不是) 已经在运行了。已登记的警报为 在设备处于睡眠状态时保留 (并且可以选择唤醒设备 如果他们在这段时间内爆炸),但是 如果将其关闭,将被清除 然后重新启动 使用public void set(int-type、long-trigger
public void set(int-type、long-triggeratitime、pendingent操作)
设置触发时间
使用void setRepeating(int类型、长触发时间、长间隔、挂起事件操作)
计划重复报警
这里有一个完整的例子。我真的不记得所有的日历方法,所以我相信这部分可以简化,但这只是一个开始,您可以在以后对其进行优化:
AlarmManager alarm = (AlarmMAnager) Context.getSystemService(Context.ALARM_SERVICE);
Calendar timeOff = Calendar.getInstance();
int days = Calendar.SUNDAY + (7 - timeOff.get(Calendar.DAY_OF_WEEK)); // how many days until Sunday
timeOff.add(Calendar.DATE, days);
timeOff.set(Calendar.HOUR, 12);
timeOff.set(Calendar.MINUTE, 0);
timeOff.set(Calendar.SECOND, 0);
alarm.set(AlarmManager.RTC_WAKEUP, timeOff.getTimeInMillis(), yourOperation);
最后,如果设置为(sun、tus、fri),则必须为这三天创建三个警报 以下代码设置每周日报警,并发送dayOfWeek=1
public void setAlarm_sun(int dayOfWeek) {
cal1.set(Calendar.DAY_OF_WEEK, dayOfWeek);
Toast.makeText(getApplicationContext(), "sun "+cal1.get(Calendar.DAY_OF_WEEK), 222).show();
Toast.makeText(getApplicationContext(), "Finsh", 222).show();
Intent intent = new Intent(this, SecActivity.class);
PendingIntent pendingIntent0 = PendingIntent.getBroadcast(this, 0,
intent, 0);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 12345,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
Long alarmTime = cal1.getTimeInMillis();
AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE);
// am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime,7* 24 * 60 * 60 * 1000 , pendingIntent);
am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime,7* 24 * 60 * 60 * 1000 , pendingIntent);
}
我想知道一些非常相似的事情。有没有办法每30分钟到一小时举办一次活动?也许找个老太婆的工作?只是想知道安卓能为这个问题提供什么。谢谢,我知道我需要上一节课,只是不知道如何让它在每个星期天的指定时间重复time@will我更新了答案。它是同一AlarmManager api的一部分。基本上,你用一周的时间间隔(604800000毫秒)好吧,那么我怎么才能得到周日呢,尽管我对此有点困惑