本發(fā)明涉及應(yīng)用處理技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用程序自啟動(dòng)的處理方法、裝置及移動(dòng)終端。
背景技術(shù):
隨著智能終端的不斷發(fā)展,用戶(hù)在智能終端中安裝的應(yīng)用程序也不斷增多,通常情況下,很多應(yīng)用程序開(kāi)發(fā)者為了方便用戶(hù)使用會(huì)在安裝平臺(tái)開(kāi)機(jī)時(shí)自啟動(dòng)應(yīng)用程序。目前,終端內(nèi)各個(gè)應(yīng)用程序自啟動(dòng)的方式為通過(guò)在系統(tǒng)中注冊(cè)靜態(tài)廣播接收器BroadcastReceiver,通過(guò)廣播接收器來(lái)調(diào)用指定應(yīng)用程序,或者通過(guò)系統(tǒng)中其他組件來(lái)調(diào)用指定應(yīng)用程序,例如,可以通過(guò)內(nèi)容提供者ContentProvider組件來(lái)提供的應(yīng)用程序接口來(lái)調(diào)用同一家族內(nèi)的其他應(yīng)用程序,還可以通過(guò)后臺(tái)服務(wù)Service來(lái)調(diào)用指定系統(tǒng)功能的應(yīng)用程序。
應(yīng)說(shuō)明的是,通過(guò)上述方式自啟動(dòng)的應(yīng)用程序有時(shí)并非系統(tǒng)或其他應(yīng)用程序運(yùn)行時(shí)所必須的條件,或者終端內(nèi)某些應(yīng)用程序的啟動(dòng)并非用戶(hù)所期望啟動(dòng)的,因此,對(duì)于某些應(yīng)用程序以及用戶(hù)來(lái)說(shuō)無(wú)用的應(yīng)用程序,自啟動(dòng)過(guò)多會(huì)占用終端過(guò)多的資源,降低系統(tǒng)運(yùn)行速度。
針對(duì)上述問(wèn)題,現(xiàn)有的禁止應(yīng)用程序自啟動(dòng)的實(shí)現(xiàn)方式為:當(dāng)應(yīng)用程序接收到廣播接收器或者系統(tǒng)中其他組件的調(diào)用后,判斷該應(yīng)用程序是否允許自啟動(dòng),如果允許則不進(jìn)行處理,如果不允許則將已經(jīng)啟動(dòng)的應(yīng)用程序的應(yīng)用進(jìn)程結(jié)束。然而,現(xiàn)有的禁止應(yīng)用程序自啟動(dòng)的技術(shù)是在系統(tǒng)應(yīng)用層實(shí)現(xiàn)的,如果廣播接收器監(jiān)聽(tīng)的廣播過(guò)多,就會(huì)頻繁的觸發(fā)應(yīng)用程序自啟動(dòng),通過(guò)將已經(jīng)自啟動(dòng)的應(yīng)用程序結(jié)束無(wú)法從底層徹底攔截應(yīng)用程序,對(duì)于已經(jīng)成功自啟動(dòng)的應(yīng)用程序如果沒(méi)有及時(shí)結(jié)束進(jìn)程,還可能帶來(lái)隱私以及安全方面的風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供一種應(yīng)用程序自啟動(dòng)的處理方法、裝置及移動(dòng)終端,能夠從底層徹底有效的管理已經(jīng)自啟動(dòng)的應(yīng)用程序。
依據(jù)本發(fā)明一個(gè)方面,提供了一種應(yīng)用程序自啟動(dòng)的處理方法,包括:
接收應(yīng)用程序的自啟動(dòng)請(qǐng)求,獲取應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式;
當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與所述接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略;
根據(jù)所述應(yīng)用處理策略對(duì)所述應(yīng)用程序的自啟動(dòng)請(qǐng)求進(jìn)行處理。
依據(jù)本發(fā)明一個(gè)方面,提供了一種應(yīng)用程序自啟動(dòng)的處理裝置,包括:
獲取單元,用于接收應(yīng)用程序的自啟動(dòng)請(qǐng)求,獲取應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式;
配置單元,用于當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與所述接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略;
處理單元,用于根據(jù)所述應(yīng)用處理策略對(duì)所述應(yīng)用程序的自啟動(dòng)請(qǐng)求進(jìn)行處理。
依據(jù)本發(fā)明一個(gè)方面,提供了一種移動(dòng)終端,包括處理器和存儲(chǔ)器:
所述存儲(chǔ)器用于存儲(chǔ)執(zhí)行上述應(yīng)用程序自啟動(dòng)的處理方法的程序;
所述處理器被配置為用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的程序。
借由上述技術(shù)方案,本發(fā)明實(shí)施例提供的技術(shù)方案至少具有下列優(yōu)點(diǎn):
本發(fā)明提供的一種應(yīng)用程序自啟動(dòng)的處理方法、裝置及移動(dòng)終端,與現(xiàn)有的禁止應(yīng)用程序自啟動(dòng)的技術(shù)是在系統(tǒng)應(yīng)用層實(shí)現(xiàn)的,無(wú)法從底層徹底攔截應(yīng)用程序相比,本發(fā)明通過(guò)獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式,然后當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與服務(wù)啟動(dòng)程序相應(yīng)的應(yīng)用處理策略,在不影響用戶(hù)正常使用的基礎(chǔ)上,對(duì)于用戶(hù)允許自啟動(dòng)的應(yīng)用程序可以啟動(dòng),對(duì)于用戶(hù)不允許自啟動(dòng)的應(yīng)用程序,根據(jù)應(yīng)用處理策略對(duì)應(yīng)用程序的自啟動(dòng)請(qǐng)求進(jìn)行處理,能夠從底層有效的處理應(yīng)用程序的自啟動(dòng),對(duì)應(yīng)用程序進(jìn)行有效的攔截,從而降低了在應(yīng)用程序自啟動(dòng)處理不及時(shí)給用戶(hù)帶來(lái)的隱私以及安全方面的風(fēng)險(xiǎn)。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了本發(fā)明實(shí)施例提供的一種應(yīng)用程序自啟動(dòng)的處理方法流程示意圖;
圖2示出了本發(fā)明實(shí)施例提供的另一種應(yīng)用程序自啟動(dòng)的處理方法流程示意圖;
圖3示出了本發(fā)明實(shí)施例提供的另一種應(yīng)用程序自啟動(dòng)的處理方法流程示意圖
圖4示出了本發(fā)明實(shí)施例提供的一種應(yīng)用程序自啟動(dòng)的處理裝置結(jié)構(gòu)示意圖;
圖5示出了本發(fā)明實(shí)施例提供的另一種應(yīng)用程序自啟動(dòng)的處理裝置結(jié)構(gòu)示意圖;
圖6示出了本發(fā)明實(shí)施例提供的另一種應(yīng)用程序自啟動(dòng)的處理裝置結(jié)構(gòu)示意圖;
圖7示出了本發(fā)明實(shí)施例提供的一種移動(dòng)終端的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(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ù)人員。
本發(fā)明實(shí)施例提供了一種應(yīng)用程序自啟動(dòng)的處理方法,如圖1所示,所述方法包括:
101、接收應(yīng)用程序的自啟動(dòng)請(qǐng)求,獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式。
其中,所述應(yīng)用程序的自啟動(dòng)請(qǐng)求為當(dāng)安卓手機(jī)程序后臺(tái)接收到某些事件,如網(wǎng)絡(luò)連接變化、開(kāi)屏解鎖、開(kāi)機(jī)啟動(dòng)等事件而觸發(fā)的自動(dòng)啟動(dòng)行為,即使清理了內(nèi)存,軟件進(jìn)程當(dāng)時(shí)被殺掉了,但是如果遇到如解鎖、鎖屏等觸發(fā)事件,應(yīng)用程序就會(huì)向系統(tǒng)發(fā)送自動(dòng)的啟動(dòng)后臺(tái)進(jìn)程的自啟動(dòng)請(qǐng)求。
在安卓系統(tǒng)中,觸發(fā)應(yīng)用程序自啟動(dòng)的方式有很多種,例如,用戶(hù)通過(guò)手機(jī)屏幕中點(diǎn)擊應(yīng)用程序圖標(biāo)的場(chǎng)景,或者應(yīng)用之間進(jìn)行數(shù)據(jù)共享的場(chǎng)景,或者執(zhí)行系統(tǒng)本地服務(wù)的場(chǎng)景,不同的應(yīng)用場(chǎng)景對(duì)應(yīng)不同的應(yīng)用程序自啟動(dòng)模式,因此當(dāng)接收到應(yīng)用程序的自啟動(dòng)請(qǐng)求時(shí),有必要根據(jù)不同觸發(fā)應(yīng)用程序的應(yīng)用場(chǎng)景獲取應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式,例如,用戶(hù)通過(guò)手機(jī)屏幕中點(diǎn)擊應(yīng)用程序圖標(biāo)的場(chǎng)景對(duì)應(yīng)的自啟動(dòng)模式為界面啟動(dòng)模式,應(yīng)用之間進(jìn)行數(shù)據(jù)共享的場(chǎng)景對(duì)應(yīng)的啟動(dòng)模式為接口啟動(dòng)模式,執(zhí)行系統(tǒng)本地服務(wù)的場(chǎng)景對(duì)應(yīng)的自啟動(dòng)模式為服務(wù)啟動(dòng)模式。
需要說(shuō)明的是,上述的界面啟動(dòng)模式為用戶(hù)操作而展示的可視化用戶(hù)界面,比如,通過(guò)界面展示一個(gè)菜單項(xiàng)列表供用戶(hù)選擇,或者顯示一些包含說(shuō)明的照片等,本發(fā)明實(shí)施例不做限定。
對(duì)于某些影響到系統(tǒng)運(yùn)行的核心進(jìn)程默認(rèn)是在界面不顯示的,系統(tǒng)默認(rèn)配置好自啟動(dòng)的能力,例如有些系統(tǒng)進(jìn)程無(wú)需自啟動(dòng),就不在界面進(jìn)行顯示,以免用戶(hù)手動(dòng)開(kāi)啟影響功耗和性能,而有些需要自啟動(dòng)能力的系統(tǒng)進(jìn)程,也默認(rèn)不在界面進(jìn)行顯示,以免影響系統(tǒng)的正常運(yùn)行;對(duì)于某些非系統(tǒng)核心進(jìn)程,如部分系統(tǒng)應(yīng)用程序以及第三份應(yīng)用程序,通常情況需要用戶(hù)手動(dòng)參與設(shè)置自啟動(dòng)情況,例如,對(duì)于微信應(yīng)用程序、QQ等需要實(shí)時(shí)接收消息的應(yīng)用程序,默認(rèn)設(shè)置自啟動(dòng)功能,對(duì)于游戲等占用較大內(nèi)存和功耗的應(yīng)用程序通常設(shè)置禁止自啟動(dòng)功能。
然而,在實(shí)際進(jìn)行設(shè)置應(yīng)用程序自啟動(dòng)的過(guò)程中,某些應(yīng)用程序雖然被設(shè)置禁止自啟動(dòng)功能,而當(dāng)終端中家族應(yīng)用過(guò)多,就會(huì)頻繁的后臺(tái)自啟動(dòng),造成了功能和性能方面的影響,如果不及時(shí)結(jié)束進(jìn)程可能帶來(lái)隱私等安全方面的風(fēng)險(xiǎn)。
102、當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與所述接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略。
這里的接口啟動(dòng)模式可以通過(guò)安卓系統(tǒng)中的ContentProvider組件實(shí)現(xiàn),當(dāng)安卓系統(tǒng)開(kāi)機(jī)后,當(dāng)應(yīng)用程序之間需要數(shù)據(jù)共享時(shí),創(chuàng)建ContentProvider組件,以供外部應(yīng)用程序添加共享數(shù)據(jù),當(dāng)存在有應(yīng)用程序需要訪問(wèn)ContentProvider組件中的共享數(shù)據(jù)時(shí),通過(guò)該應(yīng)用程序程序的標(biāo)識(shí)符將共享數(shù)據(jù)對(duì)應(yīng)的應(yīng)用程序調(diào)用起來(lái),從而實(shí)現(xiàn)不同應(yīng)用程序之間共享數(shù)據(jù),例如ContentProvider實(shí)現(xiàn)在應(yīng)用A中,A的進(jìn)程尚未啟動(dòng),另一個(gè)應(yīng)用B在使用ContentProvider時(shí)就會(huì)啟動(dòng)應(yīng)用A。
對(duì)于本發(fā)明實(shí)施例,當(dāng)應(yīng)用程序?qū)?yīng)的啟動(dòng)模式為接口啟動(dòng)模式時(shí),通過(guò)配置與接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略來(lái)控制應(yīng)用程序的啟動(dòng)和禁止,自動(dòng)配置好默認(rèn)值,無(wú)需用戶(hù)手動(dòng)參與設(shè)置,也能夠保證系統(tǒng)的正常運(yùn)行。
需要說(shuō)明的是,應(yīng)用處理策略為在安卓系統(tǒng)在接收到廣播消息后調(diào)用應(yīng)用程序之前判斷是否調(diào)用各應(yīng)用程序的策略,具體可以通過(guò)在啟動(dòng)流程中增加處理模塊,其主要代碼在AmInjector.java文件中,首先通過(guò)調(diào)用服務(wù)接口判斷應(yīng)用程序是否有自啟權(quán)限,如果是則不進(jìn)行攔截,否則判斷應(yīng)用程序的調(diào)用者是否為系統(tǒng)應(yīng)用,如果是則不進(jìn)行攔截,否則判斷應(yīng)用程序是否為系統(tǒng)應(yīng)用,如果是則不進(jìn)行攔截,否則判斷應(yīng)用程序是否處于運(yùn)行狀態(tài),如果是則說(shuō)明應(yīng)用程序當(dāng)前已經(jīng)被后臺(tái)開(kāi)啟,不進(jìn)行攔截,否則判斷應(yīng)用程序的調(diào)用者以及應(yīng)用程序的包名是否一致,如果一致則不進(jìn)行攔截,否則禁止啟動(dòng)應(yīng)用程序。
103、根據(jù)所述應(yīng)用處理策略對(duì)所述應(yīng)用程序的自啟動(dòng)請(qǐng)求進(jìn)行處理。
這里通過(guò)接口啟動(dòng)模式啟動(dòng)的應(yīng)用程序通常為被其他應(yīng)用程序調(diào)用,當(dāng)接收到其他應(yīng)用程序的調(diào)用請(qǐng)求后,會(huì)對(duì)被調(diào)用應(yīng)用程序以及調(diào)用應(yīng)用程序進(jìn)行判斷,如對(duì)于某些用戶(hù)不期望自啟動(dòng)的應(yīng)用程序,可以通過(guò)在底層進(jìn)行設(shè)置禁止啟動(dòng),對(duì)于某些系統(tǒng)運(yùn)行所必須的應(yīng)用程序,如桌面、電話(huà)等系統(tǒng)應(yīng)用程序,可以通過(guò)在底層進(jìn)行設(shè)置可以進(jìn)行啟動(dòng),本法實(shí)施例通過(guò)配置的應(yīng)用處理策略對(duì)通過(guò)廣播啟動(dòng)模式啟動(dòng)的應(yīng)用程序進(jìn)行處理,對(duì)于用戶(hù)不允許啟動(dòng)的應(yīng)用程序能進(jìn)行有效的攔截。
本發(fā)明提供的一種應(yīng)用程序自啟動(dòng)的處理方法,與現(xiàn)有的禁止應(yīng)用程序自啟動(dòng)的技術(shù)是在系統(tǒng)應(yīng)用層實(shí)現(xiàn)的,無(wú)法從底層徹底攔截應(yīng)用程序相比,本發(fā)明通過(guò)獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式,然后當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與接口啟動(dòng)模式相應(yīng)的應(yīng)用處理策略,在不影響用戶(hù)正常使用的基礎(chǔ)上,對(duì)于用戶(hù)允許自啟動(dòng)的應(yīng)用程序可以啟動(dòng),對(duì)于用戶(hù)不允許自啟動(dòng)的應(yīng)用程序,根據(jù)應(yīng)用處理策略對(duì)應(yīng)用程序的自啟動(dòng)請(qǐng)求進(jìn)行處理,能夠從底層有效的處理應(yīng)用程序的自啟動(dòng),對(duì)應(yīng)用程序進(jìn)行有效的攔截,從而降低了在應(yīng)用程序自啟動(dòng)處理不及時(shí)給用戶(hù)帶來(lái)的隱私以及安全方面的風(fēng)險(xiǎn)。
本發(fā)明實(shí)施例提供了另一種應(yīng)用程序自啟動(dòng)的處理方法,如圖2所示,所述方法包括:
201、接收應(yīng)用程序的自啟動(dòng)請(qǐng)求,判斷所述應(yīng)用程序的啟動(dòng)方式是否為界面啟動(dòng)方式,若是則執(zhí)行202a,若否則執(zhí)行202b。
通常情況應(yīng)用程序的自啟動(dòng)可以為分開(kāi)機(jī)啟動(dòng)與后臺(tái)啟動(dòng),開(kāi)機(jī)啟動(dòng)是伴隨終端開(kāi)機(jī)時(shí)候就自動(dòng)開(kāi)啟,用戶(hù)可以通過(guò)自啟動(dòng)選項(xiàng)進(jìn)行設(shè)置,后臺(tái)啟動(dòng)是通過(guò)終端環(huán)節(jié)變化啟動(dòng)程序的行為,例如當(dāng)用戶(hù)打開(kāi)微博應(yīng)用程序時(shí)會(huì)觸發(fā)其他應(yīng)用程序的啟動(dòng)。
其中,界面啟動(dòng)方式為通過(guò)Activity組件啟動(dòng)應(yīng)用程序,每個(gè)界面都是一個(gè)Activity組件,通過(guò)Activity組件提供的可視化界面可以實(shí)現(xiàn)與用戶(hù)的交互,例如,用戶(hù)通過(guò)界面的提示信息可以選擇是否授權(quán)應(yīng)用程序,通過(guò)點(diǎn)擊界面提供的圖片能夠?qū)崿F(xiàn)圖片的旋轉(zhuǎn)等動(dòng)作。
202a、若所述應(yīng)用程序的啟動(dòng)方式是界面啟動(dòng)模式,根據(jù)用戶(hù)操作的行為數(shù)據(jù)啟動(dòng)所述應(yīng)用程序。
由于界面啟動(dòng)方式的應(yīng)用程序?yàn)榘凑张c用戶(hù)交互產(chǎn)生的操作數(shù)據(jù)進(jìn)行啟動(dòng)的方式,因此,若所述應(yīng)用程序的啟動(dòng)方式是界面啟動(dòng)模式,則說(shuō)明該啟動(dòng)方式符合用戶(hù)意愿,不必進(jìn)行啟動(dòng)攔截,進(jìn)一步根據(jù)用戶(hù)操作的行為數(shù)據(jù)啟動(dòng)應(yīng)用程序,如用戶(hù)選擇授權(quán)的行為數(shù)據(jù)或者用戶(hù)點(diǎn)擊照片的行為數(shù)據(jù),本發(fā)明實(shí)施例中不做限定。
相應(yīng)的,與步驟202a對(duì)應(yīng)的有步驟202b、若所述應(yīng)用程序的啟動(dòng)方式不是界面啟動(dòng)方式,通過(guò)在framework層調(diào)用檢測(cè)函數(shù)來(lái)獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式。
需要說(shuō)明的是,若應(yīng)用程序的啟動(dòng)方式不是界面啟動(dòng)方式,則說(shuō)明并非是用戶(hù)操作啟動(dòng)的應(yīng)用程序,而是通過(guò)后臺(tái)啟動(dòng)的應(yīng)用程序,為了不影響用戶(hù)的正常操作,本發(fā)明實(shí)施例通過(guò)在framework層調(diào)用檢測(cè)函數(shù)來(lái)獲取應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式,從而基于不同的自啟動(dòng)模式判斷是否允許該應(yīng)用程序的自啟動(dòng)。
其中,framework層為安卓系統(tǒng)開(kāi)發(fā)人員提供服務(wù)和交互接口,通過(guò)調(diào)用framework層的檢測(cè)函數(shù)能夠獲取應(yīng)用程序的自啟動(dòng)模式,目前常用改的啟動(dòng)模式有廣播Broadcast Receiver啟動(dòng)模式、服務(wù)Srvice啟動(dòng)模式、接口Content Provider啟動(dòng)模式等,本發(fā)明實(shí)施例對(duì)應(yīng)用程序的自啟動(dòng)模式不進(jìn)行限定。
203b、當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與所述接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略。
對(duì)于本發(fā)明實(shí)施例,當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),根據(jù)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式配置與應(yīng)用程序相應(yīng)的應(yīng)用處理策略可以包括:首先通過(guò)調(diào)用服務(wù)接口判斷應(yīng)用程序是否有自啟權(quán)限,如調(diào)用應(yīng)用程序安裝包的包名,即ApsManagerService服務(wù)的接口isInBlackList來(lái)判斷應(yīng)程序是否具有自啟權(quán)限,如果是則不進(jìn)行攔截,否則判斷應(yīng)用程序的調(diào)用者是否為系統(tǒng)應(yīng)用,如藍(lán)牙、通信錄等系統(tǒng)自帶的應(yīng)用程序,如果是則不進(jìn)行攔截,否則判斷應(yīng)用程序是否為系統(tǒng)應(yīng)用,如果是則不進(jìn)行攔截,否則判斷應(yīng)用程序是否處于運(yùn)行狀態(tài),如果是則說(shuō)明應(yīng)用程序當(dāng)前已經(jīng)被后臺(tái)開(kāi)啟,不進(jìn)行攔截,否則判斷應(yīng)用程序的調(diào)用者以及應(yīng)用程序的包名是否一致,如果一致則不進(jìn)行攔截,否則禁止啟動(dòng)應(yīng)用程序。
需要說(shuō)明的是,接口啟動(dòng)模式通過(guò)安卓系統(tǒng)中ContentProvider組件為存儲(chǔ)和讀取數(shù)據(jù)提供了統(tǒng)一的接口,通過(guò)接口啟動(dòng)模式可以實(shí)現(xiàn)數(shù)據(jù)的共享,某些應(yīng)用程序通過(guò)接口啟動(dòng)模式可以啟動(dòng)家族的其他應(yīng)用程序。具體邏輯代碼在ActiveManagerService.java文件的getContentProviderImpl函數(shù)中實(shí)現(xiàn),具體流程如圖3所示。
204b、根據(jù)所述應(yīng)用處理策略對(duì)所述應(yīng)用程序的自啟動(dòng)請(qǐng)求進(jìn)行處理。
本發(fā)明實(shí)施例當(dāng)應(yīng)用程序?qū)?yīng)的啟動(dòng)模式為接口啟動(dòng)模式時(shí),通過(guò)配置與接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略,保證了一些非核心進(jìn)程無(wú)需用戶(hù)手動(dòng)參與設(shè)置便可啟動(dòng)或者禁止,例如對(duì)應(yīng)用戶(hù)經(jīng)常使用的應(yīng)用程序設(shè)置為啟動(dòng),用戶(hù)不經(jīng)常那個(gè)使用或者占用系統(tǒng)內(nèi)存過(guò)大的應(yīng)用程序設(shè)置為禁止啟動(dòng),提高了應(yīng)用程序自啟動(dòng)的靈活性。
205b、按照預(yù)設(shè)時(shí)間間隔統(tǒng)計(jì)所述應(yīng)用程序自啟動(dòng)的處理記錄,將所述處理記錄存放至緩存文件中。
其中,應(yīng)用程序自啟動(dòng)的處理記錄可以包括但不局限于應(yīng)用程序自啟動(dòng)情況,具體包括啟動(dòng)的次數(shù),通過(guò)不同啟動(dòng)模式實(shí)現(xiàn)自啟動(dòng)的次數(shù),以及被其他應(yīng)用程序喚醒啟動(dòng)的次數(shù),還可以詳細(xì)的記錄被哪些應(yīng)用程序喚醒啟動(dòng),以及喚醒啟動(dòng)的次數(shù)、時(shí)間等。
需要說(shuō)明的是,本發(fā)明實(shí)施例對(duì)上述預(yù)設(shè)時(shí)間間隔不進(jìn)行限定,優(yōu)選為1天,通常情況以天為單位來(lái)展示應(yīng)用程序每天的處理記錄,如每天喚醒應(yīng)用程序的情況以及每天被其他應(yīng)用程序喚醒的情況。
相應(yīng)的,本發(fā)明實(shí)施例中的處理記錄還可以包括但不局限于應(yīng)用程序攔截情況,具體包括攔截的次數(shù),通過(guò)不同啟動(dòng)模式實(shí)現(xiàn)攔截的次數(shù),以及被其他應(yīng)用程序喚醒攔截的次數(shù),還可以詳細(xì)的記錄被哪些應(yīng)用程序喚醒攔截,以及喚醒攔截的次數(shù)、時(shí)間等。
本發(fā)明實(shí)施例通過(guò)按照預(yù)設(shè)時(shí)間間隔統(tǒng)計(jì)應(yīng)用程序自啟動(dòng)的處理記
錄,將所述處理記錄存放至緩存文件中,從而使得應(yīng)用程序的啟動(dòng)情況以及家族應(yīng)用程序的關(guān)系一目了然,以便用戶(hù)可以根據(jù)自己的實(shí)際需求來(lái)決定是否更改應(yīng)用程序的啟動(dòng)情況。
206b、當(dāng)所述緩存文件中的處理記錄大于預(yù)設(shè)閾值時(shí),將所述處理記錄更新至預(yù)置數(shù)據(jù)庫(kù)中。
由于緩存文件在系統(tǒng)運(yùn)行過(guò)程中會(huì)占用系統(tǒng)內(nèi)存,本發(fā)明實(shí)施例在緩存文件中的處理記錄過(guò)多的時(shí)候?yàn)樘幚碛涗浽O(shè)置一個(gè)預(yù)設(shè)預(yù)置,例如,當(dāng)緩存文件中的處理記錄大于20條時(shí),則將處理記錄進(jìn)行更新,本發(fā)明實(shí)施例對(duì)該預(yù)設(shè)預(yù)置的大小在此不進(jìn)行限定,可根據(jù)系統(tǒng)實(shí)際運(yùn)行情況進(jìn)行設(shè)置,為了不影響系統(tǒng)運(yùn)行速率,進(jìn)一步可以將處理記錄更新配置中心的數(shù)據(jù)庫(kù)中的表格里,保證了系統(tǒng)運(yùn)行的穩(wěn)定性。
本發(fā)明提供的另一種應(yīng)用程序自啟動(dòng)的處理方法,對(duì)于安裝在手機(jī)中的應(yīng)用程序,當(dāng)應(yīng)用程序?qū)?yīng)的啟動(dòng)模式為接口啟動(dòng)模式時(shí),通過(guò)配置與接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略,能夠從底層有效的管理應(yīng)用自啟動(dòng);通過(guò)統(tǒng)計(jì)應(yīng)用程序的處理記錄,以便在不影響用戶(hù)正常使用的基礎(chǔ)上,使得用戶(hù)能夠根據(jù)處理記錄來(lái)設(shè)置應(yīng)用程序自啟動(dòng),從而提高應(yīng)用程序自啟動(dòng)處理方式的靈活性。
進(jìn)一步地,作為圖1所述方法的具體實(shí)現(xiàn),本發(fā)明實(shí)施例提供了一種應(yīng)用程序自啟動(dòng)的處理裝置,如圖4所示,所述裝置包括:獲取單元31、配置單元32、處理單元33。
獲取單元31,可以用于當(dāng)接收到應(yīng)用程序的自啟動(dòng)請(qǐng)求時(shí),獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式;獲取單元31為一種應(yīng)用程序自啟動(dòng)的處理裝置中用于獲取應(yīng)用程序自啟動(dòng)的主要功能模塊,具體可以根據(jù)應(yīng)用程序不同的觸發(fā)模式進(jìn)行獲取。
配置單元32,可以用于當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與所述接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略;配置單元32為一種應(yīng)用程序自啟動(dòng)的處理裝置用于為接口啟動(dòng)模式的應(yīng)用程序配置對(duì)應(yīng)的應(yīng)用處理策略的主要功能模塊。
處理單元33,可以用于根據(jù)所述應(yīng)用處理策略對(duì)所述應(yīng)用程序的自啟動(dòng)請(qǐng)求進(jìn)行處理,處理單元33為一種應(yīng)用程序自啟動(dòng)的處理裝置中用于設(shè)置應(yīng)用程序開(kāi)啟或者攔截的主要功能模塊,對(duì)于用戶(hù)不期望啟動(dòng)的應(yīng)用程序設(shè)置為攔截啟動(dòng),對(duì)于用戶(hù)經(jīng)常使用的應(yīng)用程序設(shè)置為自啟動(dòng)。
本發(fā)明提供的一種應(yīng)用程序自啟動(dòng)的處理裝置,與現(xiàn)有的禁止應(yīng)用程序自啟動(dòng)的技術(shù)是在系統(tǒng)應(yīng)用層實(shí)現(xiàn)的,無(wú)法從底層徹底攔截應(yīng)用程序相比,本發(fā)明通過(guò)獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式,然后當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與接口啟動(dòng)模式相應(yīng)的應(yīng)用處理策略,在不影響用戶(hù)正常使用的基礎(chǔ)上,對(duì)于用戶(hù)允許自啟動(dòng)的應(yīng)用程序可以啟動(dòng),對(duì)于用戶(hù)不允許自啟動(dòng)的應(yīng)用程序,根據(jù)應(yīng)用處理策略對(duì)應(yīng)用程序的自啟動(dòng)請(qǐng)求進(jìn)行處理,能夠從底層有效的處理應(yīng)用程序的自啟動(dòng),對(duì)應(yīng)用程序進(jìn)行有效的攔截,從而降低了在應(yīng)用程序自啟動(dòng)處理不及時(shí)給用戶(hù)帶來(lái)的隱私以及安全方面的風(fēng)險(xiǎn)。
進(jìn)一步地,作為圖2所述方法的具體實(shí)現(xiàn),本發(fā)明實(shí)施例提供了另一種應(yīng)用程序自啟動(dòng)的處理裝置,如圖5所示,所述裝置包括:判斷單元41、獲取單元42、配置單元43、處理單元44、統(tǒng)計(jì)單元45、更新單元46。
獲取單元42,可以用于接收應(yīng)用程序的自啟動(dòng)請(qǐng)求,獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式;獲取單元42為一種應(yīng)用程序自啟動(dòng)的處理裝置中用于獲取應(yīng)用程序自啟動(dòng)的主要功能模塊,具體可以根據(jù)應(yīng)用程序不同的觸發(fā)模式進(jìn)行獲??;
配置單元43,可以用于當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與所述接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略;配置單元43為一種應(yīng)用程序自啟動(dòng)的處理裝置用于為接口啟動(dòng)模式的應(yīng)用程序配置對(duì)應(yīng)的應(yīng)用處理策略的主要功能模塊;
處理單元44,可以用于根據(jù)所述應(yīng)用處理策略對(duì)所述應(yīng)用程序進(jìn)行處理,處理單元44為一種應(yīng)用程序自啟動(dòng)的處理裝置中用于設(shè)置應(yīng)用程序開(kāi)啟或者攔截的主要功能模塊,對(duì)于用戶(hù)不期望啟動(dòng)的應(yīng)用程序設(shè)置為攔截啟動(dòng),對(duì)于用戶(hù)經(jīng)常使用的應(yīng)用程序設(shè)置為自啟動(dòng)。
進(jìn)一步地,為了方便用戶(hù)可以根據(jù)自己的實(shí)際需求來(lái)決定是否更改應(yīng)用程序的啟動(dòng)情況,所述裝置還包括:
判斷單元41,可以用于判斷所述應(yīng)用程序的啟動(dòng)方式是否為界面啟動(dòng)方式,判斷單元41為一種應(yīng)用程序自啟動(dòng)的處理裝置中用于判斷應(yīng)用程序是否通過(guò)用戶(hù)界面的方式啟動(dòng)的主要功能模塊,其中,界面啟動(dòng)方式為通過(guò)Activity組件啟動(dòng)應(yīng)用程序;
所述判斷單元41,具體可以用于若所述應(yīng)用程序的啟動(dòng)方式是界面啟動(dòng)方式,則根據(jù)用戶(hù)操作的行為數(shù)據(jù)啟動(dòng)所述應(yīng)用程序,其中,用戶(hù)操作的行為數(shù)據(jù)可以包括但不局限于用戶(hù)選擇授權(quán)的行為數(shù)據(jù)或者用戶(hù)點(diǎn)擊照片的行為數(shù)據(jù);
所述判斷單元41,具體還可以用于若所述應(yīng)用程序的啟動(dòng)方式不是界面啟動(dòng)方式,獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式。
具體地,為了獲取不同應(yīng)用程序的自啟動(dòng)模式,所述獲取單元42具體可以用于通過(guò)在framework層調(diào)用檢測(cè)函數(shù)來(lái)獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式。
當(dāng)所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),如圖6所示,所述配置單元43包括:
第一判斷模塊431,可以用于通過(guò)調(diào)用服務(wù)接口判斷所述應(yīng)用程序是否有自啟權(quán)限;
所述第一判斷模塊431,具體可以用于若通過(guò)調(diào)用服務(wù)接口判斷所述應(yīng)用程序有自啟權(quán)限,則啟動(dòng)所述應(yīng)用程序;
第二判斷模塊432,可以用于若通過(guò)調(diào)用服務(wù)接口判斷所述應(yīng)用程序沒(méi)有自啟權(quán)限,判斷所述應(yīng)用程序的調(diào)用者是否為系統(tǒng)應(yīng)用;
所述第二判斷模塊432,具體可以用于若所述應(yīng)用程序的調(diào)用者是系統(tǒng)應(yīng)用,則啟動(dòng)所述應(yīng)用程序;
第三判斷模塊433,可以用于若所述應(yīng)用程序的調(diào)用者不是系統(tǒng)應(yīng)用,判斷所述應(yīng)用程序是否為系統(tǒng)應(yīng)用;
所述第三判斷模塊433,具體可以用于若所述應(yīng)用程序是系統(tǒng)應(yīng)用,則啟動(dòng)所述應(yīng)用程序;
第四判斷模塊434,可以用于若所述應(yīng)用程序不是系統(tǒng)應(yīng)用,判斷所述應(yīng)用程序是否處于運(yùn)行狀態(tài);
所述第四判斷模塊434,具體用于若所述應(yīng)用程序是處于運(yùn)行狀態(tài),則啟動(dòng)所述應(yīng)用程序;
第五判斷模塊435,可以用于若所述應(yīng)用程序不是處于運(yùn)行狀態(tài),判斷所述應(yīng)用程序的調(diào)用者以及所述應(yīng)用程序的包名是否一致;
所述第五判斷模塊435,具體可以用于若所述應(yīng)用程序的調(diào)用者以及所述應(yīng)用程序的包名一致,則啟動(dòng)所述應(yīng)用程序;
所述第五判斷模塊435,具體還可以用于若所述應(yīng)用程序的調(diào)用者以及所述應(yīng)用程序的包名不一致,則禁止啟動(dòng)所述應(yīng)用程序。
進(jìn)一步地,所述第一判斷模塊431,具體可以用于通過(guò)調(diào)用接口識(shí)別所述應(yīng)用程序的標(biāo)識(shí)信息來(lái)判斷所述應(yīng)用程序是否具有自啟權(quán)限,這里的標(biāo)識(shí)信息可以為應(yīng)用程序的pid和應(yīng)用程序的uid。
進(jìn)一步地,為了方便用戶(hù)可以根據(jù)自己的實(shí)際需求來(lái)決定是否更改應(yīng)用程序的啟動(dòng)情況,所述裝置還包括:
統(tǒng)計(jì)單元45,用于按照預(yù)設(shè)時(shí)間間隔統(tǒng)計(jì)所述應(yīng)用程序自啟動(dòng)的處理記錄,將所述處理記錄存放至緩存文件中,統(tǒng)計(jì)單元45為一種應(yīng)用程序自啟動(dòng)的處理裝置中用于記錄應(yīng)用程序自啟動(dòng)處理記錄的主要功能模塊,其中,應(yīng)用程序自啟動(dòng)的處理記錄可以包括但不局限于應(yīng)用程序自啟動(dòng)情況,具體包括啟動(dòng)的次數(shù),通過(guò)不同啟動(dòng)模式實(shí)現(xiàn)自啟動(dòng)的次數(shù),以及被其他應(yīng)用程序喚醒啟動(dòng)的次數(shù),還可以詳細(xì)的記錄被哪些應(yīng)用程序喚醒啟動(dòng),以及喚醒啟動(dòng)的次數(shù)、時(shí)間等。
進(jìn)一步地,由于緩存文件在系統(tǒng)運(yùn)行過(guò)程中會(huì)占用系統(tǒng)內(nèi)存,為了不影響系統(tǒng)運(yùn)行速率,所述裝置還包括:
更新單元46,可以用于當(dāng)所述緩存文件中的處理記錄大于預(yù)設(shè)閾值時(shí),將所述處理記錄更新至預(yù)置數(shù)據(jù)庫(kù)中,更新單元46為一種應(yīng)用程序自啟動(dòng)的處理裝置中用于更新應(yīng)用程序自啟動(dòng)處理記錄的主要功能模塊。
本發(fā)明提供的另一種應(yīng)用程序自啟動(dòng)的處理裝置,對(duì)于安裝在手機(jī)中的應(yīng)用程序,當(dāng)應(yīng)用程序?qū)?yīng)的啟動(dòng)模式為接口啟動(dòng)模式時(shí),通過(guò)配置與接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略,能夠從底層有效的管理應(yīng)用自啟動(dòng);通過(guò)統(tǒng)計(jì)應(yīng)用程序的處理記錄,以便在不影響用戶(hù)正常使用的基礎(chǔ)上,使得用戶(hù)能夠根據(jù)處理記錄來(lái)設(shè)置應(yīng)用程序自啟動(dòng),從而提高應(yīng)用程序自啟動(dòng)處理方式的靈活性。
本發(fā)明實(shí)施例提供了一種移動(dòng)終端,如圖7所示,包括一個(gè)或多個(gè)處理器(processor)51、通信接口(Communications Interface)52、存儲(chǔ)器(memory)53和總線(xiàn)54,其中,處理器51、通信接口52、存儲(chǔ)器53通過(guò)總線(xiàn)54完成相互間的通信。通信接口52可以用于獲取模塊、擴(kuò)展模塊與訪問(wèn)模塊之間的信息傳輸。處理器51可以調(diào)用存儲(chǔ)器53中的邏輯指令,使得所述裝置能夠執(zhí)行上述任意實(shí)施例中的圖像顯示方法。
此外,上述的存儲(chǔ)器53中的邏輯指令可以通過(guò)軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
本發(fā)明提供的一種移動(dòng)終端,與現(xiàn)有的禁止應(yīng)用程序自啟動(dòng)的技術(shù)是在系統(tǒng)應(yīng)用層實(shí)現(xiàn)的,無(wú)法從底層徹底攔截應(yīng)用程序相比,本發(fā)明通過(guò)獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式,然后當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與服務(wù)啟動(dòng)程序相應(yīng)的應(yīng)用處理策略,在不影響用戶(hù)正常使用的基礎(chǔ)上,對(duì)于用戶(hù)允許自啟動(dòng)的應(yīng)用程序可以啟動(dòng),對(duì)于用戶(hù)不允許自啟動(dòng)的應(yīng)用程序,根據(jù)應(yīng)用處理策略對(duì)應(yīng)用程序的自啟動(dòng)請(qǐng)求進(jìn)行處理,能夠從底層有效的處理應(yīng)用程序的自啟動(dòng),對(duì)應(yīng)用程序進(jìn)行有效的攔截,從而降低了在應(yīng)用程序自啟動(dòng)處理不及時(shí)給用戶(hù)帶來(lái)的隱私以及安全方面的風(fēng)險(xiǎn)。
本發(fā)明公開(kāi)了A1、一種應(yīng)用程序自啟動(dòng)的處理方法,包括:
接收應(yīng)用程序的自啟動(dòng)請(qǐng)求,獲取應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式;
當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與所述接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略;
根據(jù)所述應(yīng)用處理策略對(duì)所述應(yīng)用程序的自啟動(dòng)請(qǐng)求進(jìn)行處理。
A2、如A1所述的方法,所述配置與所述接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略包括:
通過(guò)調(diào)用服務(wù)接口判斷所述應(yīng)用程序是否有自啟權(quán)限;
若是,則啟動(dòng)所述應(yīng)用程序,否則,判斷所述應(yīng)用程序的調(diào)用者是否為系統(tǒng)應(yīng)用;
若是,則啟動(dòng)所述應(yīng)用程序,否則,判斷所述應(yīng)用程序是否為系統(tǒng)應(yīng)用;
若是,則啟動(dòng)所述應(yīng)用程序,否則,判斷所述應(yīng)用程序是否處于運(yùn)行狀態(tài);
若是,則啟動(dòng)所述應(yīng)用程序,否則,判斷所述應(yīng)用程序的調(diào)用者以及所述應(yīng)用程序的包名是否一致;
若是,則啟動(dòng)所述應(yīng)用程序,否則,禁止啟動(dòng)所述應(yīng)用程序。
A3、如A2所述的方法,所述通過(guò)調(diào)用服務(wù)接口判斷所述應(yīng)用程序是否有自啟權(quán)限包括:
通過(guò)調(diào)用接口識(shí)別所述應(yīng)用程序的標(biāo)識(shí)信息來(lái)判斷所述應(yīng)用程序是否具有自啟權(quán)限。
A4、如A1-A3中任一項(xiàng)所述的方法,所述獲取應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式包括:
通過(guò)在framework層調(diào)用檢測(cè)函數(shù)來(lái)獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式。
A5、如A4所述的方法,在所述通過(guò)在framework層調(diào)用檢測(cè)函數(shù)來(lái)獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式之前,所述方法還包括:
判斷所述應(yīng)用程序的啟動(dòng)方式是否為界面啟動(dòng)方式;
若是,則根據(jù)用戶(hù)操作的行為數(shù)據(jù)啟動(dòng)所述應(yīng)用程序,否則獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式。
A6、如A5所述的方法,所述方法還包括:
按照預(yù)設(shè)時(shí)間間隔統(tǒng)計(jì)所述應(yīng)用程序自啟動(dòng)的處理記錄,將所述處理記錄存放至緩存文件中。
A7、如A6所述的方法,所述方法還包括:
當(dāng)所述緩存文件中的處理記錄大于預(yù)設(shè)閾值時(shí),將所述處理記錄更新至預(yù)置數(shù)據(jù)庫(kù)中。
B8、一種應(yīng)用程序自啟動(dòng)的處理裝置,包括:
獲取單元,用于接收應(yīng)用程序的自啟動(dòng)請(qǐng)求,獲取應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式;
配置單元,用于當(dāng)應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式為接口啟動(dòng)模式時(shí),配置與所述接口啟動(dòng)模式對(duì)應(yīng)的應(yīng)用處理策略;
處理單元,用于根據(jù)所述應(yīng)用處理策略對(duì)所述應(yīng)用程序的自啟動(dòng)請(qǐng)求進(jìn)行處理。
B9、如B8所述的裝置,所述配置單元包括:
第一判斷模塊,用于通過(guò)調(diào)用服務(wù)接口判斷所述應(yīng)用程序是否有自啟權(quán)限;
所述第一判斷模塊,具體用于若通過(guò)調(diào)用服務(wù)接口判斷所述應(yīng)用程序有自啟權(quán)限,則啟動(dòng)所述應(yīng)用程序;
第二判斷模塊,用于若通過(guò)調(diào)用服務(wù)接口判斷所述應(yīng)用程序沒(méi)有自啟權(quán)限,判斷所述應(yīng)用程序的調(diào)用者是否為系統(tǒng)應(yīng)用;
所述第二判斷模塊,具體用于若所述應(yīng)用程序的調(diào)用者是系統(tǒng)應(yīng)用,則啟動(dòng)所述應(yīng)用程序;
第三判斷模塊,用于若所述應(yīng)用程序的調(diào)用者不是系統(tǒng)應(yīng)用,判斷所述應(yīng)用程序是否為系統(tǒng)應(yīng)用;
所述第三判斷模塊,具體用于若所述應(yīng)用程序是系統(tǒng)應(yīng)用,則啟動(dòng)所述應(yīng)用程序;
第四判斷模塊,用于若所述應(yīng)用程序不是系統(tǒng)應(yīng)用,判斷所述應(yīng)用程序是否處于運(yùn)行狀態(tài);
所述第四判斷模塊,具體用于若所述應(yīng)用程序是處于運(yùn)行狀態(tài),則啟動(dòng)所述應(yīng)用程序;
第五判斷模塊,用于若所述應(yīng)用程序不是處于運(yùn)行狀態(tài),判斷所述應(yīng)用程序的調(diào)用者以及所述應(yīng)用程序的包名是否一致;
所述第五判斷模塊,具體用于若所述應(yīng)用程序的調(diào)用者以及所述應(yīng)用程序的包名一致,則啟動(dòng)所述應(yīng)用程序;
所述第五判斷模塊,具體還用于若所述應(yīng)用程序的調(diào)用者以及所述應(yīng)用程序的包名不一致,則禁止啟動(dòng)所述應(yīng)用程序。
B10、如B9所述的裝置,
所述第一判斷模塊,具體用于通過(guò)調(diào)用接口識(shí)別所述應(yīng)用程序的標(biāo)識(shí)信息來(lái)判斷所述應(yīng)用程序是否具有自啟權(quán)限。
B11、如B8-B10中任一項(xiàng)所述的裝置,
所述獲取單元,具體用于通過(guò)在framework層調(diào)用檢測(cè)函數(shù)來(lái)獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式。
B12、如B11所述的裝置,所述裝置還包括:
判斷單元,用于判斷所述應(yīng)用程序的啟動(dòng)方式是否為界面啟動(dòng)方式;
所述判斷單元,具體用于若所述應(yīng)用程序的啟動(dòng)方式是界面啟動(dòng)方式,則根據(jù)用戶(hù)操作的行為數(shù)據(jù)啟動(dòng)所述應(yīng)用程序;
所述判斷單元,具體還用于若所述應(yīng)用程序的啟動(dòng)方式不是界面啟動(dòng)方式,獲取所述應(yīng)用程序?qū)?yīng)的自啟動(dòng)模式。
B13、如B12所述的裝置,所述裝置還包括:
統(tǒng)計(jì)單元,用于按照預(yù)設(shè)時(shí)間間隔統(tǒng)計(jì)所述應(yīng)用程序自啟動(dòng)的處理記錄,將所述處理記錄存放至緩存文件中。
B14、如B13所述的裝置,所述裝置還包括:
更新單元,用于當(dāng)所述緩存文件中的處理記錄大于預(yù)設(shè)閾值時(shí),將所述處理記錄更新至預(yù)置數(shù)據(jù)庫(kù)中。
C15、一種移動(dòng)終端,包括處理器和存儲(chǔ)器:
所述存儲(chǔ)器用于存儲(chǔ)執(zhí)行A1至A7中任一項(xiàng)所述方法的程序;
所述處理器被配置為用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的程序。
在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
可以理解的是,上述方法及裝置中的相關(guān)特征可以相互參考。另外,上述實(shí)施例中的“第一”、“第二”等是用于區(qū)分各實(shí)施例,而并不代表各實(shí)施例的優(yōu)劣。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
在此提供的算法和顯示不與任何特定計(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í)施方式。
在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
類(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í)施例。
本領(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)代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
本發(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í)施例的定位系統(tǒng)性能的優(yōu)化方法及裝置中的一些或者全部部件的一些或者全部功能。本發(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)上提供,或者以任何其他形式提供。
應(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)。