實(shí)現(xiàn)應(yīng)用程序隱藏的方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種實(shí)現(xiàn)應(yīng)用程序隱藏的方法及裝置,其中,在操作系統(tǒng)的系統(tǒng)框架層中設(shè)置與應(yīng)用程序?qū)又械陌踩浖鄬?duì)應(yīng)的安全服務(wù),該方法包括:當(dāng)智能終端上的安全軟件確定應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏時(shí),安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層;系統(tǒng)框架層在獲知應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏后,利用安全服務(wù)調(diào)用操作系統(tǒng)中的應(yīng)用隱藏接口,隱藏所述應(yīng)用程序。由于本發(fā)明是在系統(tǒng)框架層實(shí)現(xiàn)了對(duì)應(yīng)用程序的隱藏,因此隱藏可靠,不存在現(xiàn)有l(wèi)auncher方式在其他場(chǎng)景失效的問(wèn)題。而且本發(fā)明實(shí)現(xiàn)非常簡(jiǎn)單,主要是調(diào)用了操作系統(tǒng)中的之前未公開(kāi)但是固有的接口,而對(duì)操作系統(tǒng)的修改很少,不會(huì)給操作系統(tǒng)的運(yùn)行帶來(lái)負(fù)擔(dān)。
【專(zhuān)利說(shuō)明】實(shí)現(xiàn)應(yīng)用程序隱藏的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,具體涉及一種實(shí)現(xiàn)應(yīng)用程序隱藏的方法及裝置。
【背景技術(shù)】
[0002]在智能終端上,例如手機(jī)、平板電腦上,可能有許多用戶(hù)個(gè)人隱私的內(nèi)容,用戶(hù)可以使用安全軟件來(lái)限制其他人打開(kāi)某些應(yīng)用程序,部分應(yīng)用程序甚至都不想讓其他人看見(jiàn)安裝在操作系統(tǒng)中,也就是將應(yīng)用程序隱藏起來(lái)。
[0003]以android操作系統(tǒng)為例,一種實(shí)現(xiàn)應(yīng)用程序隱藏的方式是通過(guò)桌面啟動(dòng)器(launcher)。Launcher本身也是一個(gè)應(yīng)用程序,在操作系統(tǒng)啟動(dòng)時(shí),便會(huì)通過(guò)PackageManagerService把系統(tǒng)中已經(jīng)安裝好的應(yīng)用程序以快捷圖標(biāo)的形式展示在桌面上,這樣用戶(hù)就可以使用這些應(yīng)用程序了。Launcher中有一項(xiàng)設(shè)置可以選擇將某個(gè)/些應(yīng)用程序隱藏而不顯示出來(lái)。然而,操作系統(tǒng)中可能會(huì)有多個(gè)launcher,而各個(gè)launcher是獨(dú)立的,在某個(gè)launcher隱藏起來(lái)的應(yīng)用程序在另一個(gè)launcher中則仍然會(huì)被顯示出來(lái)。
[0004]因此,需要提出一種可以將應(yīng)用程序徹底在操作系統(tǒng)中隱藏起來(lái)的方案。
【發(fā)明內(nèi)容】
[0005]鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的實(shí)現(xiàn)應(yīng)用程序隱藏的方法及裝置。
[0006]依據(jù)本發(fā)明的一個(gè)方面,提供一種實(shí)現(xiàn)應(yīng)用程序隱藏的方法,其中,在操作系統(tǒng)的系統(tǒng)框架層中設(shè)置與應(yīng)用程序?qū)又械陌踩浖鄬?duì)應(yīng)的安全服務(wù),所述方法包括:當(dāng)智能終端上的安全軟件確定應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏時(shí),所述安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層;所述系統(tǒng)框架層在獲知所述應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏后,利用所述安全服務(wù)調(diào)用操作系統(tǒng)中的應(yīng)用隱藏接口,隱藏所述應(yīng)用程序。
[0007]可選的,所述安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層包括:所述應(yīng)用程序?qū)永盟霭踩?wù)為所述安全軟件設(shè)置的應(yīng)用程序開(kāi)發(fā)工具集,獲知所述安全服務(wù)的調(diào)用接口,并通過(guò)調(diào)用接口將指示應(yīng)用程序是否要隱藏的通知消息通知給所述系統(tǒng)框架層。
[0008]可選的,所述通知消息包括應(yīng)用程序標(biāo)識(shí)及隱藏標(biāo)識(shí)或者包括應(yīng)用程序標(biāo)識(shí)及顯示標(biāo)識(shí),根據(jù)所述隱藏標(biāo)識(shí)或顯示標(biāo)識(shí)的值確定應(yīng)用程序是否需要被隱藏。
[0009]可選的,所述系統(tǒng)框架層獲知有應(yīng)用程序待隱藏的方式為:所述系統(tǒng)框架層解析所述通知消息,根據(jù)所述隱藏標(biāo)識(shí)或所述顯示標(biāo)識(shí)的值,確定所述應(yīng)用程序是否需要被隱藏。
[0010]可選的,所述應(yīng)用程序開(kāi)發(fā)工具集從應(yīng)用程序?qū)又械陌踩浖@知所述應(yīng)用程序需要被隱藏。
[0011]可選的,所述安全軟件為一個(gè)或多個(gè)應(yīng)用程序維護(hù)隱藏功能,向用戶(hù)提供應(yīng)用隱藏開(kāi)關(guān),當(dāng)某個(gè)應(yīng)用程序的應(yīng)用隱藏開(kāi)關(guān)被開(kāi)啟時(shí),則確定該應(yīng)用程序需要被隱藏。[0012]可選的,所述應(yīng)用隱藏接口是指位于android操作系統(tǒng)中系統(tǒng)框架層中的接口,調(diào)用該系統(tǒng)框架層中的應(yīng)用隱藏接口可對(duì)應(yīng)用程序?qū)又械膽?yīng)用程序進(jìn)行隱藏。
[0013]依據(jù)本發(fā)明的一個(gè)方面,提供一種實(shí)現(xiàn)應(yīng)用程序隱藏的裝置,其中,在操作系統(tǒng)的系統(tǒng)框架層中設(shè)置與應(yīng)用程序?qū)又械陌踩浖鄬?duì)應(yīng)的安全服務(wù),所述裝置包括:通知單元,當(dāng)智能終端上的安全軟件確定應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏時(shí),用于使所述安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層;隱藏單元,所述系統(tǒng)框架層在獲知所述應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏后,用于利用所述安全服務(wù)調(diào)用操作系統(tǒng)中的應(yīng)用隱藏接口,隱藏所述應(yīng)用程序。
[0014]可選的,所述通知單元利用所述安全服務(wù)為所述安全軟件設(shè)置的應(yīng)用程序開(kāi)發(fā)工具集,獲知所述安全服務(wù)的調(diào)用接口,并通過(guò)調(diào)用接口將指示應(yīng)用程序是否要隱藏的通知消息通知給所述系統(tǒng)框架層。
[0015]可選的,所述通知單元發(fā)出的通知消息包括應(yīng)用程序標(biāo)識(shí)及隱藏標(biāo)識(shí)或者包括應(yīng)用程序標(biāo)識(shí)及顯示標(biāo)識(shí),根據(jù)所述隱藏標(biāo)識(shí)或顯示標(biāo)識(shí)的值確定應(yīng)用程序是否需要被隱藏。
[0016]可選的,所述隱藏單元在所述系統(tǒng)框架層解析所述通知消息,根據(jù)所述隱藏標(biāo)識(shí)或所述顯示標(biāo)識(shí)的值,確定所述應(yīng)用程序是否需要被隱藏。
[0017]可選的,所述通知單元利用所述應(yīng)用程序開(kāi)發(fā)工具集從應(yīng)用程序?qū)又械陌踩浖@知所述應(yīng)用程序需要被隱藏。
[0018]可選的,所述安全軟件為一個(gè)或多個(gè)應(yīng)用程序維護(hù)隱藏功能,向用戶(hù)提供應(yīng)用隱藏開(kāi)關(guān),當(dāng)某個(gè)應(yīng)用程序的應(yīng)用隱藏開(kāi)關(guān)被開(kāi)啟時(shí),則確定該應(yīng)用程序需要被隱藏。
[0019]可選的,所述應(yīng)用隱藏接口是指位于android操作系統(tǒng)中系統(tǒng)框架層中的接口,所述隱藏單元調(diào)用該系統(tǒng)框架層中的應(yīng)用隱藏接口可對(duì)應(yīng)用程序?qū)又械膽?yīng)用程序進(jìn)行隱藏
[0020]可見(jiàn),由于本發(fā)明是在系統(tǒng)框架層實(shí)現(xiàn)了對(duì)應(yīng)用程序的隱藏,因此隱藏可靠,不存在現(xiàn)有l(wèi)auncher方式在其他場(chǎng)景失效的問(wèn)題。而且本發(fā)明實(shí)現(xiàn)非常簡(jiǎn)單,主要是調(diào)用了操作系統(tǒng)中的之前未公開(kāi)但是固有的接口,而對(duì)操作系統(tǒng)的修改很少,不會(huì)給操作系統(tǒng)的運(yùn)行帶來(lái)負(fù)擔(dān)。
[0021]上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0022]通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0023]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的實(shí)現(xiàn)應(yīng)用程序隱藏的方法流程圖;以及
[0024]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的實(shí)現(xiàn)應(yīng)用程序隱藏的方法實(shí)例示意圖。
【具體實(shí)施方式】[0025]下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0026]如前所述的,現(xiàn)有技術(shù)雖然可以通過(guò)某個(gè)launcher設(shè)置隱藏應(yīng)用程序,然而這種方案不能保證在其他launcher中也隱藏應(yīng)用程序。為此,本發(fā)明提出一種不同思路的技術(shù)方案,以在操作系統(tǒng)中實(shí)現(xiàn)徹底將某個(gè)/些應(yīng)用程序隱藏。
[0027]本領(lǐng)域技術(shù)人員理解,操作系統(tǒng)包括應(yīng)用程序?qū)?app層)和系統(tǒng)框架層(framework層),至于從功能劃分上有可能包括的的其他層本發(fā)明則不作討論。其中,通常app層可以理解為上層,負(fù)責(zé)與用戶(hù)交互的界面,例如應(yīng)用程序維護(hù)、以及點(diǎn)擊頁(yè)面時(shí)識(shí)別不同種類(lèi)的點(diǎn)擊內(nèi)容從而顯示不同的上下文菜單等。通常framework層作為中間層,這一層的主要職責(zé)是,將app層獲得的用戶(hù)請(qǐng)求,如啟動(dòng)用用程序、點(diǎn)擊鏈接、點(diǎn)擊保存圖片之類(lèi),轉(zhuǎn)發(fā)往下層去;將下層處理好的內(nèi)容,或者通過(guò)消息,或者通過(guò)中間代理類(lèi),來(lái)分發(fā)至上層,對(duì)用戶(hù)展現(xiàn)出來(lái)。
[0028]本發(fā)明一種優(yōu)選實(shí)現(xiàn)方式是,對(duì)app層和framework層進(jìn)行改進(jìn),從而利用這兩層的協(xié)同配合實(shí)現(xiàn)對(duì)指定應(yīng)用程序的隱藏。具體的,可以在framework層增加一個(gè)名為安全服務(wù)的系統(tǒng)服務(wù),并將該安全服務(wù)與app層的安全軟件建立通信,當(dāng)安全軟件維護(hù)的指定應(yīng)用程序需要被隱藏時(shí),安全軟件所在app層通知安全服務(wù),此時(shí)安全服務(wù)通過(guò)調(diào)用操作系統(tǒng)中固有的一個(gè)應(yīng)用隱藏接口,實(shí)現(xiàn)對(duì)指定應(yīng)用程序的隱藏。
[0029]參見(jiàn)圖1,為本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)應(yīng)用程序隱藏的方法的流程圖。其中,在操作系統(tǒng)的系統(tǒng)框架層中設(shè)置與應(yīng)用程序?qū)又械陌踩浖鄬?duì)應(yīng)的安全服務(wù),所述方法包括:
[0030]SlOl:當(dāng)智能終端上的安全軟件確定應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏時(shí),安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層;
[0031]S102:系統(tǒng)框架層在獲知應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏后,利用安全服務(wù)調(diào)用操作系統(tǒng)中的應(yīng)用隱藏接口,隱藏應(yīng)用程序。
[0032]如前已述的,本發(fā)明實(shí)現(xiàn)是基于在framework層中增加一個(gè)名為安全服務(wù)的系統(tǒng)服務(wù)。例如,在framework層中添加的系統(tǒng)服務(wù)命名為:SecurityService,相應(yīng)的,在app層為安全軟件提供一個(gè)應(yīng)用程序開(kāi)發(fā)工具集(sdk)。通過(guò)設(shè)置SecurityService及sdk的接口,建立安全軟件與SecurityService的通信,即建立app層與framework層關(guān)于應(yīng)用隱藏的消息互通通道。當(dāng)app層的安全軟件確定有指定應(yīng)用程序需要隱藏時(shí),安全軟件的sdk通過(guò)與SecurityService之間的調(diào)用接口,將隱藏事件通知給SecurityService。此后,SecurityService直接調(diào)用操作系統(tǒng)中固有的(現(xiàn)有技術(shù)中未公開(kāi)的)應(yīng)用隱藏接口實(shí)現(xiàn)對(duì)應(yīng)用程序的隱藏。例如,在android操作系統(tǒng)中,應(yīng)用隱藏接口是指包管理服務(wù)的setAppIicationEnabIedSetting 0 接口。
[0033]以下從流程順序上描述應(yīng)用隱藏的實(shí)現(xiàn)過(guò)程。
[0034]首先,在app層,安全軟件維護(hù)應(yīng)用程序列表,為一個(gè)或多個(gè)應(yīng)用程序維護(hù)隱藏功能,向用戶(hù)提供應(yīng)用隱藏開(kāi)關(guān),當(dāng)某個(gè)應(yīng)用程序的應(yīng)用隱藏開(kāi)關(guān)被開(kāi)啟時(shí),則確定該應(yīng)用程序需要被隱藏。[0035]其次,當(dāng)安全軟件確定某個(gè)應(yīng)用程序需要被隱藏時(shí),安全軟件通過(guò)它的sdk通知給 framework 層的 SecurityService0
[0036]其中,app層將要隱藏某個(gè)應(yīng)用程序的消息通知給framework層的一種實(shí)現(xiàn)方式是:app層利用與SecurityService對(duì)應(yīng)設(shè)置的sdk,獲知SecurityService的調(diào)用接口,并通過(guò)調(diào)用接口將指示應(yīng)用程序是否要隱藏的通知消息通知給framework層。
[0037]可以理解的是,通知消息要負(fù)責(zé)通知framework層是哪個(gè)應(yīng)用程序要被隱藏或不隱藏,因此,通知消息至少包括應(yīng)用程序標(biāo)識(shí)及隱藏標(biāo)識(shí),當(dāng)隱藏標(biāo)識(shí)為“使能”時(shí),表示應(yīng)用程序需要被隱藏,反之,當(dāng)隱藏標(biāo)識(shí)為“不使能”時(shí),則表示應(yīng)用程序不應(yīng)被隱藏。同理,另一種替代方式是,通知消息包括應(yīng)用程序標(biāo)識(shí)及顯示標(biāo)識(shí),當(dāng)顯示標(biāo)識(shí)為“不使能”時(shí),表示應(yīng)用程序需要被隱藏,反之,當(dāng)顯示標(biāo)識(shí)為“使能”時(shí),表示應(yīng)用程序需要被顯示而不隱藏。
[0038]然后,在framework層,通過(guò)接收并解析通知消息,獲知是否有應(yīng)用程序需要被隱藏。具體地,framework層解析通知消息,根據(jù)隱藏標(biāo)識(shí)為“使能”或顯示標(biāo)識(shí)為“不使能”,確定應(yīng)用程序需要被隱藏。
[0039]最后,在framework層,當(dāng)SecurityService通過(guò)解析通知消息確定要隱藏應(yīng)用程序時(shí),即調(diào)用包管理服務(wù)的SetApplicationEnabledSettingO接口,實(shí)現(xiàn)隱藏應(yīng)用程序的功能。
[0040]通過(guò)上述描述,可以理解的是,本發(fā)明實(shí)施例通過(guò)在framework層增加SecurityService,該SecurityService與安全軟件建立通信,并通過(guò)調(diào)用系統(tǒng)負(fù)責(zé)應(yīng)用程序啟動(dòng)的接口,從而實(shí)現(xiàn)對(duì)安全軟件指定的應(yīng)用程序進(jìn)行隱藏,這一過(guò)程相當(dāng)于將上述之前未公開(kāi)的負(fù)責(zé)隱藏應(yīng)用程序的系統(tǒng)接口提供給安全軟件調(diào)用。
[0041]下面以android操作系統(tǒng)為例,以一個(gè)具體實(shí)例對(duì)本發(fā)明進(jìn)行說(shuō)明。本領(lǐng)域技術(shù)人員可以理解,雖然以安裝有Android系統(tǒng)的智能終端為例,對(duì)本發(fā)明的原理進(jìn)行示例性描述,然而此描述僅僅是示例性的,本發(fā)明的范圍并不限于此,本發(fā)明的原理也可以適用于安裝有其它操作系統(tǒng)(例如Linux、iOS、Windows Phone、Symbian等)的智能終端。
[0042]參見(jiàn)圖2,為該實(shí)例執(zhí)行過(guò)程示意圖。
[0043]在實(shí)現(xiàn)過(guò)程中,涉及操作系統(tǒng)的應(yīng)用程序?qū)?app層)和系統(tǒng)框架層(framework層)。如圖2中,app層主要執(zhí)行安全軟件相關(guān)的過(guò)程,主要包括:安全軟件確定是否有應(yīng)用程序要隱藏、安全軟件的sdk的接口設(shè)置,以及sdk與framework層的通信;framework層主要包括:新增的SecurityService、為sdk提供與SecurityService通信的調(diào)用接口、以及通過(guò) SecurityService 調(diào)用 SetApplicationEnabledSetting()接口。
[0044]按照?qǐng)?zhí)行順序,首先,在app層,安全軟件確定某個(gè)應(yīng)用程序需要被隱藏;其次,當(dāng)安全軟件確定某個(gè)應(yīng)用程序需要被隱藏時(shí),安全軟件通過(guò)它的sdk通知給framework層的SecurityService ;然后,在framework層,SecurityService獲知是否有應(yīng)用程序需要被隱藏;最后,在framework層,當(dāng)SecurityService確定要隱藏應(yīng)用程序時(shí),即調(diào)用包管理服務(wù)的SetApplicationEnabledSettingO接口,實(shí)現(xiàn)隱藏應(yīng)用程序的功能。
[0045]Android系統(tǒng)的包管理服務(wù)可以對(duì)應(yīng)用程序進(jìn)行禁用操作(以下稱(chēng)為disable)操作,被disable的應(yīng)用會(huì)被系統(tǒng)打上特殊的標(biāo)記。
[0046]為安全軟件提供sdk,定義以下接口:
[0047]籲類(lèi):QihooAppManager[0048]? void 方法:setAppEnabled (String packageName, boolean enabled)
[0049]如果要enable/disable指定的應(yīng)用程序,貝U第二個(gè)參數(shù)指定為false就是要disable應(yīng)用程序。
[0050]在android系統(tǒng)中添加一個(gè)名為SecurityService的系統(tǒng)服務(wù),對(duì)應(yīng)上面的sdk,可以提供如下接口:
[0051]# public boolean setAppEnabled(String packageName, boolean enable)
[0052]負(fù)責(zé)enable/disable指定的應(yīng)用程序。
[0053]本接口直接調(diào)用android包管理服務(wù)的未公開(kāi)接口SetApplicationEnabledSettingO。如果sdk里傳進(jìn)來(lái)的第二個(gè)參數(shù)為false,那么這里的第二個(gè)參數(shù)指定為 PackageManager.C0MP0NENT_ENABLED_STATE_DISABLED 即可。
[0054]由以上結(jié)合圖2的實(shí)例介紹可知,本發(fā)明本質(zhì)上就是調(diào)用了 android自身的包管理服務(wù)里面的一個(gè)未公開(kāi)接口。新增的系統(tǒng)服務(wù)SecurityService調(diào)用android系統(tǒng)的未公開(kāi)接口來(lái)做真正的enable/disable操作,而sdk則負(fù)責(zé)把SecurityService的接口公開(kāi)給安全軟件調(diào)用。
[0055]由于本發(fā)明是在系統(tǒng)框架層實(shí)現(xiàn)了對(duì)應(yīng)用程序的隱藏,因此隱藏可靠,不存在現(xiàn)有l(wèi)auncher方式在其他場(chǎng)景失效的問(wèn)題。而且本發(fā)明實(shí)現(xiàn)非常簡(jiǎn)單,主要是調(diào)用了操作系統(tǒng)中的之前未公開(kāi)但是固有的接口,而對(duì)操作系統(tǒng)的修改很少,不會(huì)給操作系統(tǒng)的運(yùn)行帶來(lái)負(fù)擔(dān)。
[0056]與上述方法相對(duì)應(yīng),本發(fā)明還提供一種實(shí)現(xiàn)應(yīng)用程序隱藏的裝置。該裝置可以通過(guò)硬件、軟件或軟硬件結(jié)合方式實(shí)現(xiàn)。該裝置可以是指終端內(nèi)部的功能模塊,也可以是指終端本身,只要終端包括實(shí)現(xiàn)該裝置的功能即可。
[0057]本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)應(yīng)用程序隱藏的裝置,其中,在操作系統(tǒng)的系統(tǒng)框架層中設(shè)置與應(yīng)用程序?qū)又械陌踩浖鄬?duì)應(yīng)的安全服務(wù),該裝置包括:。
[0058]通知單元,當(dāng)智能終端上的安全軟件確定應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏時(shí),用于使所述安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層;
[0059]隱藏單元,系統(tǒng)框架層在獲知所述應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏后,用于利用安全服務(wù)調(diào)用操作系統(tǒng)中的應(yīng)用隱藏接口,隱藏應(yīng)用程序。
[0060]其中,所述通知單元利用所述安全服務(wù)為所述安全軟件設(shè)置的應(yīng)用程序開(kāi)發(fā)工具集,獲知所述安全服務(wù)的調(diào)用接口,并通過(guò)調(diào)用接口將指示應(yīng)用程序是否要隱藏的通知消息通知給所述系統(tǒng)框架層。
[0061]優(yōu)選的,所述安全軟件為一個(gè)或多個(gè)應(yīng)用程序維護(hù)隱藏功能,向用戶(hù)提供應(yīng)用隱藏開(kāi)關(guān),當(dāng)某個(gè)應(yīng)用程序的應(yīng)用隱藏開(kāi)關(guān)被開(kāi)啟時(shí),則確定該應(yīng)用程序需要被隱藏。所述通知單元利用所述應(yīng)用程序開(kāi)發(fā)工具集從應(yīng)用程序?qū)又械陌踩浖@知所述應(yīng)用程序需要被隱藏。
[0062]優(yōu)選的,所述通知單元發(fā)出的通知消息包括應(yīng)用程序標(biāo)識(shí)及隱藏標(biāo)識(shí),當(dāng)所述隱藏標(biāo)識(shí)為“使能”時(shí),表示應(yīng)用程序需要被隱藏;或者,所述通知單元發(fā)出的通知消息包括應(yīng)用程序標(biāo)識(shí)及顯 示標(biāo)識(shí),當(dāng)所述顯示標(biāo)識(shí)為“不使能”時(shí),表示應(yīng)用程序需要被隱藏。此時(shí),所述隱藏單元在所述系統(tǒng)框架層解析所述通知消息,根據(jù)所述隱藏標(biāo)識(shí)為“使能”或所述顯示標(biāo)識(shí)為“不使能”,確定所述應(yīng)用程序需要被隱藏。[0063]其中,所述應(yīng)用隱藏接口是指位于android操作系統(tǒng)中系統(tǒng)框架層中的接口,所述隱藏單元調(diào)用該系統(tǒng)框架層中的應(yīng)用隱藏接口可對(duì)應(yīng)用程序?qū)又械膽?yīng)用程序進(jìn)行隱藏。優(yōu)選的,所述應(yīng)用隱藏接口是指android操作系統(tǒng)中包管理服務(wù)的setAppIicationEnabIedSetting O 接口。
[0064]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類(lèi)系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0065]在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
[0066]類(lèi)似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書(shū)由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0067]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
[0068]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
[0069]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的實(shí)現(xiàn)應(yīng)用程序隱藏的裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。[0070]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱(chēng)。
[0071]本發(fā)明提供Al、一種實(shí)現(xiàn)應(yīng)用程序隱藏的方法,在操作系統(tǒng)的系統(tǒng)框架層中設(shè)置與應(yīng)用程序?qū)又械陌踩浖鄬?duì)應(yīng)的安全服務(wù),所述方法包括:
[0072]當(dāng)智能終端上的安全軟件確定應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏時(shí),所述安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層;
[0073]所述系統(tǒng)框架層在獲知所述應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏后,利用所述安全服務(wù)調(diào)用操作系統(tǒng)中的應(yīng)用隱藏接口,隱藏所述應(yīng)用程序。
[0074]A2、如Al所述的方法,所述安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層包括:
[0075]所述應(yīng)用程序?qū)永盟霭踩?wù)為所述安全軟件設(shè)置的應(yīng)用程序開(kāi)發(fā)工具集,獲知所述安全服務(wù)的調(diào)用接口,并通過(guò)調(diào)用接口將指示應(yīng)用程序是否要隱藏的通知消息通知給所述系統(tǒng)框架層。
[0076]A3、如A2所述的方法,所述通知消息包括應(yīng)用程序標(biāo)識(shí)及隱藏標(biāo)識(shí)或者包括應(yīng)用程序標(biāo)識(shí)及顯示標(biāo)識(shí),根據(jù)所述隱藏標(biāo)識(shí)或顯示標(biāo)識(shí)的值確定應(yīng)用程序是否需要被隱藏。
[0077]A4、如A3所述的方法,所述系統(tǒng)框架層獲知有應(yīng)用程序待隱藏的方式為:所述系統(tǒng)框架層解析所述通知消息,根據(jù)所述隱藏標(biāo)識(shí)或所述顯示標(biāo)識(shí)的值,確定所述應(yīng)用程序是否需要被隱藏。
[0078]A5、如A2所述的方法,所述應(yīng)用程序開(kāi)發(fā)工具集從應(yīng)用程序?qū)又械陌踩浖@知所述應(yīng)用程序需要被隱藏。
[0079]A6、如A5所述的方法,所述安全軟件為一個(gè)或多個(gè)應(yīng)用程序維護(hù)隱藏功能,向用戶(hù)提供應(yīng)用隱藏開(kāi)關(guān),當(dāng)某個(gè)應(yīng)用程序的應(yīng)用隱藏開(kāi)關(guān)被開(kāi)啟時(shí),則確定該應(yīng)用程序需要被隱藏。
[0080]A7、如A1-A6所述的方法,所述應(yīng)用隱藏接口是指位于android操作系統(tǒng)中系統(tǒng)框架層中的接口,調(diào)用該系統(tǒng)框架層中的應(yīng)用隱藏接口可對(duì)應(yīng)用程序?qū)又械膽?yīng)用程序進(jìn)行隱藏。
[0081]B8、一種實(shí)現(xiàn)應(yīng)用程序隱藏的裝置,其中,在操作系統(tǒng)的系統(tǒng)框架層中設(shè)置與應(yīng)用程序?qū)又械陌踩浖鄬?duì)應(yīng)的安全服務(wù),所述裝置包括:
[0082]通知單元,當(dāng)智能終端上的安全軟件確定應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏時(shí),用于使所述安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層;
[0083]隱藏單元,所述系統(tǒng)框架層在獲知所述應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏后,用于利用所述安全服務(wù)調(diào)用操作系統(tǒng)中的應(yīng)用隱藏接口,隱藏所述應(yīng)用程序。
[0084]B9、如B8所述的裝置,所述通知單元利用所述安全服務(wù)為所述安全軟件設(shè)置的應(yīng)用程序開(kāi)發(fā)工具集,獲知所述安全服務(wù)的調(diào)用接口,并通過(guò)調(diào)用接口將指示應(yīng)用程序是否要隱藏的通知消息通知給所述系統(tǒng)框架層。
[0085]BlO^ B8所述的裝置,所述通知單元發(fā)出的通知消息包括應(yīng)用程序標(biāo)識(shí)及隱藏標(biāo)識(shí)或者包括應(yīng)用程序標(biāo)識(shí)及顯示標(biāo)識(shí),根據(jù)所述隱藏標(biāo)識(shí)或顯示標(biāo)識(shí)的值確定應(yīng)用程序是否需要被隱藏。
[0086]B11、如BlO所述的裝置,所述隱藏單元在所述系統(tǒng)框架層解析所述通知消息,根據(jù)所述隱藏標(biāo)識(shí)或所述顯示標(biāo)識(shí)的值,確定所述應(yīng)用程序是否需要被隱藏。
[0087]B12、如B8所述的裝置,所述通知單元利用所述應(yīng)用程序開(kāi)發(fā)工具集從應(yīng)用程序?qū)又械陌踩浖@知所述應(yīng)用程序需要被隱藏。
[0088]B13、如B12所述的裝置,所述安全軟件為一個(gè)或多個(gè)應(yīng)用程序維護(hù)隱藏功能,向用戶(hù)提供應(yīng)用隱藏開(kāi)關(guān),當(dāng)某個(gè)應(yīng)用程序的應(yīng)用隱藏開(kāi)關(guān)被開(kāi)啟時(shí),則確定該應(yīng)用程序需要被隱藏。
[0089]B14、如B8至B13任一項(xiàng)所述的裝置,其特征在于,所述應(yīng)用隱藏接口是指位于android操作系統(tǒng)中系統(tǒng)框架層中的接口,所述隱藏單元調(diào)用該系統(tǒng)框架層中的應(yīng)用隱藏接口可對(duì)應(yīng)用程序?qū)又械膽?yīng)用程序·進(jìn)行隱藏。
【權(quán)利要求】
1.一種實(shí)現(xiàn)應(yīng)用程序隱藏的方法,其特征在于,在操作系統(tǒng)的系統(tǒng)框架層中設(shè)置與應(yīng)用程序?qū)又械陌踩浖鄬?duì)應(yīng)的安全服務(wù),所述方法包括: 當(dāng)智能終端上的安全軟件確定應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏時(shí),所述安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層; 所述系統(tǒng)框架層在獲知所述應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏后,利用所述安全服務(wù)調(diào)用操作系統(tǒng)中的應(yīng)用隱藏接口,隱藏所述應(yīng)用程序。
2.如權(quán)利要求1所述的方法,其特征在于,所述安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層包括: 所述應(yīng)用程序?qū)永盟霭踩?wù)為所述安全軟件設(shè)置的應(yīng)用程序開(kāi)發(fā)工具集,獲知所述安全服務(wù)的調(diào)用接口,并通過(guò)調(diào)用接口將指示應(yīng)用程序是否要隱藏的通知消息通知給所述系統(tǒng)框架層。
3.如權(quán)利要求2所述的方法,其特征在于,所述通知消息包括應(yīng)用程序標(biāo)識(shí)及隱藏標(biāo)識(shí)或者包括應(yīng)用程序標(biāo)識(shí)及顯示標(biāo)識(shí),根據(jù)所述隱藏標(biāo)識(shí)或顯示標(biāo)識(shí)的值確定應(yīng)用程序是否需要被隱藏。
4.如權(quán)利要求3所述的方法,其特征在于,所述系統(tǒng)框架層獲知有應(yīng)用程序待隱藏的方式為:所述系統(tǒng)框架層解析所述通知消息,根據(jù)所述隱藏標(biāo)識(shí)或所述顯示標(biāo)識(shí)的值,確定所述應(yīng)用程序是否需要被隱藏。
5.如權(quán)利要求2所述的方法,其特征在于,所述應(yīng)用程序開(kāi)發(fā)工具集從應(yīng)用程序?qū)又械陌踩浖@知所述應(yīng)用程序需要被隱藏。
6.如權(quán)利要求5所述的方法,其特征在于,所述安全軟件為一個(gè)或多個(gè)應(yīng)用程序維護(hù)隱藏功能,向用戶(hù)提供應(yīng)用隱藏開(kāi)關(guān),當(dāng)某個(gè)應(yīng)用程序的應(yīng)用隱藏開(kāi)關(guān)被開(kāi)啟時(shí),則確定該應(yīng)用程序需要被隱藏。
7.如權(quán)利要求1-6所述的方法,其特征在于,所述應(yīng)用隱藏接口是指位于android操作系統(tǒng)中系統(tǒng)框架層中的接口,調(diào)用該系統(tǒng)框架層中的應(yīng)用隱藏接口可對(duì)應(yīng)用程序?qū)又械膽?yīng)用程序進(jìn)行隱藏。
8.一種實(shí)現(xiàn)應(yīng)用程序隱藏的裝置,其特征在于,其中,在操作系統(tǒng)的系統(tǒng)框架層中設(shè)置與應(yīng)用程序?qū)又械陌踩浖鄬?duì)應(yīng)的安全服務(wù),所述裝置包括: 通知單元,當(dāng)智能終端上的安全軟件確定應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏時(shí),用于使所述安全軟件所在的應(yīng)用程序?qū)油ㄖ僮飨到y(tǒng)的系統(tǒng)框架層; 隱藏單元,所述系統(tǒng)框架層在獲知所述應(yīng)用程序?qū)又杏袘?yīng)用程序待隱藏后,用于利用所述安全服務(wù)調(diào)用操作系統(tǒng)中的應(yīng)用隱藏接口,隱藏所述應(yīng)用程序。
9.如權(quán)利要求8所述的裝置,其特征在于,所述通知單元利用所述安全服務(wù)為所述安全軟件設(shè)置的應(yīng)用程序開(kāi)發(fā)工具集,獲知所述安全服務(wù)的調(diào)用接口,并通過(guò)調(diào)用接口將指示應(yīng)用程序是否要隱藏的通知消息通知給所述系統(tǒng)框架層。
10.如權(quán)利要求8所述的裝置,其特征在于,所述通知單元發(fā)出的通知消息包括應(yīng)用程序標(biāo)識(shí)及隱藏標(biāo)識(shí)或者包括應(yīng)用程序標(biāo)識(shí)及顯示標(biāo)識(shí),根據(jù)所述隱藏標(biāo)識(shí)或顯示標(biāo)識(shí)的值確定應(yīng)用程序是否需要被隱藏。
【文檔編號(hào)】G06F21/51GK103577196SQ201310573660
【公開(kāi)日】2014年2月12日 申請(qǐng)日期:2013年11月15日 優(yōu)先權(quán)日:2013年11月15日
【發(fā)明者】胡中, 王鑫 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司