1. 程式人生 > >AlarmManager 鬧鐘(全域性定時器)

AlarmManager 鬧鐘(全域性定時器)

Alarm(警告、警報  “可以讀成-(e老母)”),別問我為什麼這麼讀,英語差我任性!

AlarmManager這個類提供對系統鬧鐘服務的訪問介面。你可以為你的應用設定一個未來某個時間喚醒的功能。
當鬧鐘響起,實際上是系統發出了為這個鬧鐘註冊的廣播。會自動開啟目標。

AlarmManager解析

1、AlarmManger不僅可用於開發鬧鐘應用,還可以作為一個全域性定時器使用,Android應用的程式中也是通過Context的getSystemSerVice()方法來獲取AlarmManger物件。

AlarmManager aManager = (AlarmManager)getSystemService(ALARM_SERVICE
);

2、一旦程式獲取了AlarmManger物件之後,就可以呼叫它的如下方法來設定定時啟動制定元件。

void set(int type,long triggerAtTime,Pendinglntent operation):設定在triggerAtTime時間啟動由operation引數指定的元件。其中第一個引數指定定時服務的型別,該引數可接受如下值

--》ELAPSED_REALTLME :指定從現在開始時間過了一定時間後啟動operation所對應的元件。

--》ELAPAED_REALTIME_WAKEUP :指定從現在開始過了一定時間後啟動operation所對應的元件。即使系統關機也會執行operation所對應的元件。



--》RTC :指定當系統呼叫System.currentTimeMillis()方法返回值與triggerAtTiME相等時啟動operation所對應的元件。

--》RTC_WAKEUP :指定當系統呼叫System.currentTimeMillis()方法返回值與triggerAtTiME相等時啟動operation所對應的元件。計時系統關機也會執行operation所對應的元件。

void setInexactRepeating(int type,long triggerAtTime,long interval,PendingIntent operation):設定一個週期性執行的定時任務。



void cancel(PendingIntent operation):取消AlarmManager的定時任務。

需要說明的是,從Android4.4(API19)開始,AlarmManager的機制是非準確的,不過AlarmManager新增了兩個新的方法
setExact(int type,long triggerAtMiLLis,PendingIntent Operation):設定鬧鐘將在精確的時間內激發
setCindow(int type,long windowStartMillis,Long WindowLgengthMillis,PendingIntent operation):設定時間將在精確的時間段來激發。

下面看一個小例子:下載地址點選開啟連結

http://download.csdn.net/download/bobo8945510/9612992

相關推薦

AlarmManager 鬧鐘全域性定時

Alarm(警告、警報  “可以讀成-(e老母)”),別問我為什麼這麼讀,英語差我任性! AlarmManager這個類提供對系統鬧鐘服務的訪問介面。你可以為你的應用設定一個未來某個時間喚醒的功能。

使用AlarmManager啟動廣播、服務、頁面Android定時

     AlarmManager是Android中的一種系統級別的提醒服務,它會為我們在特定的時刻廣播一個指定的Intent。而使用Intent的時候,我們還需要它執行一個動作,如startActivity,startService,startBroadcast,才能使I

WinForm中,每隔一段時間(參數)調用一次函數使用定時

pre tick break switch 時間 器) chan pri args 1      System.Windows.Forms.Timer setTimer; //定義一個定時器 2 int flg = 0;

DisplayPageBoundaries 打開word後自動將頁面間空白隱藏 auto+定時

win strong als when clas auto 定時 今天 自動 每次打開文檔都要鼠標點擊頁面間空白處,將其隱藏 嘗試過在 AutoOpen, AutoExec等宏中添加 ActiveWindow.View.DisplayPageBoundaries = Fal

STM32學習--定時基本定時

1.功能及原理   基本定時器TIM6和TIM7各包含一個16位自動裝載計數器,由各自的可程式設計預分頻器驅動。它們可以作為通用定時器提供時間基準,特別地可以為數模轉換器(DAC)提供時鐘。實際上,它們在晶片內部直接連線到DAC並通過觸發輸出直接驅動DAC。這

STM32系統學習——TIM基本定時

一、定時器分類 STM32F1 系列中,除了互聯型的產品,共有 8 個定時器,分為基本定時器,通用定時器和高階定時器。基本定時器 TIM6 和 TIM7 是一個 16 位的只能向上計數的定時器,只能定時,沒有外部 IO。通用定時器 TIM2/3/4/5 是一個

STM32學習--定時高階定時

高階定時器 1、功能增加 由上圖可瞭解到高階定時器在通用定時器上增加了三個功能部分: ① 時基部分:增加重複次數計數器和RCR暫存器。允許在指定數量的計數週期後產生更新事件,更新相應暫存器,其實際用處暫不瞭解,減少中斷或DMA處理的資源佔用? ②

Android之AlarmManager(全域性定時/鬧鐘指定時長或以週期形式執行某項操作

1、AlarmManager,顧名思義,就是“提醒”,是Android中常用的一種系統級別的提示服務,可以實現從指定時間開始,以一個固定的間隔時間執行某項操作,所以常常與廣播(Broadcast)連用,實現鬧鐘等提示功能 2、AlarmManager的常用方法有三個: (1)set(int t

js精準時間叠代定時

tof fse 器) val 時間 ext start clas local window.setMyInterval = function(func, interval){ var nexttime = interval; var start

Cocos2d-x 源代碼分析 : Scheduler定時 源代碼分析

tel 技術分享 name list sch lam 源碼 hat array 源代碼版本號 3.1r,轉載請註明 我也最終不out了,開始看3.x的源代碼了。此時此刻的心情僅僅能是wtf!!!!!!!!!。只是也最終告別CC時代了。

js--定時的學習和對動畫的封裝定時

定時器 回調 .get floor val logs 多個 get math 1.定時器:在js裏面,定時器主要有兩種,setInterval(function, time) 和 setTimeout(function,time), setInterval:每個time秒執

springMVC + quartz實現定時任務排程

首先我們要知道任務排程器(定時器)有幾種,這邊我會寫三種 第一種是基於JDK的本身的一個定時器(優點:簡單,缺點:滿足不了複雜的需求) package com.timer1; import java.util.Date; import java.util.TimerTask;

從零開始的全棧工程師——js篇2.14表單與定時

一、表單 Form input select textarea type=”radio/checkbox/password/button/text/submit/reset/”   表單的事件 onchange  當表單內容被修改時觸發的事件 onfocus  獲取

執行緒:Lock互斥鎖、RLock 遞迴鎖、Semaphore訊號量、Event事件、Condition條件、Timer定時、queue佇列

目錄 一、鎖 1)同步鎖 2)死鎖與遞迴鎖 二、訊號量 三、事件 四、條件 五、定時器 六、執行緒佇列 一、鎖 1)同步鎖 #同步鎖的引用 from threading import Thread,Lock import os,time def wor

js運動定時

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js定時器</title> </head> <body>

JavaScript-可控制的時鐘定時

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <t

spring 整合mybatis——多資料來源切換附帶定時的配置,儲存過程連線,資料多於50條,分批進行操作

新建com.millery.utils包在其下新建DataSourceContextHolder類 package com.millery.utils; public class DataSourceContextHolder { private

關於Spring定時任務定時用法

部落格分類: Spring定時任務的幾種實現 近日專案開發中需要執行一些定時任務,比如需要在每天凌晨時候,分析一次前一天的日誌資訊,藉此機會整理了一下定時任務的幾種實現方式,由於專案採用spring框架,所以我都將結合 spring框架來介紹。 一.分類 從實

定時指令碼定時執行

      在學習大資料的時候,有很多命令都是用手動來執行的,這在實際專案中顯然是不合適的,實際專案中是需要用定時器來執行相應的指令碼的,關於定時器的知識點如下所示。 基本格式 :  *  *  *  *  *  command  分  時  日  月  周  命令  第1

Maven 下的spring框架4定時quartz

清明放假三天,沒有時間寫部落格,今天把定時器quartz的使用方法貼出來。通過前三篇的文章,大家的框架都是可以執行的了,那麼下面開始配置quartz。 首先,先把jar包導進來 <!-- 任務排程器 --> <dependency> &l