本發(fā)明涉及移動終端安全技術(shù)領(lǐng)域,具體而言,本發(fā)明涉及一種應(yīng)用程序調(diào)用方法、裝置和移動終端。
背景技術(shù):
一些移動終端出于安全考慮,設(shè)置了相應(yīng)的安全模式,以保護用戶在網(wǎng)上交易、網(wǎng)上支付、銀行查詢等等場合的安全。例如,360手機的財產(chǎn)隔離系統(tǒng),該系統(tǒng)一方面通過內(nèi)置安全應(yīng)用商店的方式來防止盜取木馬、仿冒應(yīng)用的入侵,從源頭上保證了應(yīng)用的來源安全;另一方面還通過構(gòu)建專門網(wǎng)絡(luò)通道,對賬戶密碼等數(shù)據(jù)進行加密傳輸,確保數(shù)據(jù)在傳輸過程中的安全。同時,還將金融理財?shù)葦?shù)據(jù)進行系統(tǒng)隔離,禁止惡意應(yīng)用非法讀取,從根本上保障了用戶支付環(huán)境的安全。然而,如果普通模式下安裝了APP1(例如美團APP)而沒有安裝APP2(例如支付寶APP),但是安全模式下安裝了APP2,如果APP1需要調(diào)用APP2則由于安全模式與普通模式相互隔離而無法調(diào)用成功,用戶被迫在安全模式下安裝APP1或被迫在普通模式下安裝APP2,APP重復(fù)安裝而占用系統(tǒng)大量空間,用戶體驗不佳。
另一方面,這些安全模式通常是基于“沙箱”隔離技術(shù),但是由于很多應(yīng)用都要求獲取沙箱之外的權(quán)限,當(dāng)用戶下載安裝一個應(yīng)用時,可能將被要求給予該應(yīng)用程序打破沙箱的權(quán)限。由于用戶想使用該應(yīng)用的全部功能,因而會被引導(dǎo)賦予該應(yīng)用相關(guān)權(quán)限,導(dǎo)致沙箱的安全隔離沒有保證,安全性有待提高。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的旨在至少能解決上述的技術(shù)缺陷之一,特別是APP重復(fù)安裝而占用系統(tǒng)大量空間的技術(shù)缺陷。
本發(fā)明提供一種應(yīng)用程序調(diào)用方法,包括如下步驟:
接收第一應(yīng)用調(diào)用第二應(yīng)用的調(diào)用指令;
判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用,若有則根據(jù)所述調(diào)用指令在系統(tǒng)普通模式下運行所述第二應(yīng)用,若無則繼續(xù)判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用;
若系統(tǒng)保護模式下安裝有第二應(yīng)用,則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式;
根據(jù)所述調(diào)用指令在所述系統(tǒng)保護模式下運行所述第二應(yīng)用;
其中,所述系統(tǒng)保護模式下配置有用于為預(yù)定應(yīng)用的運行提供運行資源的安全空間,該安全空間在系統(tǒng)普通模式下不可訪問。
在其中一個實施例中,所述判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用的過程包括:
獲取所述第一應(yīng)用的身份信息;
獲取已安裝應(yīng)用集合;
判斷所述第一應(yīng)用是否存在于所述已安裝應(yīng)用集合中。
在其中一個實施例中,所述身份信息包括包名或數(shù)字簽名。
在其中一個實施例中,所述系統(tǒng)為安卓系統(tǒng),通過getPackageManager()方法獲取所述已安裝應(yīng)用集合。
在其中一個實施例中,所述將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式的過程包括:
判斷所述第一應(yīng)用是否具有調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的權(quán)限,若有則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
在其中一個實施例中,通過預(yù)設(shè)數(shù)據(jù)庫判斷所述第一應(yīng)用是否具有調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的權(quán)限,所述預(yù)設(shè)數(shù)據(jù)庫存儲有所述第一應(yīng)用和能夠被所述第一應(yīng)用調(diào)用的應(yīng)用的關(guān)系信息。
在其中一個實施例中,所述將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式的過程包括:
向用戶發(fā)出是否允許所述第一應(yīng)用調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的詢問信息;
接收用戶輸入的確認(rèn)指令,將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
在其中一個實施例中,所述系統(tǒng)為安卓系統(tǒng),調(diào)用ActivityManager類中的switchUser()方法以從管理員賬號切換到普通用戶賬號,從而使得系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
在其中一個實施例中,所述預(yù)定應(yīng)用包括支付相關(guān)的應(yīng)用、理財相關(guān)的應(yīng)用和銀行相關(guān)的應(yīng)用中的至少其中一種。
在其中一個實施例中,所述運行資源包括該應(yīng)用程序本身、該應(yīng)用配置數(shù)據(jù)和該應(yīng)用用戶數(shù)據(jù)其中至少一種,所述安全空間包括存儲空間。
在其中一個實施例中,所述運行資源包括運行保護策略,所述安全空間包括存儲空間及其相應(yīng)的運行保護策略配置環(huán)境。
在其中一個實施例中,對所述第二應(yīng)用的調(diào)用結(jié)束后,將系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式,然后使得所述第一應(yīng)用重新獲取焦點。
在其中一個實施例中,所述系統(tǒng)為安卓系統(tǒng),調(diào)用ActivityManager類中的switchUser()方法以從普通用戶賬號切換到管理員賬號,從而使得系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式。
本發(fā)明還提供一種應(yīng)用程序調(diào)用裝置,其包括:接收模塊、第一判斷模塊、第二判斷模塊、切換模塊、第一運行模塊和第二運行模塊;
所述接收模塊用于接收第一應(yīng)用調(diào)用第二應(yīng)用的調(diào)用指令;
所述第一判斷模塊用于判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用,若有則使得所述第一運行模塊根據(jù)所述調(diào)用指令在系統(tǒng)普通模式下運行所述第二應(yīng)用,若無則使得所述第二判斷模塊判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用;
若系統(tǒng)保護模式下安裝有第二應(yīng)用,則所述切換模塊將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式;
所述第二運行模塊用于根據(jù)所述調(diào)用指令在所述系統(tǒng)保護模式下運行所述第二應(yīng)用;
其中,所述系統(tǒng)保護模式下配置有用于為預(yù)定應(yīng)用的運行提供運行資源的安全空間,該安全空間在系統(tǒng)普通模式下不可訪問。
在其中一個實施例中,所述第一判斷模塊包括:第一獲取單元、第二獲取單元和判斷單元;
所述第一獲取單元用于獲取所述第一應(yīng)用的身份信息;
所述第二獲取單元用于獲取已安裝應(yīng)用集合;
所述判斷單元用于判斷所述第一應(yīng)用是否存在于所述已安裝應(yīng)用集合中。
在其中一個實施例中,所述身份信息包括包名或數(shù)字簽名。
在其中一個實施例中,所述系統(tǒng)為安卓系統(tǒng),所述第二獲取單元通過getPackageManager()方法獲取所述已安裝應(yīng)用集合。
在其中一個實施例中,所述切換模塊用于:
判斷所述第一應(yīng)用是否具有調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的權(quán)限,若有則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
在其中一個實施例中,所述切換模塊通過預(yù)設(shè)數(shù)據(jù)庫判斷所述第一應(yīng)用是否具有調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的權(quán)限,所述預(yù)設(shè)數(shù)據(jù)庫存儲有所述第一應(yīng)用和能夠被所述第一應(yīng)用調(diào)用的應(yīng)用的關(guān)系信息。
在其中一個實施例中,所述切換模塊用于:
向用戶發(fā)出是否允許所述第一應(yīng)用調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的詢問信息;
接收用戶輸入的確認(rèn)指令,將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
在其中一個實施例中,所述系統(tǒng)為安卓系統(tǒng),所述切換模塊調(diào)用ActivityManager類中的switchUser()方法以從管理員賬號切換到普通用戶賬號,從而使得系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
在其中一個實施例中,所述預(yù)定應(yīng)用包括支付相關(guān)的應(yīng)用、理財相關(guān)的應(yīng)用和銀行相關(guān)的應(yīng)用中的至少其中一種。
在其中一個實施例中,所述運行資源包括該應(yīng)用程序本身、該應(yīng)用配置數(shù)據(jù)和該應(yīng)用用戶數(shù)據(jù)其中至少一種,所述安全空間包括存儲空間。
在其中一個實施例中,所述運行資源包括運行保護策略,所述安全空間包括存儲空間及其相應(yīng)的運行保護策略配置環(huán)境。
在其中一個實施例中,對所述第二應(yīng)用的調(diào)用結(jié)束后,所述切換模塊將系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式,然后使得所述第一應(yīng)用重新獲取焦點。
在其中一個實施例中,所述系統(tǒng)為安卓系統(tǒng),所述切換模塊調(diào)用ActivityManager類中的switchUser()方法以從普通用戶賬號切換到管理員賬號,從而使得系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式。
本發(fā)明還提供一種移動終端,其包括:
觸敏顯示器;
一個或多個處理器;
存儲器;
一個或多個應(yīng)用程序,其中所述一個或多個應(yīng)用程序被存儲在所述存儲器中并被配置為由所述一個或多個處理器執(zhí)行,所述一個或多個程序配置用于執(zhí)行上述任一實施例所述的應(yīng)用程序調(diào)用方法。
上述的應(yīng)用程序調(diào)用方法、裝置和移動終端,接收第一應(yīng)用調(diào)用第二應(yīng)用的調(diào)用指令;判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用,若有則根據(jù)所述調(diào)用指令在系統(tǒng)普通模式下運行所述第二應(yīng)用,若無則繼續(xù)判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用;若系統(tǒng)保護模式下安裝有第二應(yīng)用,則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式;根據(jù)所述調(diào)用指令在所述系統(tǒng)保護模式下運行所述第二應(yīng)用;其中,所述系統(tǒng)保護模式下配置有用于為預(yù)定應(yīng)用的運行提供運行資源的安全空間,該安全空間在系統(tǒng)普通模式下不可訪問。當(dāng)系統(tǒng)普通模式下的第一應(yīng)用需要調(diào)用系統(tǒng)保護模式下的第二應(yīng)用時,通過從系統(tǒng)普通模式切換成系統(tǒng)保護模式,則可以成功調(diào)用,使得應(yīng)用無需重復(fù)安裝,節(jié)約系統(tǒng)空間,提高了用戶體驗。
在本發(fā)明中,系統(tǒng)從系統(tǒng)普通模式進入系統(tǒng)保護模式,是通過系統(tǒng)的多用戶模式實現(xiàn)的。即系統(tǒng)處于管理員賬號登陸時為系統(tǒng)普通模式,系統(tǒng)處于普通用戶賬號登錄時為系統(tǒng)保護模式,系統(tǒng)從系統(tǒng)普通模式進入系統(tǒng)保護模式即相當(dāng)于系統(tǒng)從管理員模式切換到普通用戶模式。由于多用戶模式可以實現(xiàn)用戶間一定的數(shù)據(jù)隔離,從而可以實現(xiàn)用戶在系統(tǒng)保護模式下的操作安全,實現(xiàn)安全隔離。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1為一個實施例的應(yīng)用程序調(diào)用方法流程圖;
圖2為一個實施例的應(yīng)用程序調(diào)用裝置示意圖;
圖3為一個實施例的第二獲取模塊示意圖;
圖4示出的是與本發(fā)明實施例提供的終端相關(guān)的手機的部分結(jié)構(gòu)的框圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個或更多個相關(guān)聯(lián)的列出項的全部或任一單元和全部組合。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”既包括無線信號接收器的設(shè)備,其僅具備無發(fā)射能力的無線信號接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,執(zhí)行雙向通信的接收和發(fā)射硬件的設(shè)備。這種設(shè)備可以包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒有多線路顯示器的蜂窩或其他通信設(shè)備;PCS(Personal Communications Service,個人通信系統(tǒng)),其可以組合語音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA(Personal Digital Assistant,個人數(shù)字助理),其可以包括射頻接收器、尋呼機、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS(Global Positioning System,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計算機或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計算機或其他設(shè)備。這里所使用的“終端”、“終端設(shè)備”可以是便攜式、可運輸、安裝在交通工具(航空、海運和/或陸地)中的,或者適合于和/或配置為在本地運行,和/或以分布形式,運行在地球和/或空間的任何其他位置運行。這里所使用的“終端”、“終端設(shè)備”還可以是通信終端、上網(wǎng)終端、音樂/視頻播放終端,例如可以是PDA、MID(Mobile Internet Device,移動互聯(lián)網(wǎng)設(shè)備)和/或具有音樂/視頻播放功能的移動電話,也可以是智能電視、機頂盒等設(shè)備。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的遠端網(wǎng)絡(luò)設(shè)備,其包括但不限于計算機、網(wǎng)絡(luò)主機、單個網(wǎng)絡(luò)服務(wù)器、多個網(wǎng)絡(luò)服務(wù)器集或多個服務(wù)器構(gòu)成的云。在此,云由基于云計算(Cloud Computing)的大量計算機或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計算是分布式計算的一種,由一群松散耦合的計算機集組成的一個超級虛擬計算機。本發(fā)明的實施例中,遠端網(wǎng)絡(luò)設(shè)備、終端設(shè)備與WNS服務(wù)器之間可通過任何通信方式實現(xiàn)通信,包括但不限于,基于3GPP、LTE、WIMAX的移動通信、基于TCP/IP、UDP協(xié)議的計算機網(wǎng)絡(luò)通信以及基于藍牙、紅外傳輸標(biāo)準(zhǔn)的近距無線傳輸方式。
在以下的描述中,系統(tǒng)是移動終端的操作系統(tǒng),例如安卓系統(tǒng)、iOS移動操作系統(tǒng)等等。在以下的描述中,以安卓系統(tǒng)作為示例性說明。
圖1為一個實施例的應(yīng)用程序調(diào)用方法流程圖。
本發(fā)明提供一種應(yīng)用程序調(diào)用方法,包括如下步驟:
步驟S100:接收第一應(yīng)用調(diào)用第二應(yīng)用的調(diào)用指令。有些應(yīng)用將會根據(jù)需要調(diào)用一些相關(guān)的應(yīng)用,例如美團APP等電子商務(wù)應(yīng)用通常需要調(diào)用如支付寶APP等支付類應(yīng)用,或者需要調(diào)用銀行類應(yīng)用。
步驟S200:判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用,若有則根據(jù)該調(diào)用指令在系統(tǒng)普通模式下運行該第二應(yīng)用,若無則繼續(xù)判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用。該系統(tǒng)保護模式下配置有用于為預(yù)定應(yīng)用的運行提供運行資源的安全空間,該安全空間在系統(tǒng)普通模式下不可訪問。
在系統(tǒng)保護模式下,預(yù)定應(yīng)用將會通過運行保護策略進行嚴(yán)格的安全檢測,一切有關(guān)資金的交易操作、支付操作都會受到嚴(yán)格監(jiān)控,并且會嚴(yán)密保護用戶的個人信息,防止例如聊天記錄、短信驗證碼等等的用戶信息泄露。其中,預(yù)定應(yīng)用包括支付相關(guān)的應(yīng)用(例如微信APP、支付寶APP)、理財相關(guān)的應(yīng)用(例如陸金所APP)和銀行相關(guān)的應(yīng)用(例如工商銀行APP)中的至少其中一種,以保護用戶的資金安全和信息安全,當(dāng)然預(yù)定應(yīng)用還可以包括所有安裝于系統(tǒng)保護模式下安全空間的應(yīng)用。
這里該的運行資源,既可以是理解為該應(yīng)用程序本身,也可以理解為該應(yīng)用配置數(shù)據(jù)(應(yīng)用程序的配置數(shù)據(jù)),還可以理解為該應(yīng)用用戶數(shù)據(jù)(用戶的個人數(shù)據(jù)),在這些情況下,該的安全空間就可以理解為存儲空間。當(dāng)然,運行資源還可以理解為運行保護策略,該安全空間就可以理解為存儲空間及其相應(yīng)的運行保護策略配置環(huán)境,運行保護策略配置環(huán)境為:在運行該應(yīng)用時啟動殺毒、查殺木馬等等安全保護措施的配置環(huán)境。
在傳統(tǒng)的技術(shù)中,系統(tǒng)保護模式可以是以常規(guī)“沙箱”隔離技術(shù)實現(xiàn)。但是在本實施例中,是以多用戶模式來實現(xiàn)的。安卓系統(tǒng)中支持多用戶模式,與WINDOWS系統(tǒng)的多用戶模式類似,不同用戶登陸下的系統(tǒng)中的用戶數(shù)據(jù)相互獨立,相互間不受影響。因此,系統(tǒng)處于管理員賬號登陸時為系統(tǒng)普通模式,系統(tǒng)處于普通用戶賬號登錄時為系統(tǒng)保護模式,系統(tǒng)從系統(tǒng)普通模式進入系統(tǒng)保護模式即相當(dāng)于系統(tǒng)從管理員模式切換到普通用戶模式。由于多用戶模式可以實現(xiàn)用戶間一定的數(shù)據(jù)隔離,從而可以實現(xiàn)用戶在保護模式下的系統(tǒng)安全(應(yīng)用安裝安全、交易安全、用戶信息安全),實現(xiàn)安全隔離,在一定情況下比“沙箱”隔離技術(shù)更加安全。
通常美團APP、支付類應(yīng)用、銀行類應(yīng)用都可以安裝于同一系統(tǒng)模式下,例如安裝于系統(tǒng)普通模式下。但是,由于美團APP這些應(yīng)用由于安全級別沒有支付類應(yīng)用或銀行類應(yīng)用那么高,并且用戶需要經(jīng)常使用,所以通常安裝于系統(tǒng)普通模式下,而支付類應(yīng)用或銀行類應(yīng)用則通常安裝于系統(tǒng)保護模式下。因而,就會存在安裝于系統(tǒng)普通模式下的第一應(yīng)用調(diào)用安裝于系統(tǒng)保護模式下的第一應(yīng)用的情況。因此,在多系統(tǒng)模式下,在發(fā)生調(diào)用時需要判斷調(diào)用是否是同一模式內(nèi)的調(diào)用,還是跨模式的調(diào)用。
系統(tǒng)判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用的過程可以包括:首先獲取該第二應(yīng)用的身份信息和獲取(系統(tǒng)普通模式下的)已安裝應(yīng)用集合,然后判斷該第二應(yīng)用是否存在于該已安裝應(yīng)用集合中。該身份信息可以包括包名(Package Name)或數(shù)字簽名(Digital Signature)。包名為應(yīng)用的唯一標(biāo)識,一個包名代表一個應(yīng)用,主要用于系統(tǒng)識別應(yīng)用,在安卓系統(tǒng)中不允許安裝兩個相同包名的應(yīng)用。但是,由于包名容易被仿冒,因此通常用應(yīng)用的數(shù)字簽名作為識別應(yīng)用的依據(jù),或者將包名和數(shù)字簽名一起作為識別應(yīng)用的依據(jù)。
在安卓系統(tǒng),可以通過getPackageManager()方法獲取該已安裝應(yīng)用集合,例如通過getPackageManager().getInstalledApplications()方法獲取系統(tǒng)安裝的所有程序包的ApplicationInfo對象,從而可以進一步獲取這些程序包的包名、名稱等信息;或者通過getPackageManager().getInstalledPackages()方法獲取系統(tǒng)安裝的所有程序包的PackageInfo對象,從而可以進一步獲取這些程序包的包名、名稱等信息。
獲取該第二應(yīng)用的身份信息和獲取已安裝應(yīng)用集合后,然后判斷該第二應(yīng)用是否存在于該已安裝應(yīng)用集合中,如果該第二應(yīng)用存在于該已安裝應(yīng)用集合中,證明系統(tǒng)普通模式下安裝有第二應(yīng)用,則直接根據(jù)該調(diào)用指令在系統(tǒng)普通模式下運行該第二應(yīng)用;反之,如果該第二應(yīng)用不存在于該已安裝應(yīng)用集合中,證明系統(tǒng)普通模式下沒有安裝有第二應(yīng)用,則繼續(xù)判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用,若有則執(zhí)行步驟S300。
步驟S300:若系統(tǒng)保護模式下安裝有第二應(yīng)用,則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。該系統(tǒng)從普通模式切換到保護模式的過程相當(dāng)于該系統(tǒng)從管理員賬號切換到普通用戶賬號。在安卓系統(tǒng)中,通過調(diào)用ActivityManager類中的switchUser()方法以從管理員賬號切換到普通用戶賬號。
然而,由于系統(tǒng)保護模式安全等級要比系統(tǒng)普通模式要高,所以要從系統(tǒng)普通模式切換到系統(tǒng)保護模式需要一定的權(quán)限或者得到用戶授權(quán)。因此,在一些實施例中,該系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式的過程可以包括:判斷該第一應(yīng)用是否具有調(diào)用安裝于該系統(tǒng)保護模式下的應(yīng)用的權(quán)限,若有則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
系統(tǒng)可以預(yù)設(shè)有數(shù)據(jù)庫,在該數(shù)據(jù)庫中記錄了能夠訪問系統(tǒng)保護模式的應(yīng)用名單。或者更詳細的,在該數(shù)據(jù)庫中記錄了一批應(yīng)用名單,這些名單中的應(yīng)用能夠調(diào)用安裝于系統(tǒng)保護模式下的應(yīng)用。甚至可以更詳細的,在該數(shù)據(jù)庫中記錄系統(tǒng)普通模式下的應(yīng)用和能夠被該應(yīng)用調(diào)用的、系統(tǒng)保護模式下的應(yīng)用的關(guān)系信息。例如,美團APP安裝于系統(tǒng)普通模式,支付寶APP安裝于系統(tǒng)保護模式,則在預(yù)設(shè)數(shù)據(jù)庫中可以存儲美團APP和支付寶APP的調(diào)用關(guān)系,此時則相當(dāng)于賦予了美團APP調(diào)用支付寶APP的權(quán)限。因此,在一些實施例中,可以通過預(yù)設(shè)數(shù)據(jù)庫判斷該第一應(yīng)用是否具有調(diào)用安裝于該系統(tǒng)保護模式下的應(yīng)用的權(quán)限,該預(yù)設(shè)數(shù)據(jù)庫存儲有該第一應(yīng)用和能夠被該第一應(yīng)用調(diào)用的應(yīng)用(包括第二應(yīng)用)的關(guān)系信息。
而在另一些實施例中,則可以通過由用戶來確認(rèn)是否允許第一應(yīng)用是否具有調(diào)用安裝于該系統(tǒng)保護模式下的應(yīng)用,即由用戶臨時賦予該第一應(yīng)用調(diào)用權(quán)限。因此,將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式的過程也可以包括:向用戶發(fā)出是否允許該第一應(yīng)用調(diào)用安裝于該系統(tǒng)保護模式下的應(yīng)用的詢問信息;接收用戶輸入的確認(rèn)指令,將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。繼續(xù)以上述例子為例,當(dāng)美團APP需要調(diào)用支付寶APP時,系統(tǒng)將會發(fā)出類似“是否允許美團調(diào)用系統(tǒng)保護模式下的支付寶?”的對話框,然后在用戶選擇“確定”選項時,將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。如果接收到的是用戶的否認(rèn)指令,則拒絕系統(tǒng)從系統(tǒng)普通模式切換成系統(tǒng)保護模式,并可以向用戶發(fā)出類似“調(diào)用支付寶失敗”等失敗提示信息。
系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式后,執(zhí)行步驟S400。
步驟S400:根據(jù)該調(diào)用指令在該系統(tǒng)保護模式下運行該第二應(yīng)用。到了這一步,就可以成功調(diào)用到第二應(yīng)用,使得應(yīng)用無需重復(fù)安裝,提高了用戶體驗。在安卓系統(tǒng)中,系統(tǒng)可以通過ACTIVITY MANAGER SERVICE(AMS)來啟動第二應(yīng)用的相關(guān)進程。
在對該第二應(yīng)用的調(diào)用結(jié)束后,將系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式,然后使得該第一應(yīng)用重新獲取焦點。在調(diào)用第二應(yīng)用后,重新返回第一應(yīng)用,可以提高用戶體驗。例如在美團APP上參與團購,通過調(diào)用支付寶APP付款后,重新返回第一應(yīng)用,可以讓用戶查看相關(guān)的團購訂單信息。而此時需要返回第一應(yīng)用,則需要將系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式,同理,可以通過調(diào)用ActivityManager類中的switchUser()方法以從普通用戶賬號切換到管理員賬號,從而使得系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式。
圖2為一個實施例的應(yīng)用程序調(diào)用裝置示意圖。
對應(yīng)上述的應(yīng)用程序調(diào)用方法,本發(fā)明還提供一種應(yīng)用程序調(diào)用裝置,其包括:接收模塊100、第一判斷模塊200、第二判斷模塊300、切換模塊400、第一運行模塊500和第二運行模塊600。
該接收模塊100用于接收第一應(yīng)用APP1調(diào)用第二應(yīng)用APP2的調(diào)用指令。該第一判斷模塊200用于判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用APP2,若有則使得該第一運行模塊500根據(jù)該調(diào)用指令在系統(tǒng)普通模式下運行該第二應(yīng)用APP2,若無則使得該第二判斷模塊300判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用APP2。其中,該系統(tǒng)保護模式下配置有用于為預(yù)定應(yīng)用的運行提供運行資源的安全空間,該安全空間在系統(tǒng)普通模式下不可訪問。若系統(tǒng)保護模式下安裝有第二應(yīng)用APP2,則該切換模塊400將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。該第二運行模塊600用于根據(jù)該調(diào)用指令在該系統(tǒng)保護模式下運行該第二應(yīng)用APP2。
接收模塊100接收第一應(yīng)用APP1調(diào)用第二應(yīng)用APP2的調(diào)用指令。有些應(yīng)用將會根據(jù)需要調(diào)用一些相關(guān)的應(yīng)用,例如美團APP等電子商務(wù)應(yīng)用通常需要調(diào)用如支付寶APP等支付類應(yīng)用,或者需要調(diào)用銀行類應(yīng)用。
第一判斷模塊200判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用APP2,若有則第一運行模塊500根據(jù)該調(diào)用指令在系統(tǒng)普通模式下運行該第二應(yīng)用APP2,若無則第二判斷模塊300繼續(xù)判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用APP2。該系統(tǒng)保護模式下配置有用于為預(yù)定應(yīng)用的運行提供運行資源的安全空間,該安全空間在系統(tǒng)普通模式下不可訪問。
在系統(tǒng)保護模式下,預(yù)定應(yīng)用將會通過運行保護策略進行嚴(yán)格的安全檢測,一切有關(guān)資金的交易操作、支付操作都會受到嚴(yán)格監(jiān)控,并且會嚴(yán)密保護用戶的個人信息,防止例如聊天記錄、短信驗證碼等等的用戶信息泄露。其中,預(yù)定應(yīng)用包括支付相關(guān)的應(yīng)用(例如微信APP、支付寶APP)、理財相關(guān)的應(yīng)用(例如陸金所APP)和銀行相關(guān)的應(yīng)用(例如工商銀行APP)中的至少其中一種,以保護用戶的資金安全和信息安全,當(dāng)然預(yù)定應(yīng)用還可以包括所有安裝于系統(tǒng)保護模式下安全空間的應(yīng)用。
這里該的運行資源,既可以是理解為該應(yīng)用程序本身,也可以理解為該應(yīng)用配置數(shù)據(jù)(應(yīng)用程序的配置數(shù)據(jù)),還可以理解為該應(yīng)用用戶數(shù)據(jù)(用戶的個人數(shù)據(jù)),在這些情況下,該的安全空間就可以理解為存儲空間。當(dāng)然,運行資源還可以理解為運行保護策略,該安全空間就可以理解為存儲空間及其相應(yīng)的運行保護策略配置環(huán)境,運行保護策略配置環(huán)境為:在運行該應(yīng)用時啟動殺毒、查殺木馬等等安全保護措施的配置環(huán)境。
在傳統(tǒng)的技術(shù)中,系統(tǒng)保護模式可以是以常規(guī)“沙箱”隔離技術(shù)實現(xiàn)。但是在本實施例中,是以多用戶模式來實現(xiàn)的。安卓系統(tǒng)中支持多用戶模式,與WINDOWS系統(tǒng)的多用戶模式類似,不同用戶登陸下的系統(tǒng)中的用戶數(shù)據(jù)相互獨立,相互間不受影響。因此,系統(tǒng)處于管理員賬號登陸時為系統(tǒng)普通模式,系統(tǒng)處于普通用戶賬號登錄時為系統(tǒng)保護模式,系統(tǒng)從系統(tǒng)普通模式進入系統(tǒng)保護模式即相當(dāng)于系統(tǒng)從管理員模式切換到普通用戶模式。由于多用戶模式可以實現(xiàn)用戶間一定的數(shù)據(jù)隔離,從而可以實現(xiàn)用戶在保護模式下的系統(tǒng)安全(應(yīng)用安裝安全、交易安全、用戶信息安全),實現(xiàn)安全隔離,在一定情況下比“沙箱”隔離技術(shù)更加安全。
通常美團APP、支付類應(yīng)用、銀行類應(yīng)用都可以安裝于同一系統(tǒng)模式下,例如安裝于系統(tǒng)普通模式下。但是,由于美團APP這些應(yīng)用由于安全級別沒有支付類應(yīng)用或銀行類應(yīng)用那么高,并且用戶需要經(jīng)常使用,所以通常安裝于系統(tǒng)普通模式下,而支付類應(yīng)用或銀行類應(yīng)用則通常安裝于系統(tǒng)保護模式下。因而,就會存在安裝于系統(tǒng)普通模式下的第一應(yīng)用APP1調(diào)用安裝于系統(tǒng)保護模式下的第一應(yīng)用APP1的情況。因此,在多系統(tǒng)模式下,在發(fā)生調(diào)用時需要判斷調(diào)用是否是同一模式內(nèi)的調(diào)用,還是跨模式的調(diào)用。
圖3為一個實施例的第二獲取模塊示意圖。在一些實施例中,第一判斷模塊200包括第一獲取單元210、第二獲取單元220和判斷單元230;第一判斷模塊200判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用APP2的過程可以包括:首先第一獲取單元210獲取該第二應(yīng)用APP2的身份信息和第二獲取單元220獲取(系統(tǒng)普通模式下的)已安裝應(yīng)用集合,然后判斷單元230判斷該第二應(yīng)用APP2是否存在于該已安裝應(yīng)用集合中。該身份信息可以包括包名(Package Name)或數(shù)字簽名(Digital Signature)。包名為應(yīng)用的唯一標(biāo)識,一個包名代表一個應(yīng)用,主要用于系統(tǒng)識別應(yīng)用,在安卓系統(tǒng)中不允許安裝兩個相同包名的應(yīng)用。但是,由于包名容易被仿冒,因此通常用應(yīng)用的數(shù)字簽名作為識別應(yīng)用的依據(jù),或者將包名和數(shù)字簽名一起作為識別應(yīng)用的依據(jù)。
第二獲取單元220可以通過getPackageManager()方法獲取該已安裝應(yīng)用集合,例如通過getPackageManager().getInstalledApplications()方法獲取系統(tǒng)安裝的所有程序包的ApplicationInfo對象,從而第二獲取單元220可以進一步獲取這些程序包的包名、名稱等信息;或者第二獲取單元220通過getPackageManager().getInstalledPackages()方法獲取系統(tǒng)安裝的所有程序包的PackageInfo對象,從而可以進一步獲取這些程序包的包名、名稱等信息。
第一獲取單元210獲取該第二應(yīng)用APP2的身份信息和第二獲取單元220獲取已安裝應(yīng)用集合后,然后判斷單元230判斷該第二應(yīng)用APP2是否存在于該已安裝應(yīng)用集合中,如果該第二應(yīng)用APP2存在于該已安裝應(yīng)用集合中,證明系統(tǒng)普通模式下安裝有第二應(yīng)用APP2,則第一運行模塊500直接根據(jù)該調(diào)用指令在系統(tǒng)普通模式下運行該第二應(yīng)用APP2;反之,如果該第二應(yīng)用APP2不存在于該已安裝應(yīng)用集合中,證明系統(tǒng)普通模式下沒有安裝有第二應(yīng)用APP2,則第二判斷模塊300繼續(xù)判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用APP2,若有則由切換模塊400將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。該系統(tǒng)從普通模式切換到保護模式的過程相當(dāng)于該系統(tǒng)從管理員賬號切換到普通用戶賬號。在安卓系統(tǒng)中,切換模塊400可以通過調(diào)用ActivityManager類中的switchUser()方法以從管理員賬號切換到普通用戶賬號。
然而,由于系統(tǒng)保護模式安全等級要比系統(tǒng)普通模式要高,所以要從系統(tǒng)普通模式切換到系統(tǒng)保護模式需要一定的權(quán)限或者得到用戶授權(quán)。因此,在一些實施例中,該切換模塊400從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式的過程可以包括:判斷該第一應(yīng)用APP1是否具有調(diào)用安裝于該系統(tǒng)保護模式下的應(yīng)用的權(quán)限,若有則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
系統(tǒng)可以預(yù)設(shè)有數(shù)據(jù)庫,在該數(shù)據(jù)庫中記錄了能夠訪問系統(tǒng)保護模式的應(yīng)用名單?;蛘吒敿毜?,在該數(shù)據(jù)庫中記錄了一批應(yīng)用名單,這些名單中的應(yīng)用能夠調(diào)用安裝于系統(tǒng)保護模式下的應(yīng)用。甚至可以更詳細的,在該數(shù)據(jù)庫中記錄系統(tǒng)普通模式下的應(yīng)用和能夠被該應(yīng)用調(diào)用的、系統(tǒng)保護模式下的應(yīng)用的關(guān)系信息。例如,美團APP安裝于系統(tǒng)普通模式,支付寶APP安裝于系統(tǒng)保護模式,則在預(yù)設(shè)數(shù)據(jù)庫中可以存儲美團APP和支付寶APP的調(diào)用關(guān)系,此時則相當(dāng)于賦予了美團APP調(diào)用支付寶APP的權(quán)限。因此,在一些實施例中,切換模塊400可以通過預(yù)設(shè)數(shù)據(jù)庫判斷該第一應(yīng)用APP1是否具有調(diào)用安裝于該系統(tǒng)保護模式下的應(yīng)用的權(quán)限,該預(yù)設(shè)數(shù)據(jù)庫存儲有該第一應(yīng)用APP1和能夠被該第一應(yīng)用APP1調(diào)用的應(yīng)用(包括第二應(yīng)用APP2)的關(guān)系信息。
而在另一些實施例中,則切換模塊400可以通過由用戶來確認(rèn)是否允許第一應(yīng)用APP1是否具有調(diào)用安裝于該系統(tǒng)保護模式下的應(yīng)用,即由用戶臨時賦予該第一應(yīng)用APP1調(diào)用權(quán)限。因此,切換模塊400將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式的過程也可以包括:向用戶發(fā)出是否允許該第一應(yīng)用APP1調(diào)用安裝于該系統(tǒng)保護模式下的應(yīng)用的詢問信息;接收用戶輸入的確認(rèn)指令,將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。繼續(xù)以上述例子為例,當(dāng)美團APP需要調(diào)用支付寶APP時,系統(tǒng)將會發(fā)出類似“是否允許美團調(diào)用系統(tǒng)保護模式下的支付寶?”的對話框,然后在用戶選擇“確定”選項時,切換模塊400將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。如果接收到的是用戶的否認(rèn)指令,則切換模塊400拒絕系統(tǒng)從系統(tǒng)普通模式切換成系統(tǒng)保護模式,并可以向用戶發(fā)出類似“調(diào)用支付寶失敗”等失敗提示信息。
切換模塊400將當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式后,第二運行模塊600根據(jù)該調(diào)用指令在該系統(tǒng)保護模式下運行該第二應(yīng)用APP2。到了這一步,系統(tǒng)就可以成功調(diào)用到第二應(yīng)用APP2,使得應(yīng)用無需重復(fù)安裝,提高了用戶體驗。在安卓系統(tǒng)中,第二運行模塊600可以通過ACTIVITY MANAGER SERVICE(AMS)來啟動第二應(yīng)用的相關(guān)進程。
系統(tǒng)在對該第二應(yīng)用APP2的調(diào)用結(jié)束后,切換模塊400將系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式,然后使得該第一應(yīng)用APP1重新獲取焦點。在調(diào)用第二應(yīng)用APP2后,系統(tǒng)重新返回第一應(yīng)用APP1,可以提高用戶體驗。例如在美團APP上參與團購,通過調(diào)用支付寶APP付款后,重新返回第一應(yīng)用APP1,可以讓用戶查看相關(guān)的團購訂單信息。而此時需要返回第一應(yīng)用APP1,則需要切換模塊400將系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式,同理,切換模塊400可以通過調(diào)用ActivityManager類中的switchUser()方法以從普通用戶賬號切換到管理員賬號,從而使得系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式。
本發(fā)明實施例還提供了移動終端,如圖4所示,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,具體技術(shù)細節(jié)未揭示的,請參照本發(fā)明實施例方法部分。該終端可以為包括手機、平板電腦、PDA(Personal Digital Assistant,個人數(shù)字助理)、POS(Point of Sales,銷售終端)、車載電腦等任意終端設(shè)備,以終端為手機為例:
圖4示出的是與本發(fā)明實施例提供的終端相關(guān)的手機的部分結(jié)構(gòu)的框圖。參考圖4,手機包括:射頻(Radio Frequency,RF)電路1510、存儲器1520、輸入單元1530、顯示單元1540、傳感器1550、音頻電路1560、無線保真(wireless fidelity,Wi-Fi)模塊1570、處理器1580、以及電源1590等部件。本領(lǐng)域技術(shù)人員可以理解,圖4中示出的手機結(jié)構(gòu)并不構(gòu)成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
下面結(jié)合圖4對手機的各個構(gòu)成部件進行具體的介紹:
RF電路1510可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器1580處理;另外,將設(shè)計上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路1510包括但不限于天線、至少一個放大器、收發(fā)信機、耦合器、低噪聲放大器(Low Noise Amplifier,LNA)、雙工器等。此外,RF電路1510還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(Global System of Mobile communication,GSM)、通用分組無線服務(wù)(General Packet Radio Service,GPRS)、碼分多址(Code Division Multiple Access,CDMA)、寬帶碼分多址(Wideband Code Division Multiple Access,WCDMA)、長期演進(Long Term Evolution,LTE)、電子郵件、短消息服務(wù)(Short Messaging Service,SMS)等。
存儲器1520可用于存儲軟件程序以及模塊,處理器1580通過運行存儲在存儲器1520的軟件程序以及模塊,從而執(zhí)行手機的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器1520可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器1520可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
輸入單元1530可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。具體地,輸入單元1530可包括觸控面板1531以及其他輸入設(shè)備1532。觸控面板1531,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板1531上或在觸控面板1531附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置。可選的,觸控面板1531可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點坐標(biāo),再送給處理器1580,并能接收處理器1580發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸控面板1531。除了觸控面板1531,輸入單元1530還可以包括其他輸入設(shè)備1532。具體地,其他輸入設(shè)備1532可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元1540可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機的各種菜單。顯示單元1540可包括顯示面板1541,可選的,可以采用液晶顯示器(Liquid Crystal Display,LCD)、有機發(fā)光二極管(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板1541。進一步的,觸控面板1531可覆蓋顯示面板1541,當(dāng)觸控面板1531檢測到在其上或附近的觸摸操作后,傳送給處理器1580以確定觸摸事件的類型,隨后處理器1580根據(jù)觸摸事件的類型在顯示面板1541上提供相應(yīng)的視覺輸出。雖然在圖4中,觸控面板1531與顯示面板1541是作為兩個獨立的部件來實現(xiàn)手機的輸入和輸入功能,但是在某些實施例中,可以將觸控面板1531與顯示面板1541集成而實現(xiàn)手機的輸入和輸出功能。
手機還可包括至少一種傳感器1550,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板1541的亮度,接近傳感器可在手機移動到耳邊時,關(guān)閉顯示面板1541和/或背光。作為運動傳感器的一種,加速計傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計姿態(tài)校準(zhǔn))、振動識別相關(guān)功能(比如計步器、敲擊)等;至于手機還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路1560、揚聲器1561,傳聲器1562可提供用戶與手機之間的音頻接口。音頻電路1560可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P聲器1561,由揚聲器1561轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器1562將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路1560接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器1580處理后,經(jīng)RF電路1510以發(fā)送給比如另一手機,或者將音頻數(shù)據(jù)輸出至存儲器1520以便進一步處理。
Wi-Fi屬于短距離無線傳輸技術(shù),手機通過Wi-Fi模塊1570可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖4示出了Wi-Fi模塊1570,但是可以理解的是,其并不屬于手機的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器1580是手機的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執(zhí)行存儲在存儲器1520內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器1520內(nèi)的數(shù)據(jù),執(zhí)行手機的各種功能和處理數(shù)據(jù),從而對手機進行整體監(jiān)控。可選的,處理器1580可包括一個或多個處理單元;優(yōu)選的,處理器1580可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器1580中。
手機還包括給各個部件供電的電源1590(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器1580邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,手機還可以包括攝像頭、藍牙模塊等,在此不再贅述。
在本發(fā)明實施例中,該終端所包括的處理器1580還具有以下功能:接收第一應(yīng)用調(diào)用第二應(yīng)用的調(diào)用指令;
判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用,若有則根據(jù)所述調(diào)用指令在系統(tǒng)普通模式下運行所述第二應(yīng)用,若無則繼續(xù)判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用;若系統(tǒng)保護模式下安裝有第二應(yīng)用,則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式;根據(jù)所述調(diào)用指令在所述系統(tǒng)保護模式下運行所述第二應(yīng)用;其中,所述系統(tǒng)保護模式下配置有用于為預(yù)定應(yīng)用的運行提供運行資源的安全空間,該安全空間在系統(tǒng)普通模式下不可訪問。也即處理器1580具備執(zhí)行上述的應(yīng)用程序調(diào)用方法,在此不再贅述。
上述的應(yīng)用程序調(diào)用方法、裝置和移動終端,接收第一應(yīng)用調(diào)用第二應(yīng)用的調(diào)用指令;判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用,若有則根據(jù)該調(diào)用指令在系統(tǒng)普通模式下運行該第二應(yīng)用,若無則繼續(xù)判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用;若系統(tǒng)保護模式下安裝有第二應(yīng)用,則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式;根據(jù)該調(diào)用指令在該系統(tǒng)保護模式下運行該第二應(yīng)用;其中,該系統(tǒng)保護模式下配置有用于為預(yù)定應(yīng)用的運行提供運行資源的安全空間,該安全空間在系統(tǒng)普通模式下不可訪問。當(dāng)系統(tǒng)普通模式下的第一應(yīng)用需要調(diào)用系統(tǒng)保護模式下的第二應(yīng)用時,通過從系統(tǒng)普通模式切換成系統(tǒng)保護模式,則可以成功調(diào)用,使得應(yīng)用無需重復(fù)安裝,節(jié)約系統(tǒng)空間,提高了用戶體驗。
在本發(fā)明中,系統(tǒng)從系統(tǒng)普通模式進入系統(tǒng)保護模式,是通過系統(tǒng)的多用戶模式實現(xiàn)的。即系統(tǒng)處于管理員賬號登陸時為系統(tǒng)普通模式,系統(tǒng)處于普通用戶賬號登錄時為系統(tǒng)保護模式,系統(tǒng)從系統(tǒng)普通模式進入系統(tǒng)保護模式即相當(dāng)于系統(tǒng)從管理員模式切換到普通用戶模式。由于多用戶模式可以實現(xiàn)用戶間一定的數(shù)據(jù)隔離,從而可以實現(xiàn)用戶在系統(tǒng)保護模式下的操作安全,實現(xiàn)安全隔離。
本發(fā)明公開了如下方案:
A1、一種應(yīng)用程序調(diào)用方法,包括如下步驟:
接收第一應(yīng)用調(diào)用第二應(yīng)用的調(diào)用指令;
判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用,若有則根據(jù)所述調(diào)用指令在系統(tǒng)普通模式下運行所述第二應(yīng)用,若無則繼續(xù)判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用;
若系統(tǒng)保護模式下安裝有第二應(yīng)用,則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式;
根據(jù)所述調(diào)用指令在所述系統(tǒng)保護模式下運行所述第二應(yīng)用;
其中,所述系統(tǒng)保護模式下配置有用于為預(yù)定應(yīng)用的運行提供運行資源的安全空間,該安全空間在系統(tǒng)普通模式下不可訪問。
A2、根據(jù)A1所述的應(yīng)用程序調(diào)用方法,所述判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用的過程包括:
獲取所述第二應(yīng)用的身份信息;
獲取已安裝應(yīng)用集合;
判斷所述第二應(yīng)用是否存在于所述已安裝應(yīng)用集合中。
A3、根據(jù)A2所述的應(yīng)用程序調(diào)用方法,所述身份信息包括包名或數(shù)字簽名。
A4、根據(jù)A2所述的應(yīng)用程序調(diào)用方法,所述系統(tǒng)為安卓系統(tǒng),通過getPackageManager()方法獲取所述已安裝應(yīng)用集合。
A5、根據(jù)A1所述的應(yīng)用程序調(diào)用方法,所述將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式的過程包括:
判斷所述第一應(yīng)用是否具有調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的權(quán)限,若有則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
A6、根據(jù)A5所述的應(yīng)用程序調(diào)用方法,通過預(yù)設(shè)數(shù)據(jù)庫判斷所述第一應(yīng)用是否具有調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的權(quán)限,所述預(yù)設(shè)數(shù)據(jù)庫存儲有所述第一應(yīng)用和能夠被所述第一應(yīng)用調(diào)用的應(yīng)用的關(guān)系信息。
A7、根據(jù)A1所述的應(yīng)用程序調(diào)用方法,所述將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式的過程包括:
向用戶發(fā)出是否允許所述第一應(yīng)用調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的詢問信息;
接收用戶輸入的確認(rèn)指令,將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
A8、根據(jù)A1所述的應(yīng)用程序調(diào)用方法,所述系統(tǒng)為安卓系統(tǒng),調(diào)用ActivityManager類中的switchUser()方法以從管理員賬號切換到普通用戶賬號,從而使得系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
A9、根據(jù)A1所述的應(yīng)用程序調(diào)用方法,所述預(yù)定應(yīng)用包括支付相關(guān)的應(yīng)用、理財相關(guān)的應(yīng)用和銀行相關(guān)的應(yīng)用中的至少其中一種。
A10、根據(jù)A1所述的應(yīng)用程序調(diào)用方法,所述運行資源包括該應(yīng)用程序本身、該應(yīng)用配置數(shù)據(jù)和該應(yīng)用用戶數(shù)據(jù)其中至少一種,所述安全空間包括存儲空間。
A11、根據(jù)A1所述的應(yīng)用程序調(diào)用方法,所述運行資源包括運行保護策略,所述安全空間包括存儲空間及其相應(yīng)的運行保護策略配置環(huán)境。
A12、根據(jù)A1所述的應(yīng)用程序調(diào)用方法,對所述第二應(yīng)用的調(diào)用結(jié)束后,將系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式,然后使得所述第一應(yīng)用重新獲取焦點。
A13、根據(jù)A12所述的應(yīng)用程序調(diào)用方法,所述系統(tǒng)為安卓系統(tǒng),調(diào)用ActivityManager類中的switchUser()方法以從普通用戶賬號切換到管理員賬號,從而使得系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式。
B14、一種應(yīng)用程序調(diào)用裝置,包括:接收模塊、第一判斷模塊、第二判斷模塊、切換模塊、第一運行模塊和第二運行模塊;
所述接收模塊用于接收第一應(yīng)用調(diào)用第二應(yīng)用的調(diào)用指令;
所述第一判斷模塊用于判斷當(dāng)前以管理員賬戶身份登錄的系統(tǒng)普通模式下是否安裝有第二應(yīng)用,若有則使得所述第一運行模塊根據(jù)所述調(diào)用指令在系統(tǒng)普通模式下運行所述第二應(yīng)用,若無則使得所述第二判斷模塊判斷以普通用戶賬戶身份登錄的系統(tǒng)保護模式下是否安裝有第二應(yīng)用;
若系統(tǒng)保護模式下安裝有第二應(yīng)用,則所述切換模塊將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式;
所述第二運行模塊用于根據(jù)所述調(diào)用指令在所述系統(tǒng)保護模式下運行所述第二應(yīng)用;
其中,所述系統(tǒng)保護模式下配置有用于為預(yù)定應(yīng)用的運行提供運行資源的安全空間,該安全空間在系統(tǒng)普通模式下不可訪問。
B15、根據(jù)B14所述的應(yīng)用程序調(diào)用裝置,所述第一判斷模塊包括:第一獲取單元、第二獲取單元和判斷單元;
所述第一獲取單元用于獲取所述第一應(yīng)用的身份信息;
所述第二獲取單元用于獲取已安裝應(yīng)用集合;
所述判斷單元用于判斷所述第一應(yīng)用是否存在于所述已安裝應(yīng)用集合中。
B16、根據(jù)B15所述的應(yīng)用程序調(diào)用裝置,所述身份信息包括包名或數(shù)字簽名。
B17、根據(jù)B15所述的應(yīng)用程序調(diào)用裝置,所述系統(tǒng)為安卓系統(tǒng),所述第二獲取單元通過getPackageManager()方法獲取所述已安裝應(yīng)用集合。
B18、根據(jù)B14所述的應(yīng)用程序調(diào)用裝置,所述切換模塊用于:
判斷所述第一應(yīng)用是否具有調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的權(quán)限,若有則將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
B19、根據(jù)B18所述的應(yīng)用程序調(diào)用裝置,所述切換模塊通過預(yù)設(shè)數(shù)據(jù)庫判斷所述第一應(yīng)用是否具有調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的權(quán)限,所述預(yù)設(shè)數(shù)據(jù)庫存儲有所述第一應(yīng)用和能夠被所述第一應(yīng)用調(diào)用的應(yīng)用的關(guān)系信息。
B20、根據(jù)B14所述的應(yīng)用程序調(diào)用裝置,所述切換模塊用于:
向用戶發(fā)出是否允許所述第一應(yīng)用調(diào)用安裝于所述系統(tǒng)保護模式下的應(yīng)用的詢問信息;
接收用戶輸入的確認(rèn)指令,將系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
B21、根據(jù)B14所述的應(yīng)用程序調(diào)用裝置,所述系統(tǒng)為安卓系統(tǒng),所述切換模塊調(diào)用ActivityManager類中的switchUser()方法以從管理員賬號切換到普通用戶賬號,從而使得系統(tǒng)從當(dāng)前系統(tǒng)普通模式切換成系統(tǒng)保護模式。
B22、根據(jù)B14所述的應(yīng)用程序調(diào)用裝置,所述預(yù)定應(yīng)用包括支付相關(guān)的應(yīng)用、理財相關(guān)的應(yīng)用和銀行相關(guān)的應(yīng)用中的至少其中一種。
B23、根據(jù)B14所述的應(yīng)用程序調(diào)用裝置,所述運行資源包括該應(yīng)用程序本身、該應(yīng)用配置數(shù)據(jù)和該應(yīng)用用戶數(shù)據(jù)其中至少一種,所述安全空間包括存儲空間。
B24、根據(jù)B14所述的應(yīng)用程序調(diào)用裝置,所述運行資源包括運行保護策略,所述安全空間包括存儲空間及其相應(yīng)的運行保護策略配置環(huán)境。
B25、根據(jù)B14所述的應(yīng)用程序調(diào)用裝置,對所述第二應(yīng)用的調(diào)用結(jié)束后,所述切換模塊將系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式,然后使得所述第一應(yīng)用重新獲取焦點。
B26、根據(jù)B25所述的應(yīng)用程序調(diào)用裝置,所述系統(tǒng)為安卓系統(tǒng),所述切換模塊調(diào)用ActivityManager類中的switchUser()方法以從普通用戶賬號切換到管理員賬號,從而使得系統(tǒng)從系統(tǒng)保護模式切換成系統(tǒng)普通模式。
C27、一種移動終端,其包括:
觸敏顯示器;
一個或多個處理器;
存儲器;
一個或多個應(yīng)用程序,其中所述一個或多個應(yīng)用程序被存儲在所述存儲器中并被配置為由所述一個或多個處理器執(zhí)行,所述一個或多個程序配置用于執(zhí)行如A1至A13任一所述的應(yīng)用程序調(diào)用方法。
應(yīng)該理解的是,雖然附圖的流程圖中的各個步驟按照箭頭的指示依次顯示,但是這些步驟并不是必然按照箭頭指示的順序依次執(zhí)行。除非本文中有明確的說明,這些步驟的執(zhí)行并沒有嚴(yán)格的順序限制,其可以以其他的順序執(zhí)行。而且,附圖的流程圖中的至少一部分步驟可以包括多個子步驟或者多個階段,這些子步驟或者階段并不必然是在同一時刻執(zhí)行完成,而是可以在不同的時刻執(zhí)行,其執(zhí)行順序也不必然是依次進行,而是可以與其他步驟或者其他步驟的子步驟或者階段的至少一部分輪流或者交替地執(zhí)行。
以上所述僅是本發(fā)明的部分實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。