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

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

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

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

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

本文為大家介紹定時器刷新的詳細程序。

1、定時刷新 只刷新一次

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

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

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

PnedingTingtent詳解

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

這個參數(shù)的類型要根據(jù)前一個鬧鐘的類型來的 , 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參數(shù)是刷新間隔

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

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

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

}

然后需要自定義一個接受器刷新的動作在這里面執(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、定時刷新 根據(jù)間隔時間一直刷新

類似于鬧鐘

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

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

}

}

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

    關(guān)注

    23

    文章

    3228

    瀏覽量

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

    關(guān)注

    115

    文章

    3747

    瀏覽量

    80669
收藏 人收藏

    評論

    相關(guān)推薦

    介紹通過STM32的定時器輸出PWM

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

    STM32定時器詳解

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

    STM32定時器程序

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

    TCP的定時器

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

    stm32定時器中斷程序

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

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

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

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

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

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

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

    20秒定時器定時程序資料免費下載

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

    定時器計算的應(yīng)用程序免費下載

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

    定時器中斷程序資料合集免費下載

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

    52單片機——定時器2詳解

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

    STM32定時器-基本定時器

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

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

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

    定時器中斷程序怎么寫

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