当前位置: 移动技术网 > IT编程>移动开发>Android > Android自定义闹钟功能

Android自定义闹钟功能

2019年07月24日  | 移动技术网IT编程  | 我要评论

陈静仪 李宗瑞,调教极品呆夫,龙淇姝

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);
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网