start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Calendar calendar = Calendar.getInstance();//Calendar是添加Java库里面的import java.util.Calendar; //获取系统时间 int oldhour = calendar.get(Calendar.HOUR_OF_DAY);//时区不同,获取的时间相差八个小时,但有时候时间又会相同,还没搞懂,可能是时区的原因,如果出错了就在hour后面加个8就行了 int oldminute = calendar.get(Calendar.MINUTE); //这两个是自己设置的闹钟时间 int minute=oldminute; int hour=oldhour+2; if(minute>=60){ hour++; minute=minute-60; } if(hour>=24){//我用的手机hour大于24是设置不了闹钟的 hour=hour-24; } Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM); intent.putExtra(AlarmClock.EXTRA_ALARM_SEARCH_MODE, AlarmClock.ALARM_SEARCH_MODE_LABEL); //下面设置闹钟时间putextra我用的是第二个参数是int的那个,用string的那个我的会不起作用,就算转换为string类型也不行 intent.putExtra(AlarmClock.EXTRA_HOUR,hour); intent.putExtra(AlarmClock.EXTRA_MINUTES,minute); intent.putExtra(AlarmClock.EXTRA_SKIP_UI, true); Intent newintent = intent.putExtra(AlarmClock.EXTRA_VIBRATE, true);//没有这一句会报错,是系统要求添加这一句 startActivity(newintent); } });
最后添加闹钟权限就可以了
如果要设置多个闹钟的话,设置多个按钮,再把上面的复制一下然后改下时间就可以了