从API 19以后,setRepeating不再准确。因此,采用了如下方法:

setWindow(int, long, long, PendingIntent)
setExact(int, long, PendingIntent)

从上面的两个方法我们可以看出,没有了repeat,就是设置了闹钟只能响一次了,而且这两种方法都可以设置精确的,第一个相对于第二种方法来说,应该是比较省电的。因为setWindow这个方法允许应用程序利用电池优化来自交货批处理即使它适度的及时性要求警报。

因此需要解决如下几个主要问题:

1.如何设置一个闹钟每天都准确提醒呢?
2.手机重启之后,设置的闹钟是否还有效?
3.应用程序被杀死之后,闹钟是否还有效?

1.如何设置一个闹钟每天都准确提醒呢?

提醒完毕可以再重新设置一次

public class AlarmReceiver extends BroadcastReceiver {private AlarmManager alarmManager;private PendingIntent operation;@Overridepublic void onReceive(Context context, Intent intent) {Log.i("test", "ProcessAlarmReceiver..........");// context.startActivity(new Intent(context, MainActivity.class)// .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));// 不能用startActivity,会导致生成无数个activityalarm(context, intent);}/*** 如何设置一个闹钟每天都准确提醒呢?提醒完毕可以再重新设置一次*/private void alarm(Context context, Intent intent) {alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);long triggerAtTime = System.currentTimeMillis();long interval = 1000 * 5;// 5soperation = PendingIntent.getBroadcast(context, 0, intent, 0);alarmManager.setWindow(AlarmManager.RTC_WAKEUP, triggerAtTime,interval, operation);}
}

2.手机重启之后,设置的闹钟是否还有效?

监听开机启动(这项功能最好在虚拟机里测试,我的华为手机貌似把这项功能给屏蔽了)

public class BootCompleteReceiver extends BroadcastReceiver {/*** 手机重启之后,设置的闹钟是否还有效?*/@Overridepublic void onReceive(Context arg0, Intent arg1) {arg0.startService(arg1);}
}

3.应用程序被杀死之后,闹钟是否还有效?

在Service的onDestroy函数中调用startService

public class AlarmService extends Service {private Intent intent;@Overridepublic IBinder onBind(Intent intent) {return null;}@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {this.intent = intent;sendBroadcast(new Intent("com.example.alarmtest.PROCESS_ALARM"));return super.onStartCommand(intent, flags, startId);}@Overridepublic void onDestroy() {super.onDestroy();/*** 应用程序被杀死之后,闹钟是否还有效?* 只要手机开机,应用程序就永久运行*/startService(intent);}
}

参考文章:http://mp.weixin.qq.com/s?__biz=MjM5NDkxMTgyNw==&mid=2653057518&idx=1&sn=5ec26db7c8a3e887845935eae77113fd&scene=4#wechat_redirect

代码地址:http://download.csdn.net/detail/lxj1137800599/9532156

Android设置闹钟相关推荐

  1. android 接收闹钟广播,android 设置闹钟及通知示例

    简单说一下这次demo内容,首先做一个设置一次性闹钟,先得到alarmManager,打开一个时间对话框,在里面设置闹钟的时间,时间一到发送广播,然后广播接受者接到跳转到新的activity播放音乐. ...

  2. Android中使用AlarmManager设置闹钟

    场景 设置闹钟 闹钟提醒 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新 ...

  3. android alarmmanager 闹钟,Android编程使用AlarmManager设置闹钟的方法

    本文实例讲述了Android编程使用AlarmManager设置闹钟的方法.分享给大家供大家参考,具体如下: package com.Aina.Android; import android.cont ...

  4. Android 使用AlarmManager设置闹钟

    1.界面 <TimePickerandroid:id="@+id/timePicker1"android:layout_width="wrap_content&qu ...

  5. Android时间触发,设置闹钟管理器Android中的时间 - 立即触发闹钟

    这里我试图通过使用AlarmManger类设置闹钟.它与我工作正常,但当我设置闹钟时间后小时或分钟时间选择器,它会立即启动时,我保存该报警.闹钟.我需要警报熄灭,直到我设定时间. 下面是我的代码正在工 ...

  6. Android5.1自定义闹钟铃声,Android 设置来电铃声、通知铃声、闹钟铃声中的坑

    最新做项目,遇到一个铃声设置的bug,一直被延期了大半年,终于忍不住了,花了大半天时间来研究问题所在.其实这个功能百度一下有很多,但大部分都是同一篇文章,我们项目里最开始就是参考的百度的代码片段来实现 ...

  7. Android 设置来电铃声、通知铃声、闹钟铃声中的坑

    最新做项目,遇到一个铃声设置的bug,一直被延期了大半年,终于忍不住了,花了大半天时间来研究问题所在.其实这个功能百度一下有很多,但大部分都是同一篇文章,我们项目里最开始就是参考的百度的代码片段来实现 ...

  8. android闹钟铃声编码,Android 设置来电铃声、通知铃声、闹钟铃声中的坑

    最新做项目,遇到一个铃声设置的bug,一直被延期了大半年,终于忍不住了,花了大半天时间来研究问题所在.其实这个功能百度一下有很多,但大部分都是同一篇文章,我们项目里最开始就是参考的百度的代码片段来实现 ...

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

    一到冬天,起床就非常的困难.然而,给自己的手机设个闹钟就不用担心早上起不来了.现如今,手机几乎人手都会有,手机软件是个非常实用的软件,除了基本提醒的功能外,更多的辅助功能在生活中被广泛应用.那手机闹钟 ...

最新文章

  1. 【心情】期待 Mr. Jack In New York!
  2. maven 下载 源码和javadoc命令
  3. python网络安全怎么学_学习网络安全包住宿
  4. Leetcode 382. 链表随机节点 解题思路及C++实现
  5. Spring boot的场景启动器
  6. 戴尔服务器t110做系统,戴尔服务器T110
  7. 能帮你找到网页设计灵感的16个网站
  8. [笔记]远传中继的实现
  9. C语言购物管理系统项目
  10. matlab计算中值 众值,基于GPS运动摄像机数据确定道路圆曲线半径及行车视距的方法与流程...
  11. 安川ga700变频器故障码集_安川变频器CPF故障码集
  12. 头脑王者源码微信答题小程序pk知识问答源码介绍
  13. Windows Redis 整理
  14. 模糊控制matlab论文,基于MATLAB的锅炉水位模糊控制系统研究( 开题报告+文献综述+论文+外文翻译 )...
  15. 消除“星期一综合症”--- 大前研一的周末时间分配术
  16. 小程序顶部标题栏的背景图片设置
  17. 域名注册查询批量筛选工具
  18. 计算机基础教学能力比赛教案,全国“XX杯”说课大赛计算机应用基础类优秀作品:Word图文混排教案...
  19. 苹果越狱后必备软件,总有你需要的!11月23日追加14个,支持【iOS4】
  20. 01组团队项目-Alpha冲刺-6/6

热门文章

  1. iframe结构的网站按F5刷新子页面的实现方式
  2. 线性规划——对偶问题的对偶问题
  3. 日撸 Java 三百行(37 天: 十字链表)
  4. Win7 驱动自动安装设置及手动更新方法
  5. Linux “ll“ 命令详解
  6. 透彻理解贝叶斯定理:先验概率、后验概率
  7. PHP 单例模式连接数据库
  8. office2007你尝试打开的文件.xls的格式与文件扩展名指定的格式不一致
  9. 使用html5plus实现文件管理功能
  10. 移动,联通,电信3G协议区别