預約提醒功能(類似鬧鐘)總結

2021-08-07 21:56:23 字數 1592 閱讀 3433

首先必須要說的一點是,jobscheduler的使用要求是api21(android 5.0,即lollipop )以上。看到了乙個jobscheduler的介紹:系統級的任務,開關機、殺掉程序後仍然可以繼續工作,心裡頓時就竊喜了一下,哥哥要的就是它啊。可惜好景不長,弄完了才發現他的坑人之處(後面再介紹),先說下它的使用。

1、建立乙個類繼承jobservice

繼承jobservice的服務是乙個系統服務,與程序是否存在無關。必須實現的方法有兩個,public boolean onstartjob(jobparameters params)public boolean onstopjob(jobparameters params)

public

class

myservice

extends

jobservice

@override

public

boolean

onstopjob(jobparameters params)

}

見名之意,乙個是開始任務的時候呼叫,乙個是結束任務的時候呼叫。返回值為布林值,false表示系統假設這個方法返回時任務已經執行完畢。如果返回值是true,那麼系統假定這個任務正要被執行,執行任務的重擔就落在了你的肩上。

注意一點,既然是jobservice那也是乙個service,說明它是執行在主線程中的。如果要執行耗時操作請另開子執行緒。

2、建立乙個jobscheduler物件

jobscheduler jobscheduler =(jobscheduler)getsystemservice(context.job_scheduler_service);
獲取到jobscheduler物件後,我們再建立乙個jobinfo物件。

jobinfo.builder builder = new jobinfo.builder(1, new componentname(this, myservice.class));
第乙個引數是jobid,標誌此時建立的任務;第二個引數是繼承jobservice的類的componentname。

然後對builder配置相關屬性,常用的有

builder.setpersisted(true)//手機重啟後是否繼續執行任務

.setperiodic(10*1000);//重複執行任務,間隔時間為10秒

其他設定方法 :

builder設定完後,最後呼叫:

int schedule = jobscheduler.schedule(builder.build());
該方法返回乙個int值,0表示失敗,1表示成功。

既然有schedule()方法,當然得有對應的cancel()方法。

jobscheduler.cancel(int jobid);//取消對應id的任務

jobscheduler.cancelall();//取消所有

預約提醒管理系統

目標 能通過時間線的方式展示當前的預約狀態,對預約狀態一目了然 能夠智慧型進行工作的分派 技術方面沒有任何問題,現在初步實現 預約詳情時間線 預約新增簡單頁面 可以進行任意字段方向的擴充套件 段 qclass name 預約 entity data equalsandhashcode callsup...

小牛之路 提醒功能

直接上 ps 作為職場新人,歡迎大牛批評指正,小弟不勝感激!檢視層 1 設定定時器,根據自己的業務需求設定定時器時間和當前時間的格式 2 觸發 ajax 時儘量減少請求次數,做乙個伺服器是否響應的判斷 function function chat success function data else...

RTX 提醒功能應用方案

一 需求 通過http訪問模式,啟動伺服器 提醒訊息,如下圖所示 二 設定 1.伺服器端 rtxserver的安裝目錄下的 sdkproperty.xml 127.0.0.1 您的ip位址 2.客戶端 瀏覽器或curl 三 應用 1.用瀏覽器傳送訊息 http rtx server 8012 sen...