android 检测碰撞 汇总
http://www.eoeandroid.com/thread-203518-1-1.html
Android 3D特效源码汇总
http://www.eoeandroid.com/thread-203549-1-1.html
仿Siri的中文语音助理源码
http://www.eoeandroid.com/thread-203444-1-1.html
AlarmManager的使用机制有的称呼为全局定时器,有的称呼为闹钟。通过对它的使用,个人觉得叫全局定时器比较合适,其实它的作用和Timer有点相似。都有两种相似的用法:(1)在指定时长后执行某项操作(2)周期性的执行某项操作
AlarmManager对象配合Intent使用,可以定时的开启一个Activity,发送一个BroadCast,或者开启一个Service.
下面的代码详细的介绍了两种定时方式的使用:
(1)在指定时长后执行某项操作
  //操作:发送一个广播,广播接收后Toast提示定时操作完成 Intent intent =new Intent(Main.this, alarmreceiver.class); intent.setAction("short"); PendingIntent sender= PendingIntent.getBroadcast(Main.this, 0, intent, 0); //设定一个五秒后的时间 Calendar calendar=Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.SECOND, 5); AlarmManager alarm=(AlarmManager)getSystemService(ALARM_SERVICE); alarm.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender); //或者以下面方式简化 //alarm.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+5*1000, sender);
      Toast.makeText(Main.this, "五秒后alarm开启", Toast.LENGTH_LONG).show();

注意:receiver记得在manifest.xml注册

  public static class alarmreceiver extends BroadcastReceiver{ @Overridepublic void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if(intent.getAction().equals("short")){ Toast.makeText(context, "short alarm", Toast.LENGTH_LONG).show(); }else{ Toast.makeText(context, "repeating alarm",  Toast.LENGTH_LONG).show(); } } }

(2)周期性的执行某项操作

Intent intent =new Intent(Main.this, alarmreceiver.class); intent.setAction("repeating"); PendingIntent sender=PendingIntent .getBroadcast(Main.this, 0, intent, 0); //开始时间 long firstime=SystemClock.elapsedRealtime(); AlarmManager am=(AlarmManager)getSystemService(ALARM_SERVICE); //5秒一个周期,不停的发送广播
    am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP , firstime, 5*1000, sender);

AlarmManager的setRepeating()相当于Timer的Schedule(task,delay,peroid);有点差异的地方时Timer这个方法是指定延迟多长时间以后开始周期性的执行task;AlarmManager的取消:(其中需要注意的是取消的Intent必须与启动Intent保持绝对一致才能支持取消AlarmManager)

Intent intent =new Intent(Main.this, alarmreceiver.class); intent.setAction("repeating"); PendingIntent sender=PendingIntent .getBroadcast(Main.this, 0, intent, 0); AlarmManager alarm=(AlarmManager)getSystemService(ALARM_SERVICE); alarm.cancel(sender);

转载于:https://www.cnblogs.com/vus520/archive/2012/09/27/2705202.html

Android-AlarmManager(全局定时器/闹钟)相关推荐

  1. 我的Android进阶之旅------gt;Android使用AlarmManager全局定时器实现定时更换壁纸

    该DEMO将会通过AlarmManager来周期的调用ChangeService,从而让系统实现定时更换壁纸的功能. 更换壁纸的API为android.app.WallpaperManager,它提供 ...

  2. Android---AlarmManager(全局定时器/闹钟)指定时长或以周期形式执行某项操作

    AlarmManager的使用机制有的称呼为全局定时器,有的称呼为闹钟.通过对它的使用,个人觉得叫全局定时器比较合适,其实它的作用和Timer有点相似.都有两种相似的用法:(1)在指定时长后执行某项操 ...

  3. android之AlarmManager 全局定时器

    AlarmManager实质是一个全局的定时器,是Android中常用的一种系统级别的提示服务,在指定时间或周期性启动其它组件(包括Activity,Service,BroadcastReceiver ...

  4. 我的Android进阶之旅------Android使用AlarmManager全局定时器实现定时更换壁纸

    该DEMO将会通过AlarmManager来周期的调用ChangeService,从而让系统实现定时更换壁纸的功能. 更换壁纸的API为android.app.WallpaperManager,它提供 ...

  5. android AlarmManager实现定时器

    能实现定时器的方法有好几种,而利用AlarmManager发送广播的方式实现相对来说还是很靠谱的,长期在后台运行会被系统列入高耗电APP,系统会自动停掉广播的发送,除非把APP加入系统白名单,上代码: ...

  6. android 闹钟提醒实现方法,Android开发实例之闹钟提醒

    本实例通过TimePickerDialog时间选择对话框让用户设置闹钟.并通过AlarmManager全局定时器在指定的时间启动闹钟Activity . 程序执行效果图: 实例代码: package ...

  7. Android开发实例之闹钟提醒

    本实例通过TimePickerDialog时间选择对话框让用户设置闹钟,并通过AlarmManager全局定时器在指定的时间启动闹钟Activity . 程序运行效果图: 实例代码: package ...

  8. android 闹钟锁屏页,Android AlarmManager 锁屏显示闹钟

    锁屏状态下点亮屏幕,并弹出闹钟提示信息,可以在锁屏界面上取消闹钟:使用广播接收闹钟定时: 下面是例子里的核心代码如下 android 设置定时闹钟(包括提醒一次和循环提醒): Intent inten ...

  9. Android中的定时器AlarmManager

    AlarmManager的常用方法有三个: (1)set(int type,long startTime,PendingIntent pi):         该方法用于设置一次性闹钟,第一个参数表示 ...

  10. Android中设置定时闹钟以及AlarmManager详解

    AlarmManager是提供一种访问系统闹钟服务的方式,允许你去设置在将来的某个时间点去执行你的应用程序.当你的闹钟响起(时间到)时,在它上面注册的一个意图(Intent)将会被系统以广播发出,然后 ...

最新文章

  1. “5G 消息”APP 短暂上线,它会干掉微信还是变成另一个飞信?
  2. 面试中经常出现的算法1(整理)
  3. Winform将网页生成图片
  4. ios时间相差多少天_iOS 计算某个时间到现在是多少月/天/时
  5. 【bzoj1050】[HAOI2006]旅行comf 并查集
  6. markdown公式编辑参考
  7. Java用itext工具根据模板生成PDF
  8. 医院药品管理系统java sql_医院医药管理系统的设计与实现(JSP,SQLServer)
  9. SQL 同比环比增长率计算
  10. 51单片机外部中断实例
  11. 感性电路电流计算_家用空开怎么计算?怎么选择?
  12. 如何解读Linux Kernel OOPS信息
  13. 济南推动大数据产业发展 居民生活将有新变化
  14. 软件需求分析——需求基础
  15. [已解决]关于win10计算器无法使用的问题
  16. Spring解决跨域问题方案
  17. uploadify多个文件上传,提示超过最多限制
  18. 集装箱人工智能为堆场智能化升级,自动化集装箱识别, 数字化录入杜绝出错, 全自动化一站式进出闸,智能化提箱放箱,智慧堆场无人堆场
  19. C#中Listview刷新事件的BUG
  20. JavaScript 实现页面滚动动画

热门文章

  1. 算法解读:基本的算法
  2. ASP.NET FileUpload文件上传路径问题
  3. [原创]Datagrid和Button控件
  4. 数据损坏了,怎么找回来?用超融合备份一体机啊
  5. “敏捷开发”怎么就“敏捷”了
  6. 项目按jar包方式部署
  7. Web服务及http协议_学习笔记
  8. Google I/O 2015开发者观赏指南
  9. HDU 1754 I Hate It 线段树RMQ
  10. Windows 7无线路由器解决