葉松鑫 陳賽軍 柯捷 王旭億 黃漂雄
摘要:通過定時任務(wù)算法與應(yīng)用程序凍結(jié)算法相結(jié)合,實(shí)現(xiàn)定時凍結(jié)手機(jī)應(yīng)用程序,在特定時間解凍手機(jī)應(yīng)用,從而達(dá)到智能控制手機(jī)應(yīng)用,利用該算法實(shí)現(xiàn)對手機(jī)應(yīng)用的管控,進(jìn)一步應(yīng)用于手機(jī)應(yīng)用管理,以達(dá)到合理使用手機(jī),擺脫手機(jī)依賴。
關(guān)鍵詞:應(yīng)用凍結(jié);應(yīng)用控制;擺脫手機(jī)依賴;算法設(shè)計;手機(jī)省電
中圖分類號:TP311
文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)04-0270-02
收稿日期:2019-11-02
作者簡介:葉松鑫(1998—),男,廣東汕頭人,佛山科學(xué)技術(shù)學(xué)院電子信息工程學(xué)院網(wǎng)絡(luò)工程專業(yè)在讀本科生。
有關(guān)調(diào)查結(jié)果顯示,90.89%的大學(xué)生在參加活動或上課時使用過手機(jī),46.58%的大學(xué)生在參加活動或上課時很難集中注意力,經(jīng)常不由自主地使用手機(jī)"。針對大學(xué)生上課使用手機(jī).的行為,老師會采取各種應(yīng)對措施,比如宣傳教育、合理引導(dǎo)、及時干預(yù)等,但仍有大部分學(xué)生把過多的時間花在手機(jī)的各種應(yīng)用軟件上、荒廢青春,有時候即使意識到自己的行為有可能會害了自己一生,并想做出改變卻又總是無法把控好自己。這個時候如果有一款app再加上一些人來幫助自己,管理好我們的手機(jī)使用時間,擺脫手機(jī)的控制,重獲自由。在該學(xué)習(xí)的時候除了保障我們的必要的通訊通道以及其他學(xué)習(xí)需要用到的應(yīng)用的基礎(chǔ)上限制我們對手機(jī)的使用,以助于我們更快的擺脫手機(jī)的誘惑,課上在老師的監(jiān)控下放下手機(jī)認(rèn)真聽講,再次與學(xué)習(xí)相擁。立足于此出發(fā)點(diǎn),一種新型的智能app控制算法顯得尤其重要。
1 算法設(shè)計
1.1 凍結(jié)應(yīng)用簡介
凍結(jié)應(yīng)用指將已安裝程序凍結(jié)起來,程序雖然還在,但是卻不能運(yùn)行和占內(nèi)存了。處于此狀態(tài)下的應(yīng)用相當(dāng)于沒安裝,實(shí)際上卻有安裝,通過對應(yīng)用程序凍結(jié)狀態(tài)的改變實(shí)現(xiàn)程序使用權(quán)限的控制。線下流行的方法為通過創(chuàng)建packageManager對象和ComponentName對象,并調(diào)用packageManager對象的setComponentEnabledSetting方法實(shí)現(xiàn)對程序的凍結(jié)和解凍。以下為setComponentEnabledetting方法的介紹:
public void setComponentEnabledSetting (Component-
Name componentName,int newState,int flags)
componentName:組件名稱
newState:組件新的狀態(tài),可以設(shè)置三個值,分別是如下:不可用狀態(tài):COMPONENT_ENABLED_STATE DISA BLED可用狀態(tài):COMPONENT_ENABLED STATE ENABLED默認(rèn)狀態(tài):COMPONENT_ENABLED_STATE_DEFAULTflags:行為標(biāo)簽,值可以是DONT_KILL_APP或者0(0說明殺死包含該組件的app)
1.2 定時任務(wù)算法介紹
定時任務(wù)算法(鬧鐘)即為預(yù)先設(shè)定時間,在設(shè)定時間到來之時,執(zhí)行對應(yīng)的任務(wù),常用實(shí)現(xiàn)方法為使用TimerTask類及Time類下的schedule方法,具體使用案例如下:
TimerTask timerTask=new TimerTask(){
@Override
public void run({
System.out.println("Hello World");
1存放方法體
}
};
Timer timer=new Timert0;//生命Time對象
long delay=0;//設(shè)定延時時間
long intevalPeriod=2 * 1000;//設(shè)定任務(wù)間隔時間
timer schedule(timerTask,delay,intevalPeriod);
//調(diào)用schedule方法實(shí)現(xiàn)任務(wù)定時運(yùn)行
1.3 定時凍結(jié)應(yīng)用算法實(shí)現(xiàn)
將鬧鐘算法與應(yīng)用凍結(jié)算法相結(jié)合,在設(shè)定時間內(nèi)凍結(jié)設(shè)定應(yīng)用的使用權(quán),在其他時間解凍應(yīng)用的使用權(quán)。以下為相關(guān)實(shí)現(xiàn)方法:
1.3.1 算法簡要邏輯圖
算法簡要邏輯圖如圖1所示。
1.3.2 算法實(shí)現(xiàn)
(1)定義應(yīng)用鎖時間設(shè)置類LockTime,類中包含以下變量及方法:
* systemTime:創(chuàng)建鬧鐘時刻的系統(tǒng)時間
* startTime:應(yīng)用鎖開始時間,默認(rèn)為系統(tǒng)時間+60s
* endTime:應(yīng)用鎖開始時間,默認(rèn)為系統(tǒng)時間+180s
* showLockTime(方法:顯示應(yīng)用鎖時間設(shè)置信息
(2)定義應(yīng)用鎖設(shè)置類ApplicationTimeLock,類中主要包含以下變量及方法:
* componentName:上鎖應(yīng)用組件名
* setLock()方法:開啟定時凍結(jié)應(yīng)用
* setUnlock()方法:開啟定時解除凍結(jié)
(3)主類實(shí)現(xiàn)
*獲取需要設(shè)置應(yīng)用鎖的應(yīng)用組件名componentName
*利用LockTime類創(chuàng)建設(shè)置凍結(jié)時間范圍
*使用ApplicationTimeLock類中的setLock)和setUnlock()開啟應(yīng)用時間鎖
2 應(yīng)用前景
2.1 手機(jī)省電模式
手機(jī)耗電快一直是人們煩惱的問題,將此算法進(jìn)行二次開發(fā)后,開發(fā)成為手機(jī)省電應(yīng)用,定時將手機(jī)里的自啟應(yīng)用凍結(jié),從而達(dá)到手機(jī)高效省電效果,進(jìn)減少手機(jī)耗電量,提升手機(jī)流暢度。
2.2 手機(jī)管控管家
目前國內(nèi)流行的手機(jī)使用管控軟件大多數(shù)是以鬧鐘提示為主,在幫助使用者合理管控手機(jī)使用,上起到的作用效果不佳,而如若將這種新型的應(yīng)用控制算法二次開發(fā),開發(fā)具有超強(qiáng)管控性的應(yīng)用控制軟件,則在促進(jìn)人們擺脫手機(jī)控制上具有極為重要的應(yīng)用價值。
3 總結(jié)與展望
將已有的鬧鐘功能和應(yīng)用凍結(jié)功能結(jié)合生成定時應(yīng)用控制功能已研究完畢,但若進(jìn)一步研究,將此算法二次開發(fā)成為手機(jī)管控管家需要解決無須獲取root權(quán)限即可正常實(shí)現(xiàn)該功能,并且在防止他人利用該項功能管控他人手機(jī)上需要進(jìn)一步做好安全防范,人們對手機(jī)的依賴性越來越大,該項技術(shù)在促進(jìn)人們擺脫手機(jī)控制上定會有巨大的價值。
參考文獻(xiàn):
[1]周揮輝,黨波濤,蔣永紅.手機(jī)對當(dāng)代大學(xué)生發(fā)展的影響及其對策研究[J].中國青年研究,2011(6):90-92.
[通聯(lián)編輯:光文玲]