@DefinedOne
2015-07-10T01:36:55.000000Z
字数 1794
阅读 1008
android alarm clock
| 类型 | 名称 | 说明 |
|---|---|---|
| String | alarmName | 闹钟名 |
| int | id | |
| Calendar | alarmTime | 响铃时间, |
| Day[] | days | 每周有哪几天响铃(周日、周一…周六) |
| String | alarmTonePath | 铃声文件路径 |
| Boolean | vibrate | 是否震动 |
| Difficulty | difficulty | 难度等级 |
| Boolean | alarmActive | 是否已被激活 |
其中Day和Difficulty是枚举类。
Day有其个取值,Difficulty有三个取值。
对上述的数据都有基本的set()、get()方法。
以下方法的属性:public。
| 方法 | 说明 |
|---|---|
| void schedule(Context context) | 启动这个Alarm |
| String getRepeatDaysString() | 取得‘闹钟在每周的周几重复’的字符串表达 |
| String getTimeUntilNextAlarmMessage() | 取得闹钟下一次响铃时间的字符串表达 |
public void schedule(Context context) {setAlarmActive(true);Intent myIntent = new Intent(context, AlarmAlertBroadcastReciever.class);myIntent.putExtra("alarm", this);PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, myIntent,PendingIntent.FLAG_CANCEL_CURRENT);AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);alarmManager.set(AlarmManager.RTC_WAKEUP, getAlarmTime().getTimeInMillis(),pendingIntent);}
public String getRepeatDaysString() {StringBuilder daysStringBuilder = new StringBuilder();if(getDays().length == Day.values().length){daysStringBuilder.append("Every Day");}else{Arrays.sort(getDays(), new Comparator<Day>() {@Overridepublic int compare(Day lhs, Day rhs) {return lhs.ordinal() - rhs.ordinal();}});for(Day d : getDays()){switch(d){case TUESDAY:case THURSDAY:// daysStringBuilder.append(d.toString().substring(0, 4));// break;default:daysStringBuilder.append(d.toString().substring(0, 3));break;}daysStringBuilder.append(',');}daysStringBuilder.setLength(daysStringBuilder.length()-1);}return daysStringBuilder.toString();}

感谢您花费时间阅读这篇文章,当然我更希望您有所收获!分享愉快!
作者 @DefinedOne
2015 年 03月 31日