waa*_*990 8 java android alarmmanager
例如,我希望有一个警报,将在中午每个星期天开火....我该怎么做?
Ale*_*dam 14
使用AlarmManager类:
http://developer.android.com/reference/android/app/AlarmManager.html
课程概述
此类提供对系统警报服务的访问.这些允许您安排应用程序在将来的某个时间运行.当警报响起时,系统会广播已为其注册的Intent,如果目标应用程序尚未运行,则会自动启动它.设备处于休眠状态时会保留已注册的警报(如果设备在此期间关闭,则可以选择将设备唤醒),但如果设备关闭并重新启动,则会清除设备.
使用public void set (int type, long triggerAtTime, PendingIntent operation)
设定的触发它的时间.
使用void setRepeating(int type, long triggerAtTime, long interval, PendingIntent operation)
调度重复报警.
这是一个完整的例子.我真的不记得所有的Calendar方法,所以我确信这部分内容可以简化,但这是一个开始,你可以在以后优化它:
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);
Run Code Online (Sandbox Code Playgroud)