国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種休眠攔截方法及系統(tǒng)的制作方法

      文檔序號:6373103閱讀:209來源:國知局
      專利名稱:一種休眠攔截方法及系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及手持設(shè)備領(lǐng)域,特別涉及一種休眠攔截方法及系統(tǒng)。
      背景技術(shù)
      現(xiàn)階段隨著手持設(shè)備的應(yīng)用越來越廣泛,功能日益豐富,相應(yīng)的手持設(shè)備的耗電功率也越來越高,手持設(shè)備的電池續(xù)航能力也成為用戶采購時較為關(guān)注的一項參數(shù)。由于現(xiàn)階段電池技術(shù)的局限,很多手持設(shè)備的續(xù)航時間往往達(dá)不到用戶理想的效果,所以手持設(shè)備節(jié)電能力的改良也成為研發(fā)的一項重點內(nèi)容。手持設(shè)備的節(jié)電主要可以從硬件和軟件兩方面入手;硬件方面來講,可以通過降低設(shè)備在工作時的功耗來達(dá)到節(jié)電的目的;軟件方面來講,可以在設(shè)備閑置時讓設(shè)備進(jìn)入 休眠狀態(tài),從而將能耗降到最低,當(dāng)用戶對設(shè)備進(jìn)行操作時再將設(shè)備從休眠狀態(tài)中喚醒?,F(xiàn)階段手持設(shè)備的操作系統(tǒng)中,除了系統(tǒng)自身擁有控制設(shè)備進(jìn)入休眠的能力之夕卜,也會對其他應(yīng)用程序開放休眠攔截接口,允許其他軟件干涉設(shè)備的休眠與喚醒。這類接口的功能一般是允許應(yīng)用程序組織設(shè)備進(jìn)入休眠或?qū)⒃O(shè)備從休眠中喚醒。利用此類接口實現(xiàn)應(yīng)用程序干涉設(shè)備休眠的機(jī)制被稱為休眠攔截機(jī)制,即WakeLock機(jī)制。在WakeLock機(jī)制下,某個應(yīng)用程序可以利用休眠攔截接口執(zhí)行鎖定(acquire)或釋放(release)兩種操作。當(dāng)某一個應(yīng)用程序執(zhí)行acquire操作時,則表示該應(yīng)用程序向系統(tǒng)申請攔截休眠,WakeLock機(jī)制在此時不允許系統(tǒng)進(jìn)入休眠;當(dāng)應(yīng)用程序執(zhí)行release操作,則釋放攔截休眠的申請。WakeLock機(jī)制之下,只有當(dāng)系統(tǒng)發(fā)現(xiàn)所有的應(yīng)用程序均未執(zhí)行acquire操作時,才能夠進(jìn)入休眠。WakeLock機(jī)制的流程圖如圖I所示,當(dāng)設(shè)備空閑時間超過預(yù)設(shè)時間,則判斷是否存在應(yīng)用程序執(zhí)行acquire操作,如果存在則保持喚醒狀態(tài),如果不存在則進(jìn)入休眠狀態(tài)。但是WakeLock機(jī)制存在的缺點是,該休眠攔截接口易被某些惡意軟件濫用,一些程序由于自身功能的不完善,甚至處于一些特定的業(yè)務(wù)目的,會長時間的阻止設(shè)備進(jìn)入休目民,執(zhí)行acquire操作之后不對其釋放,從而導(dǎo)致了系統(tǒng)不能進(jìn)入休眠狀態(tài),提高了設(shè)備的耗能,也違背了 WakeLock機(jī)制通過控制休眠來促進(jìn)設(shè)備節(jié)電,增強電池續(xù)航能力的初衷。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的目的在于提供一種休眠攔截方法及系統(tǒng),通過配置休眠攔截權(quán)限來阻止一部分程序?qū)υO(shè)備休眠的干涉,從而屏蔽了惡意程序阻止其執(zhí)行acquire操作。為實現(xiàn)上述目的,有如下技術(shù)方案一種休眠攔截方法,根據(jù)用戶指令為應(yīng)用程序配置休眠攔截權(quán)限,則所述方法包括以下步驟當(dāng)應(yīng)用程序利用休眠攔截接口發(fā)出執(zhí)行鎖定操作和/或釋放操作的指令時;判斷發(fā)出指令的應(yīng)用程序是否存在休眠攔截權(quán)限;
      如果存在則按照該應(yīng)用程序發(fā)出的指令執(zhí)行該操作,如果不存在則屏蔽該指令。所述為應(yīng)用程序配置休眠攔截權(quán)限具體為僅為指定的程序配置休眠攔截權(quán)限,對未指定的程序不配置休眠攔截權(quán)限;或僅對指定的程序不配置休眠攔截權(quán)限,對未指定的程序配置休眠攔截權(quán)限。所述為指定的程序配置休眠攔截權(quán)限或?qū)ξ粗付ǖ某绦蚺渲眯菝邤r截權(quán)限具體為生成一個配置文件,將需要配置休眠攔截權(quán)限的應(yīng)用程序的名稱標(biāo)識寫入一個XML格式的名單中,并將該名單寫入所述配置文件。所述鎖定操作和/或釋放操作的指令中包含發(fā)出指令的應(yīng)用程序的名稱標(biāo)識,則 所述判斷發(fā)出指令的應(yīng)用程序是否存在休眠攔截權(quán)限具體為 根據(jù)所述指令獲取發(fā)出指令的應(yīng)用程序的名稱標(biāo)識,并以該程序的名稱標(biāo)識與所述配置文件中寫入需要配置休眠攔截權(quán)限的程序名稱標(biāo)識的名單進(jìn)行對照;如果該名單中包含該程序的名稱標(biāo)識則認(rèn)為該程序存在休眠攔截權(quán)限;如果該名單中不包含該程序的名稱標(biāo)識則認(rèn)為該程序不存在休眠攔截權(quán)限。所述方法還包括判斷系統(tǒng)空置時間是否達(dá)到預(yù)先設(shè)置的進(jìn)入休眠時間;當(dāng)空置時間達(dá)到進(jìn)入休眠時間,則判斷是否有應(yīng)用程序執(zhí)行了鎖定操作;當(dāng)任意程序執(zhí)行了鎖定操作,則系統(tǒng)保持喚醒狀態(tài);當(dāng)沒有程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠。所述方法還包括當(dāng)有程序執(zhí)行鎖定操作使系統(tǒng)保持喚醒狀態(tài)時,設(shè)置一個判斷周期時間,每隔判斷周期時間重新判斷是否有應(yīng)用程序執(zhí)行了鎖定操作;如果存在則系統(tǒng)保持喚醒狀態(tài),直到不存在程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠狀態(tài)。一種休眠攔截系統(tǒng),所述系統(tǒng)包括配置模塊,用于根據(jù)用戶指令為應(yīng)用程序配置休眠攔截權(quán)限;權(quán)限模塊,用于當(dāng)應(yīng)用程序利用休眠攔截接口發(fā)出執(zhí)行鎖定操作和/或釋放操作的指令時;判斷發(fā)出指令的應(yīng)用程序是否存在休眠攔截權(quán)限;并生成判斷權(quán)限結(jié)果;執(zhí)行模塊,用于獲取所述判斷權(quán)限結(jié)果,如果判斷權(quán)限結(jié)果為存在休眠攔截權(quán)限,則按照該應(yīng)用程序發(fā)出的指令執(zhí)行該操作,如果判斷權(quán)限結(jié)果為不存在休眠攔截權(quán)限,則屏蔽該指令。所述配置模塊包括白名單單元和/或黑名單單元,具體為白名單單元,用于獲得用戶指定出的需要配置休眠攔截權(quán)限的程序,僅為指定的程序配置休眠攔截權(quán)限,對未指定的程序不配置休眠攔截權(quán)限;黑名單單元,用于獲得用戶指定出的不需要配置休眠攔截權(quán)限的程序,僅對指定的程序不配置休眠攔截權(quán)限,對未指定的程序配置休眠攔截權(quán)限。所述系統(tǒng)還包括空置時間模塊,用于預(yù)先設(shè)置進(jìn)入休眠時間,判斷系統(tǒng)空置時間是否達(dá)到進(jìn)入休眠時間,當(dāng)達(dá)到進(jìn)入休眠時間則觸發(fā)鎖定模塊;
      鎖定模塊,用于在空置時間模塊觸發(fā)之下,判斷是否有應(yīng)用程序執(zhí)行了鎖定操作,生成判斷操作結(jié)果;休眠控制模塊,用于獲取判斷操作結(jié)果,當(dāng)判斷操作結(jié)果中顯示任意程序執(zhí)行了鎖定操作,則系統(tǒng)保持喚醒狀態(tài);當(dāng)沒有程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠。所述系統(tǒng)還包括循環(huán)模塊,用于當(dāng)有程序執(zhí)行鎖定操作使系統(tǒng)保持喚醒狀態(tài)時,設(shè)置一個判斷周期時間,每隔判斷周期時間重新判斷是否有應(yīng)用程序執(zhí)行了鎖定操作;如果存在則系統(tǒng)保持喚醒狀態(tài),直到不存在程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠狀態(tài)。通過以上技術(shù)方案可知,本發(fā)明存在的有益效果是通過為應(yīng)用程序配置休眠攔截權(quán)限,禁止了一部分不良程序執(zhí)行鎖定操作,避免了一些程序由于自身功能的不完善,甚至處于一些特定的業(yè)務(wù)目的,而長時間的阻止設(shè)備進(jìn)入休眠;從而使得系統(tǒng)能夠正常的進(jìn) 入休眠狀態(tài),降低設(shè)備的耗電量,提高電池續(xù)航時間。


      為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為現(xiàn)有技術(shù)中WakeLock機(jī)制流程示意圖;圖2為本發(fā)明實施例所述方法流程圖;圖3為本發(fā)明另一實施例所述方法流程圖;圖4為本發(fā)明實施例所述系統(tǒng)結(jié)構(gòu)示意圖;圖5為本發(fā)明另一實施例所述系統(tǒng)結(jié)構(gòu)示意圖。
      具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。參照圖I所示,為本發(fā)明所述方法的一個具體實施例,本實施例中所述方法是基于WakeLock,也就是本實施例中同樣是應(yīng)用程序利用休眠攔截接口執(zhí)行鎖定操作或釋放操作。應(yīng)用程序在執(zhí)行鎖定操作以后,系統(tǒng)將無法進(jìn)入休眠狀態(tài),應(yīng)用程序也可以通過執(zhí)行釋放操作接觸對系統(tǒng)的鎖定;當(dāng)沒有任何一個應(yīng)用程序執(zhí)行鎖定操作時,系統(tǒng)才可以進(jìn)入休眠狀態(tài)。本實施例中所述方法包括以下步驟步驟101、根據(jù)用戶指令為應(yīng)用程序配置休眠攔截權(quán)限;步驟102、當(dāng)應(yīng)用程序利用休眠攔截接口發(fā)出執(zhí)行鎖定操作和/或釋放操作的指令時;判斷發(fā)出指令的應(yīng)用程序是否存在休眠攔截權(quán)限;步驟103、如果存在則按照該應(yīng)用程序發(fā)出的指令執(zhí)行該操作,如果不存在則屏蔽該指令。本實施例為本發(fā)明所述方法的一個基礎(chǔ)實施例,本實施例通過休眠攔截權(quán)限的配置,使得用戶信任的一部分應(yīng)用程序具有休眠攔截權(quán)限,而另一些惡意程序或者不受信任的程序則不為其匹配該權(quán)限,這也就防止了休眠攔截接口的濫用,避免了某些程序長期執(zhí)行鎖定操作,使得系統(tǒng)無法進(jìn)入休眠的情況發(fā)生。由于系統(tǒng)進(jìn)入休眠狀態(tài)時耗電功率大幅度降低,所以保證系統(tǒng)能夠正常的進(jìn)入休眠狀態(tài),對于硬件設(shè)備的節(jié)電有著重要的影響。需要說明是,本實施例中為應(yīng)用程序配置休眠攔截權(quán)限具體可以采取以下兩種方式一為用戶指定出需要配置休眠攔截權(quán)限的程序,僅為指定的程序配置休眠攔截權(quán)限,對未指定的程序不配置休眠攔截權(quán)限;即傳統(tǒng)的白名單模式。該模式中用戶需要篩選出受到信任的應(yīng)用程序加入白名單,并為這一部分應(yīng)用程序配置休眠攔截權(quán)限,其他程序均不配置該權(quán)限。另一為用戶指定出不需要配置休眠攔截權(quán)限的程序,僅對指定的程序不配置休眠 攔截權(quán)限,對未指定的程序配置休眠攔截權(quán)限;即傳統(tǒng)的黑名單模式。在這一模式中,用戶需要篩選出不被信任的應(yīng)用程序加入黑名單,僅針對這一部分應(yīng)用程序不配置休眠攔截權(quán)限;對于黑名單以外的應(yīng)用程序均配置休眠攔截權(quán)限。用戶可以根據(jù)需要在兩種模式中選擇一種,或者同時開啟兩種模式。參照圖2所示,為本發(fā)明所述方法的另一個具體實施例,本實施例中,所述方法應(yīng)用在手持設(shè)備的系統(tǒng)軟件當(dāng)中,具體步驟如下步驟201、生成一個配置文件,將需要配置休眠攔截權(quán)限的應(yīng)用程序的名稱標(biāo)識寫入一個XML格式的名單中,并將該名單寫入所述配置文件;本實施例中,在確定所述需要配置休眠攔截權(quán)限的應(yīng)用程序時,同樣可以采取圖I所示實施例中的白名單模式或者黑名單模式;在白名單模式下,將白名單中的應(yīng)用程序名稱標(biāo)識寫入XML格式名單;在黑名單模式下,將黑名單以外的應(yīng)用程序名稱標(biāo)識寫入XML格式名單。而一般來講,系統(tǒng)中每個應(yīng)用程序必定會存在一個名稱標(biāo)識,即包名(PackageName),系統(tǒng)中以此對應(yīng)用程序進(jìn)行區(qū)分和識別。步驟202、應(yīng)用程序利用休眠攔截接口發(fā)出執(zhí)行鎖定操作和/或釋放操作的指令,所述指令包含發(fā)出指令的應(yīng)用程序的名稱標(biāo)識;步驟203、根據(jù)所述指令獲取發(fā)出指令的應(yīng)用程序的名稱標(biāo)識,并以該程序的名稱標(biāo)識與所述配置文件中寫入需要配置休眠攔截權(quán)限的程序名稱標(biāo)識的名單進(jìn)行對照;本步驟的目的即判斷該應(yīng)用程序是否存在休眠攔截權(quán)限,本實施例中通過對照該應(yīng)用程序是否被寫入了所述XML格式名單當(dāng)中,也就是如果該名單中包含該程序的名稱標(biāo)識則認(rèn)為該程序存在休眠攔截權(quán)限;如果該名單中不包含該程序的名稱標(biāo)識則認(rèn)為該程序不存在休眠攔截權(quán)限。步驟204、如果該應(yīng)用程序存在休眠攔截權(quán)限,則按照該應(yīng)用程序發(fā)出的指令執(zhí)行該操作,如果不存在則屏蔽該指令;本實施例中,該攔截動作在系統(tǒng)底層完成,攔截動作本身是透明的,也即應(yīng)用程序所發(fā)出的執(zhí)行鎖定操作和/或釋放操作的指令后,返回給應(yīng)用程序的反饋仍然正常,但不存在權(quán)限的應(yīng)用程序所發(fā)出的指令即被攔截,不予執(zhí)行。在以上三個步驟中,實現(xiàn)的技術(shù)效果與圖I所示實施例基本一致,配置了休眠攔截權(quán)限的應(yīng)用程序即可以利用休眠攔截接口執(zhí)行操作并干涉系統(tǒng)進(jìn)入休眠。當(dāng)應(yīng)用程序執(zhí)行了鎖定(acquire)操作,則起到阻止系統(tǒng)進(jìn)入休眠的作用,當(dāng)應(yīng)用程序不需要繼續(xù)對系統(tǒng)執(zhí)行acquire操作時,則利用釋放(release)操作解除對系統(tǒng)的鎖定。步驟205、判斷系統(tǒng)空置時間是否達(dá)到預(yù)先設(shè)置的進(jìn)入休眠時間;如果達(dá)到則進(jìn)入步驟206 ;本實施例中該步驟類似于個人計算機(jī)在一定時間內(nèi)沒有被操作,則進(jìn)入待機(jī)狀態(tài)或睡眠狀態(tài)的過程。本實施例中可以假設(shè)預(yù)設(shè)的進(jìn)入休眠時間為5分鐘;當(dāng)所述連續(xù)5分鐘以上沒有對手持設(shè)備進(jìn)行任何操作,則空置時間達(dá)到進(jìn)入休眠時間。步驟206、當(dāng)空置時間達(dá)到進(jìn)入休眠時間,則判斷是否有應(yīng)用程序執(zhí)行了鎖定操 作;本實施例中由于應(yīng)用程序同樣存在干涉系統(tǒng)進(jìn)入休眠的權(quán)限,即系統(tǒng)開放了休眠攔截接口,所以即使空置時間達(dá)到了進(jìn)入休眠時間,系統(tǒng)也不能夠自行進(jìn)入休眠。系統(tǒng)還必須判斷是否有程序執(zhí)行了 acquire操作。當(dāng)然在本實施例中通過步驟201至步驟203的配置,只有存在休眠攔截權(quán)限的應(yīng)用程序才能夠使用休眠攔截接口執(zhí)行acquire操作。步驟207、當(dāng)任意程序執(zhí)行了鎖定操作,則系統(tǒng)保持喚醒狀態(tài);當(dāng)沒有程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠。本實施例中攔截休眠的機(jī)制與現(xiàn)有的WakeLock機(jī)制基本相同,當(dāng)任意程序執(zhí)行了 acquire操作,則系統(tǒng)不能進(jìn)入休眠,必須保持喚醒;只有在所有程序都沒有執(zhí)行acquire操作的情況下,系統(tǒng)才可以進(jìn)入休眠。另外,本實施例中還加入了一種循環(huán)機(jī)制,具體如下當(dāng)有程序執(zhí)行鎖定操作使系統(tǒng)保持喚醒狀態(tài)時,設(shè)置一個判斷周期時間,每隔判斷周期時間重新判斷是否有應(yīng)用程序執(zhí)行了鎖定操作;如果存在則系統(tǒng)保持喚醒狀態(tài),直到不存在程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠狀態(tài)。也就是設(shè)置一個周期,并且按照此周期重復(fù)執(zhí)行步驟205和步驟206。如果某一次判斷中,由于某些應(yīng)用程序執(zhí)行了 acquire操作導(dǎo)致系統(tǒng)不能進(jìn)入休眠,則一個時間周期之后,重新判斷是否有程序執(zhí)行了 acquire操作。如果原來的acquire操作全部被release操作釋放的話,則系統(tǒng)進(jìn)入休眠;如果acquire操作依然存在那么系統(tǒng)保持喚醒,并且在下一個周期繼續(xù)重復(fù)步驟206和步驟207中的判斷過程。本實施例存在的有益效果是,基于傳統(tǒng)的WakeLock機(jī)制下,阻止了一部分程序?qū)τ谛菝邤r截接口的使用;即堅持了 WakeLock機(jī)制通過控制休眠來促進(jìn)設(shè)備節(jié)電,增強電池續(xù)航能力的初衷,也避免了休眠攔截接口的濫用。同時通過循環(huán)機(jī)制的建立,每隔一段時間對重新判斷系統(tǒng)中是否有程序執(zhí)行acquire操作,實現(xiàn)系統(tǒng)中不存在acquire操作時盡快進(jìn)入休眠。參照圖3所示,為本發(fā)明所述休眠攔截系統(tǒng)的一個具體實施例,本實施例中所述系統(tǒng)包括配置模塊,用于根據(jù)用戶指令為應(yīng)用程序配置休眠攔截權(quán)限;
      權(quán)限模塊,用于當(dāng)應(yīng)用程序利用休眠攔截接口發(fā)出執(zhí)行鎖定操作和/或釋放操作的指令時;判斷發(fā)出指令的應(yīng)用程序是否存在休眠攔截權(quán)限;并生成判斷權(quán)限結(jié)果;執(zhí)行模塊,用于獲取所述判斷權(quán)限結(jié)果,如果判斷權(quán)限結(jié)果為存在休眠攔截權(quán)限,則按照該應(yīng)用程序發(fā)出的指令執(zhí)行該操作,如果判斷權(quán)限結(jié)果為不存在休眠攔截權(quán)限,則屏蔽該指令。本實施例為對應(yīng)圖I所示方法實施例而設(shè)計的系統(tǒng)實施例,二者的技術(shù)方案在本質(zhì)上一致。本實施例通過休眠攔截權(quán)限的配置,使得用戶信任的一部分應(yīng)用程序具有休眠攔截權(quán)限,而另一些惡意程序或者不受信任的程序則不為其匹配該權(quán)限,這也就防止了休眠攔截接口的濫用,避免了某些程序長期執(zhí)行鎖定操作,使得系統(tǒng)無法進(jìn)入休眠的情況發(fā)生。由于系統(tǒng)進(jìn)入休眠狀態(tài)時耗電功率大幅度降低,所以保證系統(tǒng)能夠正常的進(jìn)入休眠狀態(tài),對于硬件設(shè)備的節(jié)電有著重要的影響。本實施例中所述配置模塊可同時包括兩個子單元或包括二者中的任意一個,所述 兩個子單元分別為白名單單元和黑名單單元。白名單單元,用于獲得用戶指定出的需要配置休眠攔截權(quán)限的程序,僅為指定的程序配置休眠攔截權(quán)限,對未指定的程序不配置休眠攔截權(quán)限;當(dāng)利用所述白名單單元執(zhí)行權(quán)限配置時,即對應(yīng)傳統(tǒng)的白名單模式,該模式中用戶需要篩選出受到信任的應(yīng)用程序加入白名單,并為這一部分應(yīng)用程序配置休眠攔截權(quán)限,其他程序均不配置該權(quán)限;黑名單單元,用于獲得用戶指定出的不需要配置休眠攔截權(quán)限的程序,僅對指定的程序不配置休眠攔截權(quán)限,對未指定的程序配置休眠攔截權(quán)限;利用所述黑名單單元執(zhí)行權(quán)限配置時,即對應(yīng)傳統(tǒng)的黑名單模式,在這一模式中,用戶需要篩選出不被信任的應(yīng)用程序加入黑名單,僅針對這一部分應(yīng)用程序不配置休眠攔截權(quán)限;對于黑名單以外的應(yīng)用程序均配置休眠攔截權(quán)限。在實際情況下,所述配置模塊可以包含二者之一,也可以同時包含二者;使用過程中,用戶可以單獨利用黑名單單元或白名單單元進(jìn)行權(quán)限配置,也可以同時應(yīng)用此二者。參照圖4所示為本發(fā)明所述系統(tǒng)的另一個具體實施例。本實施例在圖3所示系統(tǒng)實施例的基礎(chǔ)上還包括空置時間模塊,用于預(yù)先設(shè)置進(jìn)入休眠時間,判斷系統(tǒng)空置時間是否達(dá)到進(jìn)入休眠時間,當(dāng)達(dá)到進(jìn)入休眠時間則觸發(fā)鎖定模塊;鎖定模塊,用于在空置時間模塊觸發(fā)之下,判斷是否有應(yīng)用程序執(zhí)行了鎖定操作,生成判斷操作結(jié)果;休眠控制模塊,用于獲取判斷操作結(jié)果,當(dāng)判斷操作結(jié)果中顯示任意程序執(zhí)行了鎖定操作,則系統(tǒng)保持喚醒狀態(tài);當(dāng)沒有程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠;循環(huán)模塊,用于當(dāng)有程序執(zhí)行鎖定操作使系統(tǒng)保持喚醒狀態(tài)時,設(shè)置一個判斷周期時間,每隔判斷周期時間重新判斷是否有應(yīng)用程序執(zhí)行了鎖定操作;如果存在則系統(tǒng)保持喚醒狀態(tài),直到不存在程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠狀態(tài)。本實施例的技術(shù)方案在實質(zhì)上對應(yīng)圖2所示的方法實施例。本實施例存在的有益效果是,基于傳統(tǒng)的WakeLock機(jī)制下,阻止了一部分程序?qū)τ谛菝邤r截接口的使用;即堅持了 WakeLock機(jī)制通過控制休眠來促進(jìn)設(shè)備節(jié)電,增強電池續(xù)航能力的初衷,也避免了休眠攔截接口的濫用。同時通過循環(huán)機(jī)制的建立,每隔一段時間對重新判斷系統(tǒng)中是否有程序執(zhí)行acquire操作,實現(xiàn)系統(tǒng)中不存在acquire操作時盡快進(jìn)入休眠。
      以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
      權(quán)利要求
      1.一種休眠攔截方法,其特征在于,根據(jù)用戶指令為應(yīng)用程序配置休眠攔截權(quán)限,則所述方法包括以下步驟 當(dāng)應(yīng)用程序利用休眠攔截接口發(fā)出執(zhí)行鎖定操作和/或釋放操作的指令時;判斷發(fā)出指令的應(yīng)用程序是否存在休眠攔截權(quán)限; 如果存在則按照該應(yīng)用程序發(fā)出的指令執(zhí)行該操作,如果不存在則屏蔽該指令。
      2.根據(jù)權(quán)利要求I所述方法,其特征在于,所述為應(yīng)用程序配置休眠攔截權(quán)限具體為 僅為指定的程序配置休眠攔截權(quán)限,對未指定的程序不配置休眠攔截權(quán)限; 或僅對指定的程序不配置休眠攔截權(quán)限,對未指定的程序配置休眠攔截權(quán)限。
      3.根據(jù)權(quán)利要求2所述方法,其特征在于,所述為指定的程序配置休眠攔截權(quán)限或?qū)ξ粗付ǖ某绦蚺渲眯菝邤r截權(quán)限具體為 生成一個配置文件,將需要配置休眠攔截權(quán)限的應(yīng)用程序的名稱標(biāo)識寫入一個XML格式的名單中,并將該名單寫入所述配置文件。
      4.根據(jù)權(quán)利要求3所述方法,其特征在于,所述鎖定操作和/或釋放操作的指令中包含發(fā)出指令的應(yīng)用程序的名稱標(biāo)識,則所述判斷發(fā)出指令的應(yīng)用程序是否存在休眠攔截權(quán)限具體為 根據(jù)所述指令獲取發(fā)出指令的應(yīng)用程序的名稱標(biāo)識,并以該程序的名稱標(biāo)識與所述配置文件中寫入需要配置休眠攔截權(quán)限的程序名稱標(biāo)識的名單進(jìn)行對照; 如果該名單中包含該程序的名稱標(biāo)識則認(rèn)為該程序存在休眠攔截權(quán)限;如果該名單中不包含該程序的名稱標(biāo)識則認(rèn)為該程序不存在休眠攔截權(quán)限。
      5.根據(jù)權(quán)利要求1-4任意一項所述方法,其特征在于,所述方法還包括 判斷系統(tǒng)空置時間是否達(dá)到預(yù)先設(shè)置的進(jìn)入休眠時間; 當(dāng)空置時間達(dá)到進(jìn)入休眠時間,則判斷是否有應(yīng)用程序執(zhí)行了鎖定操作; 當(dāng)任意程序執(zhí)行了鎖定操作,則系統(tǒng)保持喚醒狀態(tài);當(dāng)沒有程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠。
      6.根據(jù)權(quán)利要求5所述方法,其特征在于,所述方法還包括 當(dāng)有程序執(zhí)行鎖定操作使系統(tǒng)保持喚醒狀態(tài)時,設(shè)置一個判斷周期時間,每隔判斷周期時間重新判斷是否有應(yīng)用程序執(zhí)行了鎖定操作; 如果存在則系統(tǒng)保持喚醒狀態(tài),直到不存在程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠狀態(tài)。
      7.—種休眠攔截系統(tǒng),其特征在于,所述系統(tǒng)包括 配置模塊,用于根據(jù)用戶指令為應(yīng)用程序配置休眠攔截權(quán)限; 權(quán)限模塊,用于當(dāng)應(yīng)用程序利用休眠攔截接口發(fā)出執(zhí)行鎖定操作和/或釋放操作的指令時;判斷發(fā)出指令的應(yīng)用程序是否存在休眠攔截權(quán)限;并生成判斷權(quán)限結(jié)果; 執(zhí)行模塊,用于獲取所述判斷權(quán)限結(jié)果,如果判斷權(quán)限結(jié)果為存在休眠攔截權(quán)限,則按照該應(yīng)用程序發(fā)出的指令執(zhí)行該操作,如果判斷權(quán)限結(jié)果為不存在休眠攔截權(quán)限,則屏蔽該指令。
      8.根據(jù)權(quán)利要求7所述系統(tǒng),其特征在于,所述配置模塊包括白名單單元和/或黑名單單元,具體為 白名單單元,用于獲得用戶指定出的需要配置休眠攔截權(quán)限的程序,僅為指定的程序配置休眠攔截權(quán)限,對未指定的程序不配置休眠攔截權(quán)限;黑名單單元,用于獲得用戶指定出的不需要配置休眠攔截權(quán)限的程序,僅對指定的程序不配置休眠攔截權(quán)限,對未指定的程序配置休眠攔截權(quán)限。
      9.根據(jù)權(quán)利要求7或8所述系統(tǒng),其特征在于,所述系統(tǒng)還包括 空置時間模塊,用于預(yù)先設(shè)置進(jìn)入休眠時間,判斷系統(tǒng)空置時間是否達(dá)到進(jìn)入休眠時間,當(dāng)達(dá)到進(jìn)入休眠時間則觸發(fā)鎖定模塊; 鎖定模塊,用于在空置時間模塊觸發(fā)之下,判斷是否有應(yīng)用程序執(zhí)行了鎖定操作,生成判斷操作結(jié)果; 休眠控制模塊,用于獲取判斷操作結(jié)果,當(dāng)判斷操作結(jié)果中顯示任意程序執(zhí)行了鎖定操作,則系統(tǒng)保持喚醒狀態(tài);當(dāng)沒有程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠。
      10.根據(jù)權(quán)利要求9所述系統(tǒng),其特征在于,所述系統(tǒng)還包括 循環(huán)模塊,用于當(dāng)有程序執(zhí)行鎖定操作使系統(tǒng)保持喚醒狀態(tài)時,設(shè)置一個判斷周期時間,每隔判斷周期時間重新判斷是否有應(yīng)用程序執(zhí)行了鎖定操作;如果存在則系統(tǒng)保持喚醒狀態(tài),直到不存在程序執(zhí)行鎖定操作,則系統(tǒng)進(jìn)入休眠狀態(tài)。
      全文摘要
      本發(fā)明實施例提供一種休眠攔截方法與系統(tǒng),所述方法包括以下步驟為應(yīng)用程序配置休眠攔截權(quán)限;當(dāng)應(yīng)用程序利用休眠攔截接口發(fā)出執(zhí)行鎖定操作和/或釋放操作的指令時;判斷應(yīng)用程序是否存在休眠攔截權(quán)限;如果存在則按照該應(yīng)用程序發(fā)出的指令執(zhí)行該操作,如果不存在則屏蔽該指令;所述系統(tǒng)包括配置模塊,用于為應(yīng)用程序配置休眠攔截權(quán)限;權(quán)限模塊,用于判斷發(fā)出指令的應(yīng)用程序是否存在休眠攔截權(quán)限;并生成判斷權(quán)限結(jié)果;執(zhí)行模塊,用于獲取所述判斷權(quán)限結(jié)果,如果判斷權(quán)限結(jié)果為存在休眠攔截權(quán)限,則按照該應(yīng)用程序發(fā)出的指令執(zhí)行該操作,如果判斷權(quán)限結(jié)果為不存在休眠攔截權(quán)限,則屏蔽該指令。
      文檔編號G06F21/00GK102841672SQ20121023824
      公開日2012年12月26日 申請日期2012年7月10日 優(yōu)先權(quán)日2012年7月10日
      發(fā)明者劉嘯, 蘇勇 申請人:上海果殼電子有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1