0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

定时器刷新详解(程序介绍)

定时器电路图 来源:电子发烧友整理 2018-01-26 16:09 次阅读

本文为大家介绍定时器刷新的详细程序。

1、定时刷新 只刷新一次

首先要发送一个广播 PendingTintent.getBroadcast()就类似于一个sendBroadcast

里面有四个参数 第一个就是context 第二个参数是个发送端的私人参数,起区分作用 第三个intent 第四个 flags参数可以指定PendingIntent的一些行为特点,是用来针对Intent.fillIn() ,这里面没有用到0即可。

PendingTintent 核心就是异步激发 有兴趣的可以看

PnedingTingtent详解

am.set()方法用来激发,第一个参数是闹钟的类型 就不赘述了 第二个就是开始时间()

这个参数的类型要根据前一个闹钟的类型来的 , RTC_WAKEUP RTC POWER_OFF_WAKEUP使用的绝对时间,其他的类型就是相对时间 ,相对时间就是相对于开机时运行的时间,绝对时间就是当前的时间。

public static void sendUpdateBroadcast(Context context,long time){

AlarmManager am = context.getSystemService(Context.ALARM_SERVICE);

Intent i = new Intent(conext, UpdateReceiver.class);

i.putExtra(“time”, time);//time参数是刷新间隔

PendingIntent pendingIntent = PendingIntent.getBroadcast(contexxt, 0, i, 0);

//我这个是系统现在时间加上time时间进行刷新

am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + time, pendingIntent);

}

然后需要自定义一个接受器刷新的动作在这里面执行

public static class UpdateReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

long times=intent.getLongExtra(“time”,0);

Toast.makeText(context, “开始刷新”+intent.getLongExtra(“time”,0), Toast.LENGTH_SHORT).show();

}

}

2、定时刷新 根据间隔时间一直刷新

类似于闹钟

am.setRepeating ()第二个参数就是第一次刷新时间 (如果时间已经过了,会马上响应一次),第三个就是间隔时间 。注意此广播非覆盖的 如若要改变刷新时间一定要先取消此广播

public static void sendBroadcastRepeat(Context ctx,int hour,int minuter){

Intent intent =new Intent(ctx, RepeatReceiver.class);

intent.putExtra(“hour”,hour);

intent.putExtra(“minuter”,minuter);

PendingIntent pendingIntent = PendingIntent.getBroadcast(ctx,0, intent, 0);

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.HOUR_OF_DAY, hour);

calendar.set(Calendar.MINUTE, minuter);

calendar.set(Calendar.SECOND, 00);

calendar.set(Calendar.MILLISECOND, 0);

AlarmManager am = getAlaramManager(ctx);

am.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(), 1000 * 60 * 60 * 24, pendingIntent);

}

同样也要写一个接收器

public static class RepeatReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

Toast.makeText(context, “定时刷新”, Toast.LENGTH_SHORT).show();

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 定时器
    +关注

    关注

    23

    文章

    3246

    浏览量

    114739
  • 程序
    +关注

    关注

    117

    文章

    3785

    浏览量

    81008
收藏 人收藏

    评论

    相关推荐

    介绍通过STM32的定时器输出PWM

    的文章《STM32基础定时器详解》,关于定时器的基础功能不再详解。01、PWM介绍PWM定义:脉冲宽度调制(PulseWidthModula
    发表于 08-04 08:21

    STM32定时器详解

    定时器详解时钟源计数定时器周期计算定时器初始化结构体详解
    发表于 08-18 06:17

    STM32定时器程序

    STM32 定时器程序,很好的学习资料,快来下载吧
    发表于 02-15 17:08 31次下载

    TCP的定时器

    TCP-IP详解卷2 TCP的定时器,学习TCP很好的资料。欢迎下载。
    发表于 05-09 14:33 0次下载

    stm32定时器中断程序

    STM32的定时器是个强大的模块,定时器使用的频率也是很高的,定时器可以做一些基本的定时,还可以做PWM输出或者输入捕获功能。 以下是进行stm32
    发表于 10-12 16:59 1.3w次阅读

    555定时器产生方波原理(四款555定时器产生方波的电路详解

    本文主要介绍了555定时器产生方波原理(五款555定时器产生方波的电路详解)。555定时器的功能主要由两个比较
    发表于 01-22 09:07 36w次阅读
    555<b class='flag-5'>定时器</b>产生方波原理(四款555<b class='flag-5'>定时器</b>产生方波的电路<b class='flag-5'>详解</b>)

    PHP定时器实现每隔几秒运行一次方法详解

    本文为大家介绍PHP定时器实现每隔几秒运行一次方法详解
    发表于 01-28 09:35 1.6w次阅读
    PHP<b class='flag-5'>定时器</b>实现每隔几秒运行一次方法<b class='flag-5'>详解</b>

    PIC32系列参考手册之看门狗定时器程序监控定时器和上电延时定时器

    本文主要介绍了PIC32系列参考手册之看门狗定时器程序监控定时器和上电延时定时器
    发表于 06-06 17:29 15次下载

    20秒定时器定时程序资料免费下载

    本文档的主要内容详细介绍的是20秒定时器定时程序资料免费下载。
    发表于 02-23 08:00 4次下载
    20秒<b class='flag-5'>定时器</b>的<b class='flag-5'>定时</b><b class='flag-5'>程序</b>资料免费下载

    定时器中断程序资料合集免费下载

    本文档的主要内容详细介绍的是定时器中断程序资料合集免费下载。
    发表于 05-16 08:00 1次下载
    <b class='flag-5'>定时器</b>中断<b class='flag-5'>程序</b>资料合集免费下载

    如何通过STM32的定时器输出PWM?

      本文将介绍通过STM32的定时器输出PWM,如果对定时器不太熟悉的同学可以看下之前的文章《STM32基础定时器详解》,关于
    的头像 发表于 02-20 15:08 2.2w次阅读
    如何通过STM32的<b class='flag-5'>定时器</b>输出PWM?

    52单片机——定时器2详解

    文章目录前言一、定时器2简述1.定时器2的作用2.定时器和计数的区别二、定时器2功能详解1.捕
    发表于 11-11 12:51 19次下载
    52单片机——<b class='flag-5'>定时器</b>2<b class='flag-5'>详解</b>

    STM32定时器-基本定时器

    目录定时器分类基本定时器功能框图讲解基本定时器功能时钟源计数时钟计数自动重装载寄存
    发表于 11-23 18:21 31次下载
    STM32<b class='flag-5'>定时器</b>-基本<b class='flag-5'>定时器</b>

    555定时器及应用介绍

    555定时器及应用介绍
    的头像 发表于 04-12 09:14 1609次阅读

    定时器中断程序怎么写

    定时器中断程序怎么写  在嵌入式系统中,定时器被广泛应用于各种任务。它们在实时系统中可用于轮询,计时等任务。定时器可以被配置为周期性定时器
    的头像 发表于 09-01 10:17 1954次阅读