android 闹钟设置的几种方法

本文对比了使用AlarmManager和系统自带闹钟API两种方式来实现Android应用中的闹钟功能。前者能在设定的时间触发广播,但可能受系统清理的影响;后者通过系统闹钟提醒,即使应用被关闭也能工作。

android 闹钟

网上基本实现的是用AlarmManager
来说说AlarmManager吧

用它的好处是 在设定好提醒时间后 到点app会接收到触发广播
接收到广播事件后我们可以做一些处理
它的不好之处 如果不小心系统被回收了 或者点击了手机上的一键清理 你的app会被杀死再也接收到不任何广播 即使是你静态注册的广播 好像在安卓4.4后 手机都自带一键清理功能 而且我也特别喜欢用点击一键清理 感觉这样省电。

下面说说另外一种添加方法吧
我就直接给出代码

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.SECOND,10);
//setAlarm(calendar);
Intent alarmIntent = new Intent(AlarmClock.ACTION_SET_ALARM);
alarmIntent.putExtra(AlarmClock.EXTRA_MESSAGE, "提醒消息 下午去XXX开会");
alarmIntent.putExtra(AlarmClock.EXTRA_HOUR, calendar.get(Calendar.HOUR_OF_DAY));
alarmIntent.putExtra(AlarmClock.EXTRA_MINUTES, calendar.get(Calendar.MINUTE) + 1);
alarmIntent.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
alarmIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(alarmIntent);

说说他的好处吧 用这种方法添加的闹钟提醒 是系统闹钟 不依赖于app 即使是你的app被杀死了
缺点是 app不能接受到触发广播(我没有测试只是我的个人猜想 因为我不关心 我的需求只是做到备忘录的功能)

还有你也可以选择跳转到系统闹钟设置界面 让用户自己设置

Intent alarmas = new Intent(AlarmClock.ACTION_SET_ALARM);
startActivity(alarmas);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值