通過JobService進行app保活

2021-10-24 09:37:21 字數 2425 閱讀 8838

先是alivejobservice

public

class

alivejobservice

extends

jobservice

private

static

final

int message_id_task =

0x01

;private handler mhandler =

newhandler

(new

handler.callback()

else

// 通知系統任務執行結束

/* if (build.version.sdk_int >= build.version_codes.n) else */

jobfinished

((jobparameters) msg.obj,

false);

return

true;}

});@override

public

intonstartcommand

(intent intent,

int flags,

int startid)

@override

public

boolean

onstartjob

(jobparameters params)

@override

public

boolean

onstopjob

(jobparameters params)

}

jobschedulermanager

public

class

jobschedulermanager

public

final

static jobschedulermanager getjobschedulerinstance

(context ctxt)

return mjobmanager;

}@targetapi(21

)public

void

startjobscheduler()

// 構建jobinfo物件,傳遞給jobschedulerservice

jobinfo.builder builder =

newjobinfo.builder

(job_id,

newcomponentname

(mcontext, alivejobservice.

class))

;/* if (build.version.sdk_int >= 24) else */

builder.

setperiodic(15

*60*1000l)

;// 設定裝置重啟時,執行該任務

builder.

setpersisted

(false);

// 當插入充電器,執行該任務

builder.

setrequirescharging

(false);

// 設定手機是否空閒的條件

builder.

setrequiresdeviceidle

(false);

jobinfo info = builder.

build()

;//開始定時執行該系統任務

mjobscheduler.

schedule

(info);}

@targetapi(21

)public

void

stopjobscheduler()

private

boolean

isbelowlollipop()

}

/**

* 判斷應用是否已經啟動

* @param context 乙個context

* @param packagename 要判斷應用的包名

* @return boolean

*/public

static

boolean

(context context, string packagename)

} log.i(

"notificationlaunch"

, string.

format

(, packagename));

return

false

;}

啟動方式為

jobschedulermanager.getjobschedulerinstance(this).startjobscheduler();

JobService無法啟動 機型問題

jobservice是android後來提供的乙個服務,意在處理一些後台任務,且可以設定一些在啟動後多長時間範圍內隨機開始執行任務等的引數。但在某些手機jobservice無法啟動,例如小公尺9,說一下發現這個問題的過程。對於這種情況在設定中開啟應用的自啟動就可以。jobservice示例 publ...

通過Spring security進行許可權設定

當乙個網頁被訪問時,有時候希望對於不同的使用者給予不同的訪問許可權。比如管理員使用者可以對資料庫進行一些增刪改操作,而只留給普通使用者查詢的操作,隱藏了其他功能。我們可以使用spring security 來實現 5.0.1.release org.springframework.security ...

ssh通過金鑰進行驗證

ssh在兩台機器之間建立乙個安全通道,加密所有的資料。比如機器a通過ssh登入到機器b 機器a為ssh客戶端,機器b為ssh伺服器 1 確認在機器b上有乙個帳號。2 在機器a上生成金鑰對 ssh keygen t rsa 第一行輸入存放金鑰對的目錄,直接回車預設就行 自動存放在 ssh 目錄下,id...