Android之设置闹钟

安卓开发学习笔记(11)使用AlarmManager设置闹钟(实例:设置闹钟) activity.xml 设置布局,一个时间拾取器,一个按钮 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/a... 阅读详情

闹钟是我们日常生活中常用的一种设置,那么大家有没有研究过呢!今天博主就给大家讲解一下!

要做到闹钟这个功能,我们需要使用AlarmManager这个类。我们在设置闹钟的时候,首先会弹出时间对话框,获取时间,最后设置闹钟。思路简单,代码容易,话不多说,大家直接看吧!

public class MainActivity extends AppCompatActivity {

    private AlarmManager am;
    private PendingIntent pendingIntent;
    private NotificationManager notificationManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //获取闹钟管理器
        am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        //获取通知管理器
        notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    }
    public void setAlarmOnce(View view){
        //获取当前系统时间
        Calendar calendar=Calendar.getInstance();
        int hour=calendar.get(Calendar.HOUR_OF_DAY);
        int minute=calendar.get(Calendar.MINUTE);


         //1.弹出时间对话框
        TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                Calendar c=Calendar.getInstance();
                c.set(Calendar.HOUR_OF_DAY,hourOfDay);
                c.set(Calendar.MINUTE,minute);
                //2.获取到时间      hourOfDay       minute
                //3.设置闹钟
                PendingIntent pendingIntent=PendingIntent.getBroadcast(MainActivity.this,0x101,new Intent("com.zking.administrator.g160628_android29_alarm_notification.RING"),0);
                am.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent);
            }
        },hour,minute,true);
        timePickerDialog.show();
    }
    public void setAlarmRepeat(View view){
        //获取当前系统时间
        Calendar calendar=Calendar.getInstance();
        int hour=calendar.get(Calendar.HOUR_OF_DAY);
        int minute=calendar.get(Calendar.MINUTE);

        //1.弹出时间对话框
        TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                Calendar c=Calendar.getInstance();
                c.set(Calendar.HOUR_OF_DAY,hourOfDay);
                c.set(Calendar.MINUTE,minute);
                //2.获取到时间      hourOfDay       minute
                //3.设置闹钟
                pendingIntent = PendingIntent.getBroadcast(MainActivity.this,0x102,new Intent("com.zking.administrator.RING"),0);
                am.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),5000, pendingIntent);
            }
        },hour,minute,true);
        timePickerDialog.show();
    }


    public void cancelAlarmRepeat(View view){
          am.cancel(pendingIntent);
    }


    public void send(View view){
         //实例化通知
        NotificationCompat.Builder builder=new NotificationCompat.Builder(this);
        builder.setContentTitle("提示");
        builder.setContentText("中奖啦!请先汇款到XXX账号激活");
        builder.setSmallIcon(android.R.drawable.star_on);
        builder.setDefaults(NotificationCompat.DEFAULT_ALL);
        builder.setAutoCancel(true);
//      builder.setContentIntent()
//        builder.setCustomContentView()
        Notification notification=builder.build();

        //发送通知
        notificationManager.notify(0x101,notification);
    }
}


public class RingActivity extends AppCompatActivity {

    private MediaPlayer mediaPlayer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ring);
        mediaPlayer = MediaPlayer.create(this, R.raw.c);
        mediaPlayer.start();
    }
    public void stop(View view){
        mediaPlayer.stop();
        finish();
    }
}

public class RingReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if("com.zking.administrator.g160628_android29_alarm_notification.RING".equals(intent.getAction())){
            Log.i("test","闹钟响了!!!");
            //跳转到Activity中
            Intent intent2=new Intent(context,RingActivity.class);
            intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent2);
        }
    }
}

最后大家千万不要忘记配置哦!


<activity android:name=".RingActivity"></activity>
        <receiver android:name=".RingReceiver"
            android:enabled="true"
            android:exported="true"
            >
            <intent-filter>
                <action android:name="com.administrator.RING"></action>
            </intent-filter>
        </receiver>
    </application>

银河麒麟V10 SP3下NFS客户端挂载失败?5个常见问题排查与修复 本文针对银河麒麟V10 SP3系统中NFS客户端挂载失败的常见问题,提供了5个实战排查方案。从基础服务状态检查到防火墙配置、版本兼容性、/etc/fstab设置及权限映射,详细解析了问题根源与解决方案,帮助用户快速恢复NFS文件共享功能。 阅读详情

相关推荐

AB脉冲详解(编码器,PLC,上位机)

编码器线有些是用不到的。Z脉冲:360度中,只有1度是输出,输出能力是。编码器实际就是发光二极管,所以电流超过20ma会缩短寿命或损坏。

cfqq1989的博客 1万+

告别手动复制粘贴:基于poi-tl的Word模板动态生成实战指南

本文详细介绍了基于poi-tl的Word模板动态生成技术,帮助用户告别繁琐的手动复制粘贴工作。通过实战案例和技巧分享,展示了如何利用poi-tl快速生成格式规范的Word文档,包括文本、图片和表格处理,大幅提升办公效率。特别适合需要批量生成合同、工资条等文档的企业用户。

weixin_30788239的博客 630

Java后端开发实战:手把手教你用e签宝API搞定电子合同签署(附完整代码)

本文详细解析了Java后端开发中如何通过e签宝API实现电子合同签署的全流程,包括环境配置、核心架构设计、Token管理、签署流程实现及回调处理等关键环节。通过完整的代码示例和最佳实践,帮助开发者高效集成电子签名服务,提升企业数字化转型效率。

weixin_42662293的博客 530

adb常用指令

adb常用指令

晨光如常 1264

基于STM32的智能台灯PWM调光与人体感应融合设计

本文详细介绍了基于STM32单片机的智能台灯设计方案,重点讲解了PWM调光技术与人体感应模块的融合实现。通过STM32的高级定时器产生精准PWM信号控制LED亮度,结合红外传感器实现人来灯亮、人走灯灭的智能体验,同时集成光敏传感实现环境自适应调光,打造高效节能的智能照明解决方案。

threejs5artist的博客 823

映泰TB250-BTC主板魔改BIOS支持8/9代CPU实战与开机故障排查

BIOS(基本输入输出系统)是计算机硬件与操作系统之间的桥梁,负责初始化硬件和提供运行时服务。其工作原理是通过存储在主板芯片中的固件程序,在上电自检(POST)阶段完成对CPU、内存等关键组件的检测与配置。魔改BIOS的技术价值在于突破硬件限制,通过修改微码和电源管理模块,让旧平台支持新处理器,从而以极低成本实现性能跃升,在预算有限或追求极致性价比的DIY、办公和软路由等应用场景中极具吸引力。本文以映泰TB250-BTC矿板为例,详细解析了通过软刷方式刷入魔改BIOS,并重点解决了刷写后常见的“开机风扇转一

weixin_29164185的博客 405

Android异常收集——标题上的时钟

在添加Action View 的时候实现标题上的时钟 代码hen'jian'dan

skycoop 588

RustFS vs MinIO:深入对比分布式存储的性能、功能与选型指南

RustFS与MinIO是两款热门分布式存储系统,分别针对高性能与通用场景设计。RustFS基于Rust语言,在吞吐量(最高提升46%)、延迟(降低37%)和资源效率(内存占用减少67%)上显著优于MinIO,适合AI训练、金融级应用等高性能需求。MinIO凭借成熟的S3兼容性、云原生集成和企业级功能,更适用于混合云及现有S3生态。许可方面,RustFS采用Apache 2.0,MinIO为AGPLv3。选型建议:优先RustFS应对性能敏感场景,选择MinIO注重生态兼容性,也可考虑混合架构策略。

分布式存储与RustFS的博客 2022

Android AlarmManager设置闹钟

简单来说,要在设定的时间执行具体的任务,可以用 AlarmManager 来实现。

weixin_44021334的博客 4124

从门禁到支付:Uniapp+NFC开发避坑指南(支持Mifare Classic)

本文详细介绍了Uniapp结合NFC技术开发门禁与支付系统的实战指南,特别针对Mifare Classic卡片进行深度优化。内容涵盖环境配置、设备兼容性处理、卡片安全机制解析以及高性能读写优化策略,帮助开发者快速实现跨平台的智能硬件交互解决方案。

t1u2v的博客 750

YOLO26涨点改进 | YOLO联合Mamba火热发论文改进篇 | CVPR 2025 | 引入EfficientViM 新型轻量级视觉Mamba,高效捕捉全局依赖,含二次创新、适合目标检测任务

本文提出EfficientViM,一种基于HSM-SSD的新型轻量级视觉Mamba架构,用于改进YOLO26目标检测模型。该模块通过压缩隐藏状态、多阶段特征融合和内存优化设计,在降低计算复杂度的同时提升检测精度。实验表明,EfficientViM在ImageNet-1K上实现了最佳的速度-精度平衡,相比SHViT模型性能提升0.7%且速度更快。文章详细介绍了模块原理、网络结构、核心代码实现及YOLO26集成方法,提供两种改进方案,适用于资源受限环境下的实时目标检测任务。

Ai缝合怪、助力小伙伴高效发论文 176

android第三方闹钟开发,Android获取第三方闹钟的闹铃信息

收集闹铃信息闹铃时间,闹铃备注信息闹铃引起系统变化的点:1. Send Notification (正点闹钟可以设置不发送)2. Play audio闹铃信息结构体ClockInfo{String apkName;String startTime;String backup;}SendNotificationSystemUIBaseStatusBar.java在BaseStatusBar获取闹钟发...

weixin_33138295的博客 1040

【2026年华为暑期实习(AI)-6月3日-第一题- 选择题】(题目+思路+Java&C++&Python解析+在线测试)

本文摘要: 本文探讨了深度学习与计算机科学中的多个关键概念和技术,包括CUDA双缓冲技术、神经网络训练问题、优化算法、概率模型、Transformer架构特性、量化技术、损失函数选择等。通过20道选择题和多项选择题,涵盖了梯度消失/爆炸、神经元死亡、牛顿迭代法、朴素贝叶斯分类、Adam优化器、KV Cache压缩等核心知识点。特别关注了大模型训练中的计算效率、数值稳定性问题,以及实际应用场景如客服Agent的记忆机制优化。题目设计既考察基础理论(如概率分布、指数分布特性),又结合前沿技术(如MoE架构、注意

m0_73659489的博客 81

android手机闹钟在那里面,手机闹钟软件哪个好用 安卓手机怎么设置闹钟

一到冬天,起床就非常的困难。然而,给自己的手机设个闹钟就不用担心早上起不来了。现如今,手机几乎人手都会有,手机软件是个非常实用的软件,除了基本提醒的功能外,更多的辅助功能在生活中被广泛应用。那手机闹钟软件哪个好用?安卓的手机怎么设置闹钟呢?下面小编为你推荐几款。 1、手机闹钟软件哪个好用a、点心闹钟这是一款智能、贴心的手机闹钟软件,它懂得何时该响何时沉默。所有工作日准时响铃,合理规划您的作息。即使...

weixin_29171129的博客 1012

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

安卓设置系统闹钟

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(Calenda.

qq_45896193的博客 1303

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 闹钟设置铃声,安卓手机闹钟设置音乐铃声的方法

手机闹钟怎么设置音乐铃声?手机上的很多功能对我们大家都是非常有用的,就比如说一个闹钟功能吧,设置启用它后就可以设置时间准时提醒我们起床、或者睡觉;设置闹钟以后就会需要设置一个提醒方式,而很多用户表示喜欢设置音乐提醒方式,但是又不知道怎么去进行设置;为此河东软件园小编带来了设置闹钟铃声为音乐提醒的方法,如果有兴趣的朋友就请来看看吧。方法步骤:1、首先需要我们点击打开手机上的“时钟”功能,然后进入以后...

weixin_34561373的博客 8400

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

安卓手机APP开发___设置闹钟

闹钟(基于 AlarmManager 类)为您提供了一种在应用生命周期之外 执行基于时间的操作的方法。例如,您可以使用闹钟启动长时间运行 的操作,如每天启动一次服务以下载天气预报。

红孩儿编程大师 3306

android 闹钟设置

写代码挺费时间的,懒得写,我就说说思路,你建一个类继承子BroadcastReceiver,复写onReceive方法,在里面写监听系统时间的代码用于跟你闹钟设置时间进行匹配,当匹配上时,创建MediaPlayer对象,播放你要播放的音乐,音乐文件可以放在Res/raw目录下,也可是在SD卡中,使用不同的方法即可。设闹钟的Activity找找例子,写出来应该不难。     在Androi

liujianminghero的专栏 4902

Android 设置铃声和闹钟

如果你此时使用的是网上大多数的 MediaScannerConnection.scanFile() 方法,大概率是不会成功的。更新媒体库使用的是 ContentValues 以前文章写过下载视频到本地,都是一样的,只不过参数不同。这里的uri同闹钟一样,需要更新到媒体库才可以设置。其中 mDownFile 就是我下载到本地的文件。同闹钟一样,首先需要动态获取权限。

As_thin的博客 1600

Android 闹钟设置最新版

Android 闹钟设置各种坑 直接给个工具类用吧 public class AlarmManagerUtil { // 起床铃 public static final String ALARM_ACTION_RING = "com.lskj.alarm.ring"; /** * 重新设置下次响铃时间 * * @param context...

dandan1106的博客 1466

android 闹钟取消,android设置和取消闹钟

【实例简介】android设置和取消闹钟,有详细注释,可运行。【实例截图】【核心代码】TextDemo5└── TextDemo5├── AndroidManifest.xml├── bin│ ├── AndroidManifest.xml│ ├── classes│ │ └── com│ │ └── example│ │ └── textd...

weixin_33469623的博客 1141

Android 通过AlarmClock设置系统闹钟

设置系统闹钟模块 当应用进程被kill,或是手机关机的时候,用户在应用中设置的提醒往往无法及时触达用户,会被用户质疑没有起到作用。 那么能够往系统闹钟应用中设置闹钟,就能够保证提醒的及时性。 由于系统闹钟是系统应用,只能设置闹钟的小时和分钟,铃声以及是否震动;需要通过系统提供的接口进行闹钟设置、取消、闹钟列表。预研之后发现这几个接口都有版本的兼容性问题: 1)设置闹钟的接口在android系统4....

kanye的博客 1万+

uni-app设置安卓系统闹钟

setAlarm(hour,minutes,message) { var that = this; var Intent = plus.android.importClass('android.content.Intent'); var AlarmClock = plus.android.importClass("android.provider.AlarmClock"); var intent = new Intent(AlarmClock.ACTION_SET_ALARM); /.

weixin_39763711的博客 5571

Android 闹钟选择铃声,怎么设置闹钟铃声为自己喜欢的音乐

以OPPO手机为例,设置闹钟铃声为自己喜欢的音乐的方法是:1、打开闹钟后点击一个闹钟或者新建一个闹钟。2、选择铃声。3、点击从文件中选择。4、选择喜欢的音乐即可。安卓闹钟是一款安卓原生态手机闹钟软件,时钟界面与功能都非常简洁,能够满足日常需求,也可以链接智能手表同步,目前只支持安卓4.4以上系统。安卓闹钟的界面简洁、轻巧、使用,其中包括闹钟、秒表、打盹以及计时,足以满足日常使用。早起闹铃:按照你设...

weixin_36054458的博客 3120

Android闹钟设置的解决方案

Android设置闹钟并不像IOS那样这么简单,做过Android设置闹钟的开发者都知道里面的坑有多深。下面记录一下,我解决Android闹钟设置的解决方案。 主要问题 API19开始AlarmManager的机制修改。 应用程序被Kill掉后,设置的闹钟不响。 6.0以上进入Doze模式会使JobScheduler停止工作。 手机设置重启后,闹钟失效问题。 API19以上AlarmManager机

Hanwen 2368

android设置闹钟组件,Android 设置系统闹钟

1、创建闹钟和倒计时必须的权限:< uses-permission android:name=”com.android.alarm.permission.SET_ALARM” />闹钟:如果我们借助AlarmManager开发一个用药提醒的APP,一旦APP进程被用户干掉后,就没法提醒了,这时我们就只能借助系统闹钟来曲线救国了。private void createAlarm(Stri...

weixin_29185167的博客 1540
上一篇: Android之拍照
下一篇: Android之XML解析(Pull)
TastyS
博客等级 码龄10年 36粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值