闹钟在生活中最常见了,Android中可以通过AlarmManager来实现闹钟,AlarmManager类是专门用来设定在某个指定的时间去完成指定的事件。
AlarmManager
提供了访问系统警报的服务,只要在程序中设置了警报服务,AlarmManager就会通过onReceive()方法去执行这些事件,就算系统处于待机状态,同样不会影响运行。可以通过Context.getSystemService方法获得该服务。
AlarmManager中的方法很少,主要有以下几个:
cacel:取消AlarmManager服务
set:设置AlarmManager服务
setInexactRepeating:设置不精确周期
setRepeating:设置精确周期
setTimeZone:设置时区
闹钟设置
要实现闹钟,首先要创建一个继承自BroadcastRecriver的类,实现onReceive方法来接收这个Alarm服务,然后通过建立Intent和PendingIntent连接来调用Alarm组件。
运行效果
铃声设置
可以从网上下载很多自己的喜欢的铃声,并设置成我们手机默认的铃声。Android提供了RingtoneManager类专门来操作各类铃声,如来电铃声、闹钟铃声以及一些警告或通知铃声。Android自带的系统铃声都旋转在"/system/media/audio"文件夹中,而自己下载的一般都放置在SD卡里,那么就需要在SD卡下面创建如下文件夹目录:/sdcard/music/ringtones:一般的铃声(如来电铃声)/sdcard/music/alarms:闹钟铃声/sdcard/music/notifications:警告或通知铃声然后将下载的铃声按自己的需要放置到这些文件夹中。
RingtoneManager类提供的操作方法如下:
getActualDefaultRingtoneUri:取得指定类型当前默认的铃声getCursor:返回所有的可用铃声的游标getDefaultType:得到指定URI默认的铃声类型getDefualtUri:返回指定类型的默认铃声的URIgetRingtone:获取当前游标所指定的铃声getRingtonePosition:获得指定铃声的位置getRingtoneUri:获得得到指定位置铃声的URIgetValidRingtoneUri:得到一个可用铃声的URIisDefault:得到指定的URI是否是默认的铃声setActualDefaultRingtoneUri:设置默认的铃声
当选择了需要设置为铃声的音乐后,系统会调用onActivityResult方法来处理我们所进行的设置,因此需要重写onActivityResult方法,并根据设置的不同类型的铃声的来告诉系统我们的设置。
运行效果
下载链接
android闹钟设置:http://download.csdn.net/detail/yizhi_liusha/6362783
android铃声设置:http://download.csdn.net/detail/yizhi_liusha/6362811