Android自定义闹钟功能
程序员文章站
2023-12-16 10:32:10
android闹钟alarmmanager+pendingintent的使用方法,供大家参考,具体内容如下
这次给大家分享两种闹钟:
第一种是当到达闹钟时间后执行一...
android闹钟alarmmanager+pendingintent的使用方法,供大家参考,具体内容如下
这次给大家分享两种闹钟:
第一种是当到达闹钟时间后执行一次相应的操作
alarmmanager.set(alarmmanager.rtc_wakeup,c.gettimeinmillis(),pendingintent);
第二种是当到达闹钟时间后每隔一段时间执行操作
alarmmanager.setrepeating(alarmmanager.rtc_wakeup,c.gettimeinmillis(),5000, pendingintent);
下面看效果图:
设置两种闹钟
选择闹钟时间
闹钟一到打开一个界面
下面看代码:
public class alarm2activity extends appcompatactivity { private alarmmanager alarmmanager; private pendingintent pendingintent; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_alarm2); //实例化闹钟个管理器 alarmmanager = (alarmmanager) getsystemservice(context.alarm_service); } //设置闹钟(只响一次) public void startalarmone(view view){ //获取当前系统的时间 calendar calendar=calendar.getinstance(); int hour=calendar.get(calendar.hour_of_day); int minute=calendar.get(calendar.minute); //弹出时间对话框(选择时间) timepickerdialog timepickerdialog=new timepickerdialog(this, new timepickerdialog.ontimesetlistener() { @override public void ontimeset(timepicker timepicker, int i, int i1) { //获取当前系统的时间 calendar c=calendar.getinstance(); c.set(calendar.hour_of_day,i); c.set(calendar.minute,i1); //打开一个activity intent intent=new intent(); intent.setaction("com.example.myandroid_27.alarm"); pendingintent pendingintent= pendingintent.getbroadcast(alarm2activity.this,0x101,intent,0); //设置闹钟 alarmmanager.set(alarmmanager.rtc_wakeup,c.gettimeinmillis(),pendingintent); } },hour,minute,true); timepickerdialog.show(); } //设置闹钟(在多长时间后闹钟响然后继续计时) public void startalarmtwo(view view){ //获取当前系统的时间 calendar calendar=calendar.getinstance(); int h=calendar.get(calendar.hour_of_day); int m=calendar.get(calendar.minute); //弹出时间对话框(选择时间) timepickerdialog timepickerdialog=new timepickerdialog(this, new timepickerdialog.ontimesetlistener() { @override public void ontimeset(timepicker timepicker, int i, int i1) { //获取选择的闹钟时间 calendar c=calendar.getinstance(); c.set(calendar.hour_of_day,i); c.set(calendar.minute,i1); //打开一个activity intent intent=new intent(); intent.setaction("com.example.myandroid_27.alarm"); pendingintent = pendingintent.getbroadcast(alarm2activity.this,0x102,intent,0); //闹钟什么时候继续执行 alarmmanager.setrepeating(alarmmanager.rtc_wakeup,c.gettimeinmillis(),5000, pendingintent); } },h,m,true); timepickerdialog.show(); } //关闭周期闹钟 public void startalarmthree(view view){ alarmmanager.cancel(pendingintent); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。