android基础控件(8)闹钟实现(AlarmManager+TimePicker)

本文介绍了如何在Android中使用AlarmManager结合TimePicker实现闹钟功能。用户选择时间后,AlarmManager根据所选时间设置闹钟,并通过PendingIntent在到达设定时间时启动新的活动——闹钟界面,展示一个简单的Dialog提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.1 activity_main

TimePicker控件的使用同DataPicker控件的使用类似,这里选择的是时分秒,这里我们定义一个按钮,用于设置闹钟,点击该按钮后将选择的时间设置为闹钟时间,到了时间后进入另一个活动中(闹钟界面)。这里主要介绍一下AlarmManager,它属于系统服务,通过
AlarmManager manager= (AlarmManager) getSystemService(ALARM_SERVICE);获取,获取之后通过set方法对其进行设置,该方法需要传递三个参数,第一个是闹钟类型,含义如下:

闹钟类型
AlarmManager.RTC:硬件时间,不唤醒休眠设备;当休眠时不发起闹钟。
AlarmManager.RTC_WAKEUP:硬件时间,当闹钟发射时唤醒休眠设备;
AlarmManager.ELAPSED_REALTIME:真实时间流逝,不唤醒休眠设备;当设备休眠时不发起闹钟。
AlarmManager.ELAPSED_REALTIME_WAKEUP:真实时间流逝,当闹钟发起时唤醒手机休眠;

第二个参数为闹钟第一次执行时间,毫秒为单位,这里将刚刚设置的Calendar时间传递进去,第三个参数为PendingIntent对象。PendingIntent可以看作是对Intent的一个封装,但它不是立刻执行某个行为,而是满足某些条件或触发某些事件后才执行指定的行为(启动特定Service,Activity,BrcastReceive)。这里定义的PendingIntent用于触发活动间的跳转,使其到达设置时间后跳转到闹钟页面。
在闹钟页面则是一个简单的Dialog提示,完整代码如下:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TimePicker
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:id="@+id/pick"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值