0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

定時(shí)器刷新詳解(程序介紹)

定時(shí)器電路圖 ? 來源:電子發(fā)燒友整理 ? 2018-01-26 16:09 ? 次閱讀

本文為大家介紹定時(shí)器刷新的詳細(xì)程序。

1、定時(shí)刷新 只刷新一次

首先要發(fā)送一個(gè)廣播 PendingTintent.getBroadcast()就類似于一個(gè)sendBroadcast

里面有四個(gè)參數(shù) 第一個(gè)就是context 第二個(gè)參數(shù)是個(gè)發(fā)送端的私人參數(shù),起區(qū)分作用 第三個(gè)intent 第四個(gè) flags參數(shù)可以指定PendingIntent的一些行為特點(diǎn),是用來針對Intent.fillIn() ,這里面沒有用到0即可。

PendingTintent 核心就是異步激發(fā) 有興趣的可以看

PnedingTingtent詳解

am.set()方法用來激發(fā),第一個(gè)參數(shù)是鬧鐘的類型 就不贅述了 第二個(gè)就是開始時(shí)間()

這個(gè)參數(shù)的類型要根據(jù)前一個(gè)鬧鐘的類型來的 , RTC_WAKEUP RTC POWER_OFF_WAKEUP使用的絕對時(shí)間,其他的類型就是相對時(shí)間 ,相對時(shí)間就是相對于開機(jī)時(shí)運(yùn)行的時(shí)間,絕對時(shí)間就是當(dāng)前的時(shí)間。

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參數(shù)是刷新間隔

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

//我這個(gè)是系統(tǒng)現(xiàn)在時(shí)間加上time時(shí)間進(jìn)行刷新

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

}

然后需要自定義一個(gè)接受器刷新的動(dòng)作在這里面執(zhí)行

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、定時(shí)刷新 根據(jù)間隔時(shí)間一直刷新

類似于鬧鐘

am.setRepeating ()第二個(gè)參數(shù)就是第一次刷新時(shí)間 (如果時(shí)間已經(jīng)過了,會(huì)馬上響應(yīng)一次),第三個(gè)就是間隔時(shí)間 。注意此廣播非覆蓋的 如若要改變刷新時(shí)間一定要先取消此廣播

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);

}

同樣也要寫一個(gè)接收器

public static class RepeatReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

Toast.makeText(context, “定時(shí)刷新”, Toast.LENGTH_SHORT).show();

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3218

    瀏覽量

    113665
  • 程序
    +關(guān)注

    關(guān)注

    115

    文章

    3719

    瀏覽量

    80355
收藏 人收藏

    評論

    相關(guān)推薦

    介紹通過STM32的定時(shí)器輸出PWM

    的文章《STM32基礎(chǔ)定時(shí)器詳解》,關(guān)于定時(shí)器的基礎(chǔ)功能不再詳解。01、PWM介紹PWM定義:脈沖寬度調(diào)制(PulseWidthModula
    發(fā)表于 08-04 08:21

    STM32定時(shí)器詳解

    定時(shí)器詳解時(shí)鐘源計(jì)數(shù)定時(shí)器周期計(jì)算定時(shí)器初始化結(jié)構(gòu)體詳解
    發(fā)表于 08-18 06:17

    STM32定時(shí)器程序

    STM32 定時(shí)器程序,很好的學(xué)習(xí)資料,快來下載吧
    發(fā)表于 02-15 17:08 ?31次下載

    TCP的定時(shí)器

    TCP-IP詳解卷2 TCP的定時(shí)器,學(xué)習(xí)TCP很好的資料。歡迎下載。
    發(fā)表于 05-09 14:33 ?0次下載

    stm32定時(shí)器中斷程序

    STM32的定時(shí)器是個(gè)強(qiáng)大的模塊,定時(shí)器使用的頻率也是很高的,定時(shí)器可以做一些基本的定時(shí),還可以做PWM輸出或者輸入捕獲功能。 以下是進(jìn)行stm32
    發(fā)表于 10-12 16:59 ?1.3w次閱讀

    555定時(shí)器產(chǎn)生方波原理(四款555定時(shí)器產(chǎn)生方波的電路詳解

    本文主要介紹了555定時(shí)器產(chǎn)生方波原理(五款555定時(shí)器產(chǎn)生方波的電路詳解)。555定時(shí)器的功能主要由兩個(gè)比較
    發(fā)表于 01-22 09:07 ?35.9w次閱讀
    555<b class='flag-5'>定時(shí)器</b>產(chǎn)生方波原理(四款555<b class='flag-5'>定時(shí)器</b>產(chǎn)生方波的電路<b class='flag-5'>詳解</b>)

    PHP定時(shí)器實(shí)現(xiàn)每隔幾秒運(yùn)行一次方法詳解

    本文為大家介紹PHP定時(shí)器實(shí)現(xiàn)每隔幾秒運(yùn)行一次方法詳解。
    發(fā)表于 01-28 09:35 ?1.6w次閱讀
    PHP<b class='flag-5'>定時(shí)器</b>實(shí)現(xiàn)每隔幾秒運(yùn)行一次方法<b class='flag-5'>詳解</b>

    PIC32系列參考手冊之看門狗定時(shí)器、程序監(jiān)控定時(shí)器和上電延時(shí)定時(shí)器

    本文主要介紹了PIC32系列參考手冊之看門狗定時(shí)器、程序監(jiān)控定時(shí)器和上電延時(shí)定時(shí)器。
    發(fā)表于 06-06 17:29 ?15次下載

    20秒定時(shí)器定時(shí)程序資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是20秒定時(shí)器定時(shí)程序資料免費(fèi)下載。
    發(fā)表于 02-23 08:00 ?4次下載
    20秒<b class='flag-5'>定時(shí)器</b>的<b class='flag-5'>定時(shí)</b><b class='flag-5'>程序</b>資料免費(fèi)下載

    定時(shí)器計(jì)算的應(yīng)用程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是定時(shí)器計(jì)算的應(yīng)用程序免費(fèi)下載。
    發(fā)表于 04-24 16:41 ?10次下載
    <b class='flag-5'>定時(shí)器</b>計(jì)算<b class='flag-5'>器</b>的應(yīng)用<b class='flag-5'>程序</b>免費(fèi)下載

    定時(shí)器中斷程序資料合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是定時(shí)器中斷程序資料合集免費(fèi)下載。
    發(fā)表于 05-16 08:00 ?1次下載
    <b class='flag-5'>定時(shí)器</b>中斷<b class='flag-5'>程序</b>資料合集免費(fèi)下載

    52單片機(jī)——定時(shí)器2詳解

    文章目錄前言一、定時(shí)器2簡述1.定時(shí)器2的作用2.定時(shí)器和計(jì)數(shù)的區(qū)別二、定時(shí)器2功能詳解1.捕
    發(fā)表于 11-11 12:51 ?19次下載
    52單片機(jī)——<b class='flag-5'>定時(shí)器</b>2<b class='flag-5'>詳解</b>

    STM32定時(shí)器-基本定時(shí)器

    目錄定時(shí)器分類基本定時(shí)器功能框圖講解基本定時(shí)器功能時(shí)鐘源計(jì)數(shù)時(shí)鐘計(jì)數(shù)自動(dòng)重裝載寄存
    發(fā)表于 11-23 18:21 ?31次下載
    STM32<b class='flag-5'>定時(shí)器</b>-基本<b class='flag-5'>定時(shí)器</b>

    555定時(shí)器及應(yīng)用介紹

    555定時(shí)器及應(yīng)用介紹
    的頭像 發(fā)表于 04-12 09:14 ?1448次閱讀

    定時(shí)器中斷程序怎么寫

    定時(shí)器中斷程序怎么寫? 在嵌入式系統(tǒng)中,定時(shí)器被廣泛應(yīng)用于各種任務(wù)。它們在實(shí)時(shí)系統(tǒng)中可用于輪詢,計(jì)時(shí)等任務(wù)。定時(shí)器可以被配置為周期性定時(shí)器
    的頭像 發(fā)表于 09-01 10:17 ?1765次閱讀