阻止通過推送平臺組件啟動應用的方法及裝置的制造方法
【專利摘要】本發(fā)明實施例公開了一種阻止通過推送平臺組件啟動應用的方法,包括:通過操作系統(tǒng)的啟動管理服務檢測應用啟動請求,獲取所述應用啟動請求對應的應用以及攜帶的啟動類型;在所述啟動類型與預設的第三方推送平臺啟動類型匹配時,獲取所述應用與所述啟動類型對應的組件信息;在所述獲取的組件信息中包含存在于預設的第三方推送平臺黑名單的組件名稱時,拒絕響應所述應用啟動請求。另外,本發(fā)明實施例還公開了一種阻止通過推送平臺組件啟動應用的裝置。采用本發(fā)明,可有效阻止三方推送平臺后臺啟動應用,提高終端和用戶資料的安全性。
【專利說明】
阻止通過推送平臺組件啟動應用的方法及裝置
技術領域
[0001]本發(fā)明涉及計算機技術領域,尤其涉及一種阻止通過推送平臺組件啟動應用的方法及裝置。
【背景技術】
[0002]隨著互聯(lián)網(wǎng)技術的興起,越來越多的互聯(lián)網(wǎng)企業(yè)、電商平臺將應用程序作為盈利的主戰(zhàn)場之一,目前各種系統(tǒng)平臺上的應用越來越多,用戶在終端上安裝的應用程序也越來越多。目前,智能系統(tǒng)己經(jīng)是用戶群最大的智能終端操作系統(tǒng)平臺,智能終端是目前許多用戶最常用最重要的電子設備,用戶經(jīng)常會安裝各種第三方應用,但是這些第三方應用經(jīng)常會在后臺偷偷啟動,在后臺偷偷地進行各種對用戶有影響的行為,并且消耗用戶的流量與終端的電量,這些三方應用有一種比較隱蔽特殊的方式來進行后臺自啟動,就是通過實現(xiàn)各種三方推送平臺SDK的方式來實現(xiàn),現(xiàn)有的智能系統(tǒng)對這種情況沒有限制,也沒有有效的識別方法,很多三方應用都會通過實現(xiàn)各種三方推送平臺SDK來實現(xiàn)相互啟動,關聯(lián)啟動,后臺自啟動,這樣在用戶不知情的情況下,會被一些流氓應用所利用,造成耗電耗流量,還有各種損失,不利于用戶的操作體驗與安全。
[0003]三方推送平臺SDK是指市場上一些公司提供給其它三方APK應用,用于推送消息,統(tǒng)計數(shù)據(jù),推送配置信息等功能的JAR包或公共服務包,這種三方三方推送平臺SDK—般都有公布給其它三方APK應用的標準接口與實現(xiàn)接入標準。其它三方APK應用通過實現(xiàn)三方推送平臺SDK的接入標準,并實現(xiàn)SDK的標準接口,就可以使用這些三方推送平臺SDK來進行推送消息,統(tǒng)計數(shù)據(jù),推送配置信息等功能。實現(xiàn)了三方推送平臺SDK的應用是指在自己的APK應用中使用了這些三方推送平臺SDK公共服務包的應用。
[0004]
【申請人】經(jīng)研究發(fā)現(xiàn),上述實現(xiàn)了三方推送平臺SDK的應用對android系統(tǒng)來說,會有下面一些不良作用:
[0005]1、實現(xiàn)了三方推送平臺SDK的應用可能會通過推送平臺SDK實現(xiàn)的服務,去啟動其它不相關的三方應用,實現(xiàn)它的非法目的,會耗電耗流量,并且不安全;
[0006]2、實現(xiàn)了三方推送平臺SDK的應用可能會通過推送平臺SDK實現(xiàn)的服務,在實現(xiàn)同一個三方推送平臺的各種應用間可能會相互啟動,后臺自啟動,關聯(lián)啟動,達到它們常駐,不被系統(tǒng)回收的目的,會耗電耗流量,并且不安全;
[0007]3、實現(xiàn)了三方推送平臺SDK的應用可能會通過推送平臺SDK實現(xiàn)的服務,推送大量信息,彈出界面,狀態(tài)欄通知,鎖屏通知等,騷擾用戶,會耗電耗流量,并且不安全;
[0008]4、其它非法目的,導致系統(tǒng)不安全。
[0009]綜上所述,現(xiàn)有技術中三方應用通過實現(xiàn)各種三方推送平臺SDK來實現(xiàn)相互啟動、關聯(lián)啟動、后臺自啟動等非法啟動的方案存在安全性不足的問題。
【發(fā)明內(nèi)容】
[0010]基于此,為解決傳統(tǒng)技術中三方應用通過實現(xiàn)各種三方推送平臺SDK來實現(xiàn)相互啟動、關聯(lián)啟動、后臺自啟動等非法啟動的方案存在安全性不足的技術問題,特提出了一種阻止通過推送平臺組件啟動應用的方法。
[0011]—種阻止通過推送平臺組件啟動應用的方法,包括:
[0012]通過操作系統(tǒng)的啟動管理服務檢測應用啟動請求,獲取所述應用啟動請求對應的應用以及攜帶的啟動類型;
[0013]在所述啟動類型與預設的第三方推送平臺啟動類型匹配時,獲取所述應用與所述啟動類型對應的組件信息;
[0014]在所述獲取的組件信息中包含存在于預設的第三方推送平臺黑名單的組件名稱時,拒絕響應所述應用啟動請求。
[0015]可選的,在其中一個實施例中,所述預設的第三方推送平臺黑名單存儲于本地或云服務器上。
[0016]可選的,在其中一個實施例中,所述拒絕響應所述應用啟動請求的步驟之后還包括:
[0017]獲取所述應用啟動請求對應的調(diào)用者應用;
[0018]獲取所述調(diào)用者應用創(chuàng)建的與所述應用啟動請求對應的中間對象,回收所述中間對象。
[0019]可選的,在其中一個實施例中,所述獲取所述應用啟動請求對應的應用以及攜帶的啟動類型的步驟還包括:
[0020]通過startProcessLocked函數(shù)獲取 hostingType 參數(shù),根據(jù)所述 hostingType 參數(shù)確定所述啟動類型。
[0021]可選的,在其中一個實施例中,所述拒絕響應所述應用啟動請求的步驟之后還包括:
[0022]通過展示彈出窗或在通知欄提示用戶已將所述應用啟動請求屏蔽;
[0023 ]接收輸入的強制啟動指令,重新響應所述已拒絕的應用啟動請求。
[0024]可選的,在其中一個實施例中,所述獲取所述應用啟動請求對應的應用以及攜帶的啟動類型的步驟之后還包括:
[0025]將所述應用啟動請求對應的應用以及攜帶的啟動類型上傳至安全服務器,由所述安全服務器判斷所述啟動類型是否與第三方推送平臺啟動類型匹配,并接收所述安全服務器返回的判斷結果。
[0026]此外,為解決傳統(tǒng)技術中三方應用通過實現(xiàn)各種三方推送平臺SDK來實現(xiàn)相互啟動、關聯(lián)啟動、后臺自啟動等非法啟動的方案存在安全性不足的技術問題,還提出了一種阻止通過推送平臺組件啟動應用的裝置。
[0027]—種阻止通過推送平臺組件啟動應用的裝置,包括:
[0028]應用啟動請求檢測模塊,用于通過操作系統(tǒng)的啟動管理服務檢測應用啟動請求,獲取所述應用啟動請求對應的應用以及攜帶的啟動類型;
[0029]組件信息獲取模塊,用于在所述啟動類型與預設的第三方推送平臺啟動類型匹配時,獲取所述應用與所述啟動類型對應的組件信息;
[0030]拒絕響應模塊,用于在所述獲取的組件信息中包含存在于預設的第三方推送平臺黑名單的組件名稱時,拒絕響應所述應用啟動請求。
[0031]可選的,在其中一個實施例中,所述預設的第三方推送平臺黑名單存儲于本地或云服務器上。
[0032]可選的,在其中一個實施例中,所述裝置還包括中間對象回收模塊,用于獲取所述應用啟動請求對應的調(diào)用者應用;獲取所述調(diào)用者應用創(chuàng)建的與所述應用啟動請求對應的中間對象,回收所述中間對象。
[0033]可選的,在其中一個實施例中,所述應用啟動請求檢測模塊還用于通過startProcessLocked函數(shù)獲取hostingType參數(shù),根據(jù)所述hostingType參數(shù)確定所述啟動類型。
[0034]可選的,在其中一個實施例中,所述裝置還包括消息通知模塊和強制啟動模塊,其中:
[0035]所述消息通知模塊用于通過展示彈出窗或在通知欄提示用戶已將所述應用啟動請求屏蔽;
[0036]所述強制啟動模塊用于接收輸入的強制啟動指令,重新響應所述已拒絕的應用啟動請求。
[0037]可選的,在其中一個實施例中,所述裝置還包括服務器判斷模塊,用于將所述應用啟動請求對應的應用以及攜帶的啟動類型上傳至安全服務器,由所述安全服務器判斷所述啟動類型是否與第三方推送平臺啟動類型匹配,并接收所述安全服務器返回的判斷結果。
[0038]實施本發(fā)明實施例,將具有如下有益效果:
[0039]采用了上述阻止通過推送平臺組件啟動應用的方法和裝置之后,在終端的操作系統(tǒng)的啟動管理服務檢測到應用啟動請求時,根據(jù)應用啟動請求確定對應的啟動類型(即啟動請求方式),并在啟動類型表示該應用啟動請求可能是第三方推送平臺發(fā)起時,對應用啟動請求包含的組件信息進行判斷,根據(jù)組件信息確定是否響應該應用啟動請求,若否,則拒絕響應應用啟動請求。也就是說,阻止了第三方推送平臺相關的后臺啟動應用,減少了后臺應用在用戶不知覺的情況下的非法啟動,給用戶提供了一個安全的使用環(huán)境,提高了終端和用戶資料的安全性,并且,提高了系統(tǒng)資源的有效利用率,增加了終端的續(xù)航時間和移動數(shù)據(jù)流量的有效利用率,提升了用戶體驗。
【附圖說明】
[0040]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0041 ]其中:
[0042]圖1為一個實施例中一種阻止通過推送平臺組件啟動應用的方法的流程示意圖;
[0043]圖2為一個實施例中一種阻止通過推送平臺組件啟動應用的.裝置的結構示意圖;
[0044]圖3為一個實施例中運行前述阻止通過推送平臺組件啟動應用的方法的計算機設備的結構示意圖。
【具體實施方式】
[0045]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0046]為解決傳統(tǒng)技術中三方應用通過實現(xiàn)各種三方推送平臺SDK來實現(xiàn)相互啟動、關聯(lián)啟動、后臺自啟動等非法啟動的方案存在安全性不足的技術問題,在本實施例中,特提出了一種阻止通過推送平臺組件啟動應用的方法,該方法的實現(xiàn)可依賴于計算機程序,該計算機程序可運行于基于馮諾依曼體系的計算機系統(tǒng)之上,該計算機程序可以是安卓平臺等系統(tǒng)下的第三方應用程序的禁止啟動程序。該計算機系統(tǒng)可以是運行上述計算機程序的例如智能手機、平板電腦、個人電腦等終端設備。
[0047]具體的,如圖1所示,上述阻止通過推送平臺組件啟動應用的方法包括如下步驟S102-步驟 S106:
[0048]步驟S102:通過操作系統(tǒng)的啟動管理服務檢測應用啟動請求,獲取所述應用啟動請求對應的應用以及攜帶的啟動類型。
[0049]啟動管理服務(ActivityManagerService,簡稱AmS),為Android上層系統(tǒng)最核心的模塊之一,其主要完成管理應用進程的生命周期以及進程的啟動Activity,服務Service,廣播 Broadcast 和存儲 Provider 等。
[0050]在終端的操作系統(tǒng)中,啟動管理服務提供的主要功能之一就是統(tǒng)一調(diào)度各應用程序的啟動。具體的,啟動一個應用程序的方式有以下幾種:第一,在應用程序中調(diào)用startActi vity啟動指定的Activity;第二,在Home程序中單擊一個應用圖標,啟動新的Activity ;第三,按“Back”鍵,結束當前Activity,返回到上一個Activity;第四,長按“Home”鍵,顯示出當前正在運行的程序列表,從中選擇一個啟動。對于上述4中啟動方式來講,其對應的主體處理流程都是按照第一中啟動方式運行的,只是后面三種方式在前端消息處理上存在差異。
[0051]在本實施例中,用戶主動的去打開一個應用程序,或者終端中的某個應用程序去打開另外一個應用程序,都會觸發(fā)對應的應用啟動請求,從而啟動管理服務(Activi tyManagerService)會檢測到該應用啟動請求,并針對該應用啟動請求做相應的進一步的處理。
[0052]應用啟動請求至少包含了需要啟動的應用,即應用啟動請求對應的應用,在本實施例中,在應用啟動請求中還攜帶有對應的啟動類型。在本實施例中,啟動類型包括以下4種方式:
[0053]第一,通過activity 啟動;
[0054]第二,通過Service 啟動;
[0055]第三,通過broadcastreceiver啟動;
[0056]第四,通過ContentProvider啟動。
[0057]在本實施例中,上述獲取所述應用啟動請求對應的應用以及攜帶的啟動類型的步驟還包括:通過startProcessLocked函數(shù)獲取hostingType參數(shù),根據(jù)所述hostingType參數(shù)確定所述啟動類型。
[°°58] 具體的,當啟動管理服務檢測到應用啟動請求時,入口都在startProcessLocked函數(shù)中,通過啟動管理服務可以獲取將要啟動的應用的應用信息,包括但不限于應用名稱、包名、進程信息、組件信息等,在startProcessLocked函數(shù)的傳入?yún)?shù)中,包括了hostingType參數(shù),S卩啟動類型參數(shù),標識了應用是通過哪種啟動方式被啟動的。也就是說,通過ho s tingType參數(shù)可以確定應用啟動請求對應的應用的啟動類型、
[0059]步驟S104:在所述啟動類型與預設的第三方推送平臺啟動類型匹配時,獲取所述應用與所述啟動類型對應的組件信息。
[0060]一般來講,若用戶是通過在Home程序中單擊一個應用圖標來啟動新的應用程序,在此種情況下,應用程序的啟動是用戶的主動行為,而不可能是第三方推送平臺的行為。又或者,在應用程序A中啟動應用程序B,也就是說,應用程序B是通過應用程序A啟動的,在此種情況下,應用程序的啟動可能是用戶的主動行為,例如,在淘寶應用中進行付款時調(diào)用支付寶應用進行付款,也可能不是用戶的主動行為,例如,后臺啟動應用程序B的情況。
[0061 ]在本實施例中,第三方推送平臺啟動一個應用程序,并不能通過所有的啟動類型啟動應用程序,因此,在本實施例中,預設與第三方推送平臺對應的第三方推送平臺啟動類型,并將步驟S102中獲取到的啟動類型與第三方推送平臺對應的啟動類型進行比對,若匹配,則說明應用啟動請求可能是通過第三方推送平臺觸發(fā)的,需要對其進行進一步的判斷;反之,應用程序的啟動被判定為與第三方推送平臺無關,予以響應。
[0062]進一步地,在本實施例中,在所述啟動類型與預設的第三方推送平臺啟動類型匹配時,獲取所述應用與所述啟動類型對應的組件信息,上述組件信息包括了詳細的組件名稱,例如廣播組件broadcast、服務組件service、數(shù)據(jù)存取組件contentprovider和界面組件 activity 等 Andro id 組件。
[0063]需要說明的是,在本實施例中,在上述判斷所述啟動類型與預設的第三方推送平臺啟動類型是否匹配時,使用的方法均是終端在本地進行判斷的,在一個實施例中,上述判斷所述啟動類型與預設的第三方推送平臺啟動類型是否匹配的過程,還可以是由服務器統(tǒng)一進行判斷,并將相應的判斷結果返回給終端。
[0064]具體的,所述獲取所述應用啟動請求對應的應用以及攜帶的啟動類型的步驟之后還包括:將所述應用啟動請求對應的應用以及攜帶的啟動類型上傳至安全服務器,由所述安全服務器判斷所述啟動類型是否與第三方推送平臺啟動類型匹配,并接收所述安全服務器返回的判斷結果。
[0065]終端在獲取到應用啟動請求對應的應用以及攜帶的啟動類型之后,將獲取到應用啟動請求攜帶的啟動類型上傳到服務器,需要說明的是,在本實施例中,終端上傳給安全服務器的信息包括但不限于啟動類型,還可以包括了應用啟動請求對應的應用,即需要啟動的目標應用的應用信息。
[0066]安全服務器可以根據(jù)獲取到應用啟動請求攜帶的啟動類型對其進行判斷,例如,根據(jù)應用啟動請求對應的應用的不同進行判斷,判斷其是否與第三方推送平臺匹配。例如,在安全服務器中存儲有第三方推送平臺黑名單,在安全服務器接收到獲取到應用啟動請求攜帶的啟動類型之后,根據(jù)第三方推動平臺黑名單對獲取到應用啟動請求攜帶的啟動類型進行判斷,并將判斷結果返回給上傳獲取到應用啟動請求攜帶的啟動類型的終端。
[0067]步驟S106:在所述獲取的組件信息中包含存在于預設的第三方推送平臺黑名單的組件名稱時,拒絕響應所述應用啟動請求。
[0068]第三方推送平臺黑名單為預先設置的或者預先存儲的黑名單列表,在該黑名單列表中包含了預先被標記為第三方推送平臺黑名單的組件名稱。在本實施例中,在獲取到與應用啟動請求對應的組件信息之后,在預設的第三方推送平臺黑名單中查找與獲取到的組件信息一致的組件名稱,若查找到,則說明組件信息中包含了被標記為第三方推送平臺黑名單的組件,步驟S102中檢測到的應用啟動請求為第三方推送平臺或者實現(xiàn)了三方推送平臺SDK的應用發(fā)起的,應拒絕響應對應的應用啟動請求。
[0069]需要說明的是,在本實施例中,上述第三方推送平臺黑名單可以是以本地文件方式在終端本地存儲的黑名單文件,終端在需要查看該第三方推送平臺黑名單時,通過訪問對應的存儲地址查看該名單。在其他實施例中,上述第三方推送平臺黑名單還可以是以數(shù)據(jù)庫方式存儲的黑名單文件。另外,在一個實施例中,上述第三方推送平臺黑名單還可以是存儲在云服務器中的文件,終端在需要訪問第三方推送平臺黑名單時,通過向云端服務器發(fā)起訪問請求來進行訪問。
[0070]在本實施例中,操作系統(tǒng)在啟動某一個應用程序的過程中,可能需要調(diào)用或者啟動或者生成某些進程或者組件才能觸發(fā)該應用程序的啟動指令,而在該應用程序的應用啟動請求被拒絕響應之后,這些進程或者組件或者其他中間對象就被閑置了,也就是說,存在不需要的中間對象占用了終端的內(nèi)存或存儲空間。在此種情況下,需要對上述中間對象進行處理。
[0071]具體的,在拒絕響應所述應用啟動請求的步驟之后還包括:獲取所述應用啟動請求對應的調(diào)用者應用;獲取所述調(diào)用者應用創(chuàng)建的與所述應用啟動請求對應的中間對象,回收所述中間對象。
[0072]在實施例中,根據(jù)需要啟動的目標應用的應用信息可以獲取到對應的調(diào)用者信息,也就是向啟動管理服務請求啟動目標應用的請求者信息,包括包名、進程信息、組件信息等相關信息。需要說明的是,在本實施例中,可以通過Acti vi tyManagerService.Java類來獲取調(diào)用者信息,具體的,獲取對應的cal Ier參數(shù),根據(jù)獲取到的cal Ier參數(shù)的具體值,獲取對應的應用程序的包名、進程信息、組件信息等相關信息。
[0073]在應用啟動請求被拒絕響應之后,根據(jù)該應用啟動請求,獲取與該應用啟動請求對應的中間對象,即獲取調(diào)用者信息對應的應用創(chuàng)建的與應用啟動請求對應的中間對應并進行回收。例如,第三方推送平臺在非法啟動應用程序A時,為支持A應用的運行,需要創(chuàng)建與A應用對應的進程或者組件,在A應用的應用啟動請求被拒絕之后,回收已創(chuàng)建的與A應用對應的進程或者組件。
[0074]在某些情況下,被拒絕響應的應用啟動請求也可能是用戶需要啟動的,在此種情況下,應當提供一種再次啟動對應的應用程序的機制。具體的,在上述拒絕響應所述應用啟動請求的步驟之后還包括:通過展示彈出窗或在通知欄提示用戶已將所述應用啟動請求屏蔽;接收輸入的強制啟動指令,重新響應所述已拒絕的應用啟動請求。
[0075]在拒絕響應應用啟動請求之后,生成已拒絕響應應用啟動請求的提示消息,并在終端的顯示界面上,通過展示彈出窗展示上述提示消息,以提示用戶已將應用啟動請求屏蔽;或者,在通知欄中顯示相應的提示消息,以提示用戶已將應用啟動請求屏蔽。
[0076]用戶在接收到上述已拒絕響應應用啟動請求的提示消息之后,如果依舊需要啟動該應用程序,則可以通過設置在終端上的強制啟動控件,并通過該強制啟動空間輸入針對已拒絕的響應應用請求對應的應用程序的強制啟動指令,終端在接收到用戶輸入的強制啟動指令之后,重新響應該應用啟動請求,即啟動操作系統(tǒng)的啟動關系服務檢測到的應用啟動請求對應的目標應用程序。
[0077]此外,為解決傳統(tǒng)技術中三方應用通過實現(xiàn)各種三方推送平臺SDK來實現(xiàn)相互啟動、關聯(lián)啟動、后臺自啟動等非法啟動的方案存在安全性不足的技術問題,在一個實施例中,如圖2所示,還提出了一種阻止通過推送平臺組件啟動應用的裝置,包括:應用啟動請求檢測模塊102、調(diào)用者信息確定模塊104、判斷模塊106以及拒絕響應模塊108,其中:
[0078]應用啟動請求檢測模塊102,用于通過操作系統(tǒng)的啟動管理服務檢測應用啟動請求,獲取所述應用啟動請求對應的應用以及攜帶的啟動類型;
[0079]組件信息獲取模塊104,用于在所述啟動類型與預設的第三方推送平臺啟動類型匹配時,獲取所述應用與所述啟動類型對應的組件信息;
[0080]拒絕響應模塊106,用于在所述獲取的組件信息中包含存在于預設的第三方推送平臺黑名單的組件名稱時,拒絕響應所述應用啟動請求。
[0081]可選的,在一個實施例中,所述預設的第三方推送平臺黑名單存儲于本地或云服務器上。
[0082]可選的,在一個實施例中,如圖2所示,上述裝置還包括中間對象回收模塊108,用于獲取所述應用啟動請求對應的調(diào)用者應用;獲取所述調(diào)用者應用創(chuàng)建的與所述應用啟動請求對應的中間對象,回收所述中間對象。
[0083]可選的,在一個實施例中,應用啟動請求檢測模塊IO 2還用于通過startProcessLocked函數(shù)獲取hostingType參數(shù),根據(jù)所述hostingType參數(shù)確定所述啟動類型。
[0084]可選的,在一個實施例中,如圖2所示,上述裝置還包括消息通知模塊110和強制啟動模塊112,其中:所述消息通知模塊110用于通過展示彈出窗或在通知欄提示用戶已將所述應用啟動請求屏蔽;所述強制啟動模塊112用于接收輸入的強制啟動指令,重新響應所述已拒絕的應用啟動請求。
[0085]可選的,在一個實施例中,如圖2所示,上述裝置還包括服務器判斷模塊114,用于將所述應用啟動請求對應的應用以及攜帶的啟動類型上傳至安全服務器,由所述安全服務器判斷所述啟動類型是否與第三方推送平臺啟動類型匹配,并接收所述安全服務器返回的判斷結果。
[0086]實施本發(fā)明實施例,將具有如下有益效果:
[0087]采用了上述阻止通過推送平臺組件啟動應用的方法和裝置之后,在終端的操作系統(tǒng)的啟動管理服務檢測到應用啟動請求時,根據(jù)應用啟動請求確定對應的啟動類型(即啟動請求方式),并在啟動類型表示該應用啟動請求可能是第三方推送平臺發(fā)起時,對應用啟動請求包含的組件信息進行判斷,根據(jù)組件信息確定是否響應該應用啟動請求,若否,則拒絕響應應用啟動請求。也就是說,阻止了第三方推送平臺相關的后臺啟動應用,減少了后臺應用在用戶不知覺的情況下的非法啟動,給用戶提供了一個安全的使用環(huán)境,提高了終端和用戶資料的安全性,并且,提高了系統(tǒng)資源的有效利用率,增加了終端的續(xù)航時間和移動數(shù)據(jù)流量的有效利用率,提升了用戶體驗。
[0088]在一個實施例中,如圖3所示,圖3展示了一種運行上述阻止通過推送平臺組件啟動應用的方法的基于馮諾依曼體系的計算機系統(tǒng)的終端。該計算機系統(tǒng)可以是智能手機、平板電腦、掌上電腦、筆記本電腦或個人電腦等終端設備。具體的,可包括通過系統(tǒng)總線連接的外部輸入接口 1001、處理器1002、存儲器1003和輸出接口 1004。其中,外部輸入接口1001可選的可至少包括網(wǎng)絡接口 10012。存儲器1003可包括外存儲器10032(例如硬盤、光盤或軟盤等)和內(nèi)存儲器10034。輸出接口 1004可至少包括顯示屏10042等設備。
[0089]在本實施例中,本方法的運行基于計算機程序,該計算機程序的程序文件存儲于前述基于馮諾依曼體系的計算機系統(tǒng)的外存儲器10032中,在運行時被加載到內(nèi)存儲器10034中,然后被編譯為機器碼之后傳遞至處理器1002中執(zhí)行,從而使得基于馮諾依曼體系的計算機系統(tǒng)中形成邏輯上的應用啟動請求檢測模塊102、組件信息獲取模塊104、拒絕響應模塊106、中間對象回收模塊108、消息通知模塊110、強制啟動模塊112以及服務器判斷模塊114。且在上述阻止通過推送平臺組件啟動應用的方法執(zhí)行過程中,輸入的參數(shù)均通過外部輸入接口 1001接收,并傳遞至存儲器1003中緩存,然后輸入到處理器1002中進行處理,處理的結果數(shù)據(jù)或緩存于存儲器1003中進行后續(xù)地處理,或被傳遞至輸出接口 1004進行輸出。
[0090]本發(fā)明實施例方法中的步驟可以根據(jù)實際需要進行順序調(diào)整、合并和刪減。
[0091]本發(fā)明實施例終端中的單元可以根據(jù)實際需要進行合并、劃分和刪減。
[0092]應當理解,在本發(fā)明實施例中,所稱處理器可以是中央處理單元(CentralProcessing Unit,CPU),該處理器還可以是其他通用處理器、數(shù)字信號處理器(DigitalSignal Processor,DSP)、專用集成電路(Applicat1n Specific Integrated Circuit,ASIC)、現(xiàn)成可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
[0093]本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)包括只讀存儲器(Read-Only Memory,R0M)、隨機存儲器(Random Access Memory,RAM)、可編程只讀存儲器(Programmable Read-only Memory,PR0M)、可擦除可編程只讀存儲器(Erasable Programmable Read Only Memory,EPROM)、一次可編程只讀存儲器(0ne_time Programmable Read-Only Memory,0TPR0M)、電子抹除式可復寫只讀存儲器(Electrically-Erasable Programmable Read-Only Memory,EEPR0M)、只讀光盤(CompactDisc Read-Only Memory,CD_R0M)或其他光盤存儲器、磁盤存儲器、磁帶存儲器、或者能夠用于攜帶或存儲數(shù)據(jù)的計算機可讀的任何其他介質(zhì)。
[0094]以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權利范圍,因此依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【主權項】
1.一種阻止通過推送平臺組件啟動應用的方法,其特征在于,包括: 通過操作系統(tǒng)的啟動管理服務檢測應用啟動請求,獲取所述應用啟動請求對應的應用以及攜帶的啟動類型; 在所述啟動類型與預設的第三方推送平臺啟動類型匹配時,獲取所述應用與所述啟動類型對應的組件信息; 在所述獲取的組件信息中包含存在于預設的第三方推送平臺黑名單的組件名稱時,拒絕響應所述應用啟動請求。2.根據(jù)權利要求1所述的阻止通過推送平臺組件啟動應用的方法,其特征在于,所述預設的第三方推送平臺黑名單存儲于本地或云服務器上。3.根據(jù)權利要求1所述的阻止通過推送平臺組件啟動應用的方法,其特征在于,所述拒絕響應所述應用啟動請求的步驟之后還包括: 獲取所述應用啟動請求對應的調(diào)用者應用; 獲取所述調(diào)用者應用創(chuàng)建的與所述應用啟動請求對應的中間對象,回收所述中間對象。4.根據(jù)權利要求1所述的阻止通過推送平臺組件啟動應用的方法,其特征在于,所述獲取所述應用啟動請求對應的應用以及攜帶的啟動類型的步驟還包括: 通過startProcessLocked函數(shù)獲取hostingType參數(shù),根據(jù)所述hostingType參數(shù)確定所述啟動類型。5.根據(jù)權利要求1所述的阻止通過推送平臺組件啟動應用的方法,其特征在于,所述拒絕響應所述應用啟動請求的步驟之后還包括: 通過展示彈出窗或在通知欄提示用戶已將所述應用啟動請求屏蔽; 接收輸入的強制啟動指令,重新響應所述已拒絕的應用啟動請求。6.根據(jù)權利要求1所述的阻止通過推送平臺組件啟動應用的方法,其特征在于,所述獲取所述應用啟動請求對應的應用以及攜帶的啟動類型的步驟之后還包括: 將所述應用啟動請求對應的應用以及攜帶的啟動類型上傳至安全服務器,由所述安全服務器判斷所述啟動類型是否與第三方推送平臺啟動類型匹配,并接收所述安全服務器返回的判斷結果。7.—種阻止通過推送平臺組件啟動應用的裝置,其特征在于,包括: 應用啟動請求檢測模塊,用于通過操作系統(tǒng)的啟動管理服務檢測應用啟動請求,獲取所述應用啟動請求對應的應用以及攜帶的啟動類型; 組件信息獲取模塊,用于在所述啟動類型與預設的第三方推送平臺啟動類型匹配時,獲取所述應用與所述啟動類型對應的組件信息; 拒絕響應模塊,用于在所述獲取的組件信息中包含存在于預設的第三方推送平臺黑名單的組件名稱時,拒絕響應所述應用啟動請求。8.根據(jù)權利要求7所述的阻止通過推送平臺組件啟動應用的裝置,其特征在于,所述預設的第三方推送平臺黑名單存儲于本地或云服務器上。9.根據(jù)權利要求7所述的阻止通過推送平臺組件啟動應用的裝置,其特征在于,所述裝置還包括中間對象回收模塊,用于獲取所述應用啟動請求對應的調(diào)用者應用;獲取所述調(diào)用者應用創(chuàng)建的與所述應用啟動請求對應的中間對象,回收所述中間對象。10.根據(jù)權利要求7所述的阻止通過推送平臺組件啟動應用的裝置,其特征在于,所述應用啟動請求檢測模塊還用于通過startProcessLocked函數(shù)獲取hostingType參數(shù),根據(jù)所述hostingType參數(shù)確定所述啟動類型。11.根據(jù)權利要求7所述的阻止通過推送平臺組件啟動應用的裝置,其特征在于,所述裝置還包括消息通知模塊和強制啟動模塊,其中: 所述消息通知模塊用于通過展示彈出窗或在通知欄提示用戶已將所述應用啟動請求屏蔽; 所述強制啟動模塊用于接收輸入的強制啟動指令,重新響應所述已拒絕的應用啟動請求。12.根據(jù)權利要求7所述的阻止通過推送平臺組件啟動應用的裝置,其特征在于,所述裝置還包括服務器判斷模塊,用于將所述應用啟動請求對應的應用以及攜帶的啟動類型上傳至安全服務器,由所述安全服務器判斷所述啟動類型是否與第三方推送平臺啟動類型匹配,并接收所述安全服務器返回的判斷結果。
【文檔編號】G06F21/51GK106022103SQ201610334114
【公開日】2016年10月12日
【申請日】2016年5月18日
【發(fā)明人】林志泳
【申請人】廣東歐珀移動通信有限公司