Android自定义闹钟功能

发布时间 - 2026-01-10 23:15:12    点击率:

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

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


# Android  # 闹钟  # Android闹钟启动时间设置无效问题的解决方法  # Android编程使用AlarmManager设置闹钟的方法  # Android编程实现闹钟的方法详解  # Android实现闹钟功能小Dome  # Android 使用AlarmManager和NotificationManager来实现闹钟和通知  # android 设置闹钟及通知示例  # Android自定义View 实现闹钟唤起播放闹钟铃声功能  # Android编程闹钟设置方法详解  # Android闹钟设置的解决方案  # Android设置闹钟相对完善的解决方案  # 两种  # 弹出  # 对话框  # 什么时候  # 给大家  # 管理器  # 一到  # 每隔  # 第二种  # 多长时间  # 第一种  # 具体内容  # 大家多多  # brush  # java  # class  # pre  # center  # protected  # Override 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速上传建站程序避免常见错误?  如何将凡科建站内容保存为本地文件?  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel如何实现文件上传和存储?(本地与S3配置)  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  个人网站制作流程图片大全,个人网站如何注销?  高防服务器租用指南:配置选择与快速部署攻略  Linux安全能力提升路径_长期防护思维说明【指导】  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  如何在云主机上快速搭建多站点网站?  黑客入侵网站服务器的常见手法有哪些?  香港服务器租用每月最低只需15元?  中国移动官方网站首页入口 中国移动官网网页登录  如何快速选择适合个人网站的云服务器配置?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  音响网站制作视频教程,隆霸音响官方网站?  linux top下的 minerd 木马清除方法  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  js实现点击每个li节点,都弹出其文本值及修改  Laravel怎么使用Intervention Image库处理图片上传和缩放  Laravel如何处理表单验证?(Requests代码示例)  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  如何在阿里云通过域名搭建网站?  详解阿里云nginx服务器多站点的配置  微信小程序 scroll-view组件实现列表页实例代码  浅谈redis在项目中的应用  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  微信小程序制作网站有哪些,微信小程序需要做网站吗?  在线制作视频网站免费,都有哪些好的动漫网站?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  如何用PHP快速搭建CMS系统?  如何快速搭建高效简练网站?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  ,在苏州找工作,上哪个网站比较好?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  网站建设要注意的标准 促进网站用户好感度!  JavaScript如何操作视频_媒体API怎么控制播放  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  如何利用DOS批处理实现定时关机操作详解  英语简历制作免费网站推荐,如何将简历翻译成英文?