用于檢測應(yīng)用安裝狀態(tài)的方法、移動終端和服務(wù)器的制造方法
【專利摘要】本公開提供了一種用于檢測應(yīng)用安裝狀態(tài)的方法和移動終端。該方法包括:(a)向服務(wù)器請求針對一個或多個應(yīng)用的安裝特征碼;(b)從所述服務(wù)器接收與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼;以及(c)根據(jù)所接收的安裝特征碼來檢測相應(yīng)應(yīng)用的安裝狀態(tài)。該移動終端包括:特征碼請求單元,用于向服務(wù)器請求針對一個或多個應(yīng)用的安裝特征碼;特征碼接收單元,用于從所述服務(wù)器接收與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼;以及安裝狀態(tài)檢測單元,用于根據(jù)所接收的安裝特征碼來檢測相應(yīng)應(yīng)用的安裝狀態(tài)。本公開還提供了一種用于輔助檢測應(yīng)用安裝狀態(tài)的方法和服務(wù)器。
【專利說明】
用于檢測應(yīng)用安裝狀態(tài)的方法、移動終端和服務(wù)器
技術(shù)領(lǐng)域
[0001]本公開總體上涉及移動應(yīng)用領(lǐng)域,更具體地涉及一種用于檢測應(yīng)用安裝狀態(tài)的方法、移動終端和服務(wù)器。
【背景技術(shù)】
[0002]隨著近幾年由蘋果公司開發(fā)的移動終端iPhone/iPad/iPod等的廣泛流行,使得越來越多的個人/企業(yè)加入了基于其操作平臺1S的應(yīng)用(app)開發(fā)的行列。相當重要的一部分應(yīng)用是面向企業(yè)內(nèi)部用戶的,其并不對外向公眾發(fā)布。因此,基于這一需求,蘋果公司推出了企業(yè)級的應(yīng)用開發(fā)模式。在該模式下,企業(yè)級的應(yīng)用無需上傳至位于公共網(wǎng)絡(luò)上的App Store (蘋果應(yīng)用商店),而是可以在企業(yè)內(nèi)部的服務(wù)器處向員工的1S設(shè)備自行分發(fā)這些內(nèi)部應(yīng)用。
[0003]在這種情況下,很多的企業(yè)都搭建起了自己的移動應(yīng)用管理平臺(MobileApplicat1n Management,簡稱為MAM)。典型的MAM系統(tǒng)的架構(gòu)如圖1所示。管理員/開發(fā)人員可以通過瀏覽器來訪問MAM管理平臺,并將需要在企業(yè)內(nèi)部分發(fā)/安裝的1S應(yīng)用包(.1pa文件)通過管理平臺上傳至服務(wù)器。移動終端上的1S MAM客戶端從服務(wù)器中讀取安裝應(yīng)用列表。
[0004]圖2示出了 1S MAM客戶端界面的一個示例??梢钥吹?S MAM客戶端顯示了各個應(yīng)用的安裝狀態(tài)。未安裝在設(shè)備上的應(yīng)用顯示有“安裝”按鈕,供用戶選擇安裝。已安裝在設(shè)備上的應(yīng)用顯示有“卸載”按鈕,供用戶選擇卸載。由于1S系統(tǒng)的安全性和封閉性,1S并沒有考慮過向開發(fā)者提供直接獲取設(shè)備上應(yīng)用列表的功能。所以導(dǎo)致第三方應(yīng)用無從知道設(shè)備上的另一個應(yīng)用是否已經(jīng)安裝,繼而無法正確顯示應(yīng)用的安裝狀態(tài)。
[0005]作為對該問題的解決方案,蘋果公司官方提供了一套移動設(shè)備管理(MobileDevice Management,簡稱為MDM)部署方案及協(xié)議。通過該方案,服務(wù)器可以與1S移動終端之間建立管理連接。服務(wù)器可以根據(jù)MDM協(xié)議中提供的API,獲取與其關(guān)聯(lián)的移動終端上的應(yīng)用列表。具體地,在移動終端的客戶端上顯示應(yīng)用安裝狀態(tài)的流程如下:
[0006](I)服務(wù)器通過MDM協(xié)議接口來查詢移動終端上已安裝的應(yīng)用列表;
[0007](2)服務(wù)器的數(shù)據(jù)庫存儲對應(yīng)設(shè)備的應(yīng)用列表;
[0008](3)在服務(wù)器向移動終端的MAM客戶端返回的應(yīng)用列表中,還包括根據(jù)其數(shù)據(jù)庫中對應(yīng)移動終端的應(yīng)用列表來指示應(yīng)用是否已經(jīng)安裝的指示符;以及
[0009](4)MAM客戶端根據(jù)服務(wù)器返回的指示應(yīng)用安裝狀態(tài)的指示符來相應(yīng)顯示“安裝”或者“卸載”按鈕。
[0010]然而,通過蘋果公司提供的MDM協(xié)議這種方式來查詢移動終端的應(yīng)用列表時,需要服務(wù)器側(cè)主動發(fā)起指令,所以就需要服務(wù)器開啟一個定時器,定時輪詢其所管理的設(shè)備的應(yīng)用列表。這樣就至少存在以下問題:(I)給服務(wù)器造成負載壓力;(2)存在狀態(tài)同步延遲,移動終端上安裝了某個應(yīng)用或者刪除了某個應(yīng)用時,MAM客戶端本身不能即時看到應(yīng)用的安裝狀態(tài)改變,而是需要在服務(wù)器通過MDM協(xié)議查詢移動終端的應(yīng)用安裝狀態(tài)之后,才能向MAM客戶端提供該應(yīng)用安裝狀態(tài)。
[0011]此外,請注意:盡管在本節(jié)中提供了上述技術(shù)內(nèi)容,但并不代表發(fā)明人/
【申請人】承認其是本領(lǐng)域公知的現(xiàn)有技術(shù),這些技術(shù)內(nèi)容應(yīng)當被視為本申請的一部分,而不應(yīng)當被視為是對本申請的保護范圍的限制。
【發(fā)明內(nèi)容】
[0012]為了解決上述問題,提供了根據(jù)本公開實施例的用于檢測應(yīng)用安裝狀態(tài)的方法和移動終端。
[0013]根據(jù)本公開的第一方面,提供了一種在移動終端處執(zhí)行的用于檢測應(yīng)用安裝狀態(tài)的方法。該方法包括:(a)向服務(wù)器請求針對一個或多個應(yīng)用的安裝特征碼;(b)從所述服務(wù)器接收與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼;以及(C)根據(jù)所接收的安裝特征碼來檢測相應(yīng)應(yīng)用的安裝狀態(tài)。
[0014]在一些實施例中,所述安裝特征碼是URL Scheme。
[0015]在一些實施例中,步驟(C)包括:根據(jù)所接收的URL Scheme,調(diào)用“canOpenURL”方法來檢測是否存在能夠識別URL Scheme的應(yīng)用,如果所述“canOpenURL”方法的返回值為否,則確定與所述URL Scheme相對應(yīng)的應(yīng)用未安裝,以及如果所述“canOpenURL”方法的返回值為真,則確定與所述URL Scheme相對應(yīng)的應(yīng)用已安裝。
[0016]在一些實施例中,在步驟(C)之后,所述方法還包括:(d)根據(jù)檢測到的所述一個或多個應(yīng)用的安裝狀態(tài),在所述移動終端上進行相應(yīng)顯示。
[0017]在一些實施例中,所述服務(wù)器具有的安裝特征碼是由與所述安裝特征碼相對應(yīng)的應(yīng)用的開發(fā)商向所述服務(wù)器提交的。
[0018]在一些實施例中,步驟(b)還包括:從所述服務(wù)器接收與所述一個或多個應(yīng)用中的全部應(yīng)用相對應(yīng)的安裝特征碼。
[0019]在一些實施例中,與不同應(yīng)用相關(guān)聯(lián)的URL Scheme不同。
[0020]在一些實施例中,步驟(b)還包括:從所述服務(wù)器接收與所述一個或多個應(yīng)用中的非全部應(yīng)用相對應(yīng)的安裝特征碼。
[0021]在一些實施例中,步驟(C)還包括:針對未接收到相應(yīng)安裝特征碼的應(yīng)用,在所述移動終端上基于上一次應(yīng)用安裝狀態(tài)檢測的結(jié)果進行相應(yīng)顯示。
[0022]在一些實施例中,步驟(C)還包括:(Cl)針對未接收到相應(yīng)安裝特征碼的應(yīng)用,向服務(wù)器查詢相應(yīng)應(yīng)用的安裝狀態(tài);以及(c2)從所述服務(wù)器接收針對所述應(yīng)用的安裝狀態(tài)的答復(fù)。
[0023]根據(jù)本公開的第二方面,提供了一種用于檢測應(yīng)用安裝狀態(tài)的移動終端。該移動終端包括:特征碼請求單元,用于向服務(wù)器請求針對一個或多個應(yīng)用的安裝特征碼;特征碼接收單元,用于從所述服務(wù)器接收與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼;以及安裝狀態(tài)檢測單元,用于根據(jù)所接收的安裝特征碼來檢測相應(yīng)應(yīng)用的安裝狀態(tài)。
[0024]在一些實施例中,所述安裝特征碼是URL Scheme。
[0025]在一些實施例中,所述安裝狀態(tài)檢測單元還用于:根據(jù)所接收的URL Scheme,調(diào)用“canOpenURL”方法來檢測是否存在能夠識別URL Scheme的應(yīng)用,如果所述“canOpenURL”方法的返回值為否,則確定與所述URL Scheme相對應(yīng)的應(yīng)用未安裝,以及如果所述“canOpenURL”方法的返回值為真,則確定與所述URL Scheme相對應(yīng)的應(yīng)用已安裝。
[0026]在一些實施例中,所述移動終端還包括:安裝狀態(tài)顯示單元,用于根據(jù)檢測到的所述一個或多個應(yīng)用的安裝狀態(tài),在所述移動終端上進行相應(yīng)顯示。
[0027]在一些實施例中,所述服務(wù)器具有的安裝特征碼是由與所述安裝特征碼相對應(yīng)的應(yīng)用的開發(fā)商向所述服務(wù)器提交的。
[0028]在一些實施例中,所述特征碼接收單元還用于:從所述服務(wù)器接收與所述一個或多個應(yīng)用中的全部應(yīng)用相對應(yīng)的安裝特征碼。
[0029]在一些實施例中,與不同應(yīng)用相關(guān)聯(lián)的URL Scheme不同。
[0030]在一些實施例中,所述特征碼接收單元還用于:從所述服務(wù)器接收與所述一個或多個應(yīng)用中的非全部應(yīng)用相對應(yīng)的安裝特征碼。
[0031]在一些實施例中,所述安裝狀態(tài)檢測單元還用于:針對未接收到相應(yīng)安裝特征碼的應(yīng)用,在所述移動終端上基于上一次應(yīng)用安裝狀態(tài)檢測的結(jié)果進行相應(yīng)顯示。
[0032]在一些實施例中,所述安裝狀態(tài)檢測單元還用于:針對未接收到相應(yīng)安裝特征碼的應(yīng)用,向服務(wù)器查詢相應(yīng)應(yīng)用的安裝狀態(tài);以及從所述服務(wù)器接收針對所述應(yīng)用的安裝狀態(tài)的答復(fù)。
[0033]根據(jù)本公開的第三方面,提供了一種在服務(wù)器處執(zhí)行的用于輔助檢測應(yīng)用安裝狀態(tài)的方法。該方法包括:(a)從移動終端接收針對一個或多個應(yīng)用的安裝特征碼的請求;
(b)在數(shù)據(jù)庫中查找與所述一個或多個應(yīng)用相關(guān)的安裝特征碼;以及(C)向所述移動終端發(fā)送與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼。
[0034]在一些實施例中,所述安裝特征碼是URL Scheme。
[0035]在一些實施例中,所述服務(wù)器具有的安裝特征碼是由與所述安裝特征碼相對應(yīng)的應(yīng)用的開發(fā)商向所述服務(wù)器提交的。
[0036]在一些實施例中,與不同應(yīng)用相關(guān)聯(lián)的URL Scheme不同。
[0037]在一些實施例中,步驟(C)還包括:向所述移動終端發(fā)送與所述一個或多個應(yīng)用中的非全部應(yīng)用相對應(yīng)的安裝特征碼。
[0038]在一些實施例中,該方法還包括:(d)從移動終端接收針對未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài)的請求;(e)通過MDM協(xié)議接口向所述移動終端查詢與未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài);(f)從所述移動終端接收與未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài);以及(g)基于所接收的安裝狀態(tài),向所述移動終端發(fā)送答復(fù)。
[0039]根據(jù)本公開的第四方面,提供了一種用于輔助檢測應(yīng)用安裝狀態(tài)的服務(wù)器。該服務(wù)器包括:第一請求接收單元,用于從移動終端接收針對一個或多個應(yīng)用的安裝特征碼的請求;特征碼查找單元,用于在數(shù)據(jù)庫中查找與所述一個或多個應(yīng)用相關(guān)的安裝特征碼;以及特征碼發(fā)送單元,用于向所述移動終端發(fā)送與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼。
[0040]在一些實施例中,所述安裝特征碼是URL Scheme。
[0041]在一些實施例中,所述服務(wù)器具有的安裝特征碼是由與所述安裝特征碼相對應(yīng)的應(yīng)用的開發(fā)商向所述服務(wù)器提交的。
[0042]在一些實施例中,與不同應(yīng)用相關(guān)聯(lián)的URL Scheme不同。
[0043]在一些實施例中,所述特征碼發(fā)送單元還用于:向所述移動終端發(fā)送與所述一個或多個應(yīng)用中的非全部應(yīng)用相對應(yīng)的安裝特征碼。
[0044]在一些實施例中,所述服務(wù)器還包括:第二請求接收單元,用于從移動終端接收針對未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài)的請求;安裝狀態(tài)查詢單元,用于通過MDM協(xié)議接口向所述移動終端查詢與未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài);安裝狀態(tài)接收單元,用于從所述移動終端接收與未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài);以及答復(fù)發(fā)送單元,用于基于所接收的安裝狀態(tài),向所述移動終端發(fā)送答復(fù)。
[0045]根據(jù)本公開的第五方面,提供了一種用于檢測應(yīng)用安裝狀態(tài)的系統(tǒng)。該系統(tǒng)包括:一個或多個根據(jù)本公開第二方面所述的移動終端以及至少一個根據(jù)本公開第四方面所述的服務(wù)器。
[0046]根據(jù)本公開的第六方面,提供了一種非瞬時計算機可讀存儲介質(zhì),其上存儲有計算機可執(zhí)行程序,當計算機執(zhí)行該程序時,使得所述計算機執(zhí)行根據(jù)本公開第一方面和/或第三方面所述的方法。
[0047]通過使用本公開實施例的方法、移動終端和服務(wù)器,可以降低服務(wù)器查詢設(shè)備的負載壓力,節(jié)約計算/網(wǎng)絡(luò)/時間資源,并使得MAM客戶端可以實時正確的顯示移動終端上的應(yīng)用安裝狀態(tài)。
【附圖說明】
[0048]通過下面結(jié)合【附圖說明】本公開的優(yōu)選實施例,將使本公開的上述及其它目的、特征和優(yōu)點更加清楚,其中:
[0049]圖1示出了示例MAM系統(tǒng)架構(gòu)的示意圖。
[0050]圖2是示出了示例MAM客戶端的示例用戶界面。
[0051]圖3是示出了根據(jù)本公開實施例的示例應(yīng)用場景的示意圖。
[0052]圖4是示出了根據(jù)本公開實施例的用于檢測應(yīng)用安裝狀態(tài)的示例流程的示意圖。
[0053]圖5是示出了根據(jù)本公開實施例的在移動終端處執(zhí)行的用于檢測應(yīng)用安裝狀態(tài)的示例方法的流程圖。
[0054]圖6是示出了根據(jù)本公開實施例的用于執(zhí)行圖5所示方法的示例移動終端的框圖。
[0055]圖7是示出了根據(jù)本公開實施例的在服務(wù)器處執(zhí)行的用于輔助檢測應(yīng)用安裝狀態(tài)的示例方法的流程圖。
[0056]圖8是示出了根據(jù)本公開實施例的用于執(zhí)行圖7所示方法的示例服務(wù)器的框圖。
【具體實施方式】
[0057]下面參照附圖對本公開的優(yōu)選實施例進行詳細說明,在描述過程中省略了對于本公開來說是不必要的細節(jié)和功能,以防止對本公開的理解造成混淆。以下,以本公開應(yīng)用于無線移動通信系統(tǒng)的場景為例,對本公開進行了詳細描述。但本公開并不局限于此,本公開也可以應(yīng)用于固定通信系統(tǒng)、有線通信系統(tǒng),或者應(yīng)用于無線移動通信系統(tǒng)、固定通信系統(tǒng)、有線通信系統(tǒng)等的任意混合結(jié)構(gòu)。就移動通信系統(tǒng)而言,本公開并不局限于所涉及的各個移動通信終端的具體通信協(xié)議,可以包括(但不限于)2G、3G、4G、5G網(wǎng)絡(luò),WCDMA,CDMA2000、TD-SCDMA系統(tǒng)等,不同的移動終端可以采用相同的通信協(xié)議,也可以采用不同的通信協(xié)議。此外,本公開并不局限于移動終端的具體操作系統(tǒng),可以包括(但不限于)1S、Windows Phone、Symbian (塞班)、Android(安卓)等,不同的移動終端可以采用相同的操作系統(tǒng),也可以采用不同的操作系統(tǒng)。
[0058]在本公開的以下描述中,將主要以1S操作系統(tǒng)為例來說明本公開的發(fā)明構(gòu)思,然而本公開不限于此,其也可以同樣適用于其它操作系統(tǒng),例如安卓、Windows等。此外,在本公開的以下描述中,將主要針對企業(yè)內(nèi)部的應(yīng)用分發(fā)來描述本公開實施例,然而本公開不限于此。事實上,其也可以適用于各種類型的應(yīng)用分發(fā),例如,互聯(lián)網(wǎng)應(yīng)用分發(fā)等等。
[0059]在1S系統(tǒng)中,提供了一種在應(yīng)用之間傳遞數(shù)據(jù)的通信方式,稱為URL Scheme。例如,第一應(yīng)用在終端上安裝時,可以向終端操作系統(tǒng)注冊其所支持的URL Scheme。例如,如果第一應(yīng)用是個網(wǎng)頁瀏覽器,其可以向操作系統(tǒng)1S登記其URL Scheme,例如“http”。這樣,如果在第二應(yīng)用中請求1S系統(tǒng)打開某一個以“http”開頭的URL時,例如“http://www.google, com”,則可以通過1S系統(tǒng)提供“openurl”方法向第一應(yīng)用傳遞該URL “http://www.google, com”,以實現(xiàn)一種數(shù)據(jù)通信方式。當然,在1S的缺省設(shè)置下,URL Scheme “http”已經(jīng)被1S自己的網(wǎng)頁瀏覽器等所注冊,這里僅作為說明示例之用。
[0060]然而,本申請的發(fā)明人在解決本申請的技術(shù)問題的過程中,發(fā)現(xiàn)可以通過以下方式來檢測應(yīng)用是否已安裝。在一些實施例中,首先在該應(yīng)用的info, piist文件中注冊一個URL Scheme屬性(字符串,例如上面的http等),而其它應(yīng)用可以通過調(diào)用UIApplicat1n類的方法:
[0061]canOpenURL: " URL Scheme"
[0062]來判斷對應(yīng)的app是否已經(jīng)安裝,而無需等待服務(wù)器側(cè)通過MDM協(xié)議向移動終端查詢應(yīng)用安裝狀態(tài)。
[0063]此外,在以下描述中,不同應(yīng)用注冊了不同的URL Scheme,然而本公開不限于此。
[0064]圖3是示出了根據(jù)本公開實施例的應(yīng)用安裝檢測系統(tǒng)1000的應(yīng)用場景的示意圖。如圖3所示,系統(tǒng)1000可以包括移動終端100和服務(wù)器200。為了清楚起見,圖中僅示出了一個移動終端100、一個服務(wù)器200,但本公開并不局限于此,可以包括兩個或更多數(shù)目的移動終端和/或服務(wù)器等等。移動終端100可以屬于用戶或者可以由用戶操作。移動終端100和服務(wù)器200可以通過通信網(wǎng)絡(luò)300進行通信。通信網(wǎng)絡(luò)300的示例可以包括(但不限于):互聯(lián)網(wǎng)、移動通信網(wǎng)絡(luò)、固定線路(如xDSL、光纖等)等。
[0065]在圖3所示實施例中,為了在移動終端100上檢測應(yīng)用安裝狀態(tài),將根據(jù)本公開的實施例的安裝狀態(tài)檢測客戶端150 (以下簡稱為客戶端150)安裝在移動終端100上??蛻舳?50可以由用戶以軟件的形式自行安裝在移動終端100中,或者可以由生產(chǎn)廠商以硬件或固件的形式安裝在移動終端100中。在一些實施例中,客戶端150可以是例如在用戶購買了移動終端100之后從網(wǎng)絡(luò)中下載的專門用于本公開實施例的應(yīng)用軟件。在另一些實施例中,客戶端150可以是例如由生產(chǎn)廠商以固件或硬件形式預(yù)先安裝在移動終端100中的應(yīng)用程序。在又一些實施例中,客戶端150可以是由生產(chǎn)廠商生產(chǎn)的硬件模塊或移動終端100本身。
[0066]此外,在圖3所示實施例中,為了在服務(wù)器200上輔助檢測應(yīng)用安裝狀態(tài),將根據(jù)本公開的實施例的安裝狀態(tài)輔助檢測服務(wù)器端250 (以下簡稱為服務(wù)器端250)安裝在服務(wù)器200上。服務(wù)器端250可以由管理員以軟件的形式自行安裝在服務(wù)器200中,或者可以由生產(chǎn)廠商以硬件或固件的形式安裝在服務(wù)器200中。在一些實施例中,服務(wù)器端250可以是例如在管理員購買了服務(wù)器200之后從網(wǎng)絡(luò)中下載的專門用于本公開實施例的應(yīng)用軟件。在另一些實施例中,服務(wù)器端250可以是例如由生產(chǎn)廠商以固件或硬件形式預(yù)先安裝在服務(wù)器200中的應(yīng)用程序。在又一些實施例中,服務(wù)器端250可以是由生產(chǎn)廠商生產(chǎn)的硬件模塊或服務(wù)器200本身。
[0067]接下來,將參考圖3和圖4來詳細描述根據(jù)本公開實施例的用于檢測應(yīng)用安裝狀態(tài)的示例流程。
[0068]在一些實施例中,企業(yè)在開發(fā)應(yīng)用的時候就可以為其應(yīng)用指定URL Scheme。例如,每個應(yīng)用具有自己的獨特的URL Scheme (例如,app I, app2等)。應(yīng)用程序包在通過管理平臺上傳的時候,管理平臺可以解析出該應(yīng)用程序包的URL Scheme的值(例如,通過分析info, plist文件),并將其存入數(shù)據(jù)庫。當服務(wù)器200向MAM客戶端返回應(yīng)用列表時,該應(yīng)用列表可以附帶與各應(yīng)用對應(yīng)的URL Scheme。這樣,MAM客戶端程序就可以自己判斷應(yīng)用的狀態(tài),而無需等待服務(wù)器側(cè)同步。
[0069]如圖4所示,首先,在應(yīng)用開發(fā)期間或之后,可以注冊URL Scheme并打包應(yīng)用。然后,可以將應(yīng)用程序包通過管理平臺上傳至MAM服務(wù)器(例如,服務(wù)器200)進行發(fā)布,同時管理平臺解析出該應(yīng)用程序包的URL Scheme,并存入數(shù)據(jù)庫。
[0070]接下來,在一些實施例中,移動終端100上的MAM客戶端(例如,客戶端150)可以刷新應(yīng)用列表。在一個實施例中,刷新應(yīng)用列表包括向服務(wù)器端250發(fā)起應(yīng)用狀態(tài)請求。服務(wù)器端在收到該請求之后,可以查詢數(shù)據(jù)庫中存儲的應(yīng)用列表,并向客戶端返回該應(yīng)用列表。該應(yīng)用列表中的每個應(yīng)用記錄包含了對應(yīng)應(yīng)用的URL Scheme值。
[0071]在一些實施例中,服務(wù)器200所返回的應(yīng)用列表可以包括與移動終端100請求的部分或全部應(yīng)用相關(guān)的信息。例如,當返回全部應(yīng)用相關(guān)的信息時,可以針對這些應(yīng)用的URL Scheme進行逐一嘗試(串行、并行、或其他順序),以確定這些應(yīng)用是否已被安裝在移動終端100上。
[0072]當服務(wù)器200由于某些原因并未返回全部應(yīng)用的信息時,例如由于某一應(yīng)用已下架、該服務(wù)器200不支持/不知道某一應(yīng)用等、或某一應(yīng)用并未采用URL Scheme方式注冊,則移動終端100上的客戶端150在收到部分信息的情況下,針對那些沒有收到URL Scheme信息的應(yīng)用,可以采用其他方式來確定安裝狀態(tài)。
[0073]在一些實施例中,可以繼續(xù)顯示上一次狀態(tài)確定的結(jié)果。例如,如果之前顯示為已安裝,則繼續(xù)顯示為已安裝,反之亦然。在另一些實施例中,可以請求服務(wù)器200通過MDM協(xié)議來查詢那些未收到URL Scheme信息的應(yīng)用的安裝狀態(tài),然后根據(jù)服務(wù)器200的查詢結(jié)果來相應(yīng)顯示。
[0074]MAM客戶端在接收到應(yīng)用列表后,可以根據(jù)應(yīng)用記錄中的URL Scheme來采用以上方式判斷對應(yīng)的應(yīng)用是否已經(jīng)安裝,并進行相應(yīng)顯示。當例如“canOpenURL”方法的返回值為“否”時,則判斷移動終端100上并未安裝對應(yīng)應(yīng)用。相反,如果當例如“canOpenURL”方法的返回值為“是”時,則判斷移動終端100上已安裝了對應(yīng)應(yīng)用。
[0075]至此,通過根據(jù)本公開實施例的檢測應(yīng)用安裝狀態(tài)的方法和移動終端,可以摒棄服務(wù)器通過MDM協(xié)議發(fā)起查詢的方式,免去了服務(wù)器的負載壓力。同時,客戶端刷新應(yīng)用列表后,能夠及時準確地顯示應(yīng)用的當前安裝狀態(tài)。
[0076]圖5是示出了根據(jù)本公開實施例的在移動終端100中執(zhí)行的檢測應(yīng)用安裝狀態(tài)的方法400的流程圖。如圖5所示,方法400可以包括步驟S410、S420和S430。根據(jù)本公開,方法400的一些步驟可以單獨執(zhí)行或組合執(zhí)行,以及可以并行執(zhí)行或順序執(zhí)行,并不局限于圖5所示的具體操作順序。在一些實施例中,方法400可以由圖3所示的移動終端100和/或客戶端150執(zhí)行。
[0077]圖7是示出了根據(jù)本公開實施例的在服務(wù)器200中執(zhí)行的輔助檢測應(yīng)用安裝狀態(tài)的方法450的流程圖。如圖7所示,方法450可以包括步驟S460、S470和S480。根據(jù)本公開,方法450的一些步驟可以單獨執(zhí)行或組合執(zhí)行,以及可以并行執(zhí)行或順序執(zhí)行,并不局限于圖7所示的具體操作順序。在一些實施例中,方法450可以由圖3所示的服務(wù)器200和/或服務(wù)器端250執(zhí)行。
[0078]圖6是示出了根據(jù)本公開實施例的檢測應(yīng)用安裝狀態(tài)的示例移動終端100的框圖。如圖6所示,移動終端100可以包括:特征碼請求單元110、特征碼接收單元120和安裝狀態(tài)檢測單元130。
[0079]特征碼請求單元110可以用于向服務(wù)器200請求針對一個或多個應(yīng)用的安裝特征碼。特征碼請求單元110可以是移動終端100的中央處理單元(CPU)、數(shù)字信號處理器(DSP)、微處理器、微控制器等等,其可以與移動終端100的通信部分(例如,無線收發(fā)信機、以太網(wǎng)卡、xDSL調(diào)制解調(diào)器等)相配合,向服務(wù)器200請求針對一個或多個應(yīng)用的安裝特征碼。
[0080]特征碼接收單元120可以用于從服務(wù)器200接收與一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼。特征碼接收單元120可以是移動終端100的中央處理單元(CPU)、數(shù)字信號處理器(DSP)、微處理器、微控制器等等,其可以與移動終端100的通信部分(例如,無線收發(fā)信機、以太網(wǎng)卡、xDSL調(diào)制解調(diào)器等)相配合,從服務(wù)器200接收與一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼。
[0081]安裝狀態(tài)檢測單元130可以用于根據(jù)所接收的安裝特征碼來檢測相應(yīng)應(yīng)用的安裝狀態(tài)。安裝狀態(tài)檢測單元130可以是移動終端100的中央處理單元(CPU)、數(shù)字信號處理器(DSP)、微處理器、微控制器等等,其可以與移動終端100的存儲部分(例如,SD卡、閃存等)相配合,調(diào)用系統(tǒng)方法“canOpenURL”,以根據(jù)所接收的安裝特征碼來檢測相應(yīng)應(yīng)用的安裝狀態(tài)。
[0082]此外,移動終端100還可以包括圖6中未示出的其他單元,例如安裝狀態(tài)顯示單元等。在一些實施例中,安裝狀態(tài)顯示單元可以用于根據(jù)檢測到的一個或多個應(yīng)用的安裝狀態(tài),在移動終端100上進行相應(yīng)顯示。
[0083]圖8是示出了根據(jù)本公開實施例的輔助檢測應(yīng)用安裝狀態(tài)的示例服務(wù)器200的框圖。如圖8所示,服務(wù)器200可以包括:第一請求接收單元210、特征碼查找單元220和特征碼發(fā)送單元230。
[0084]第一請求接收單元210可以用于從移動終端100接收針對一個或多個應(yīng)用的安裝特征碼的請求。第一請求接收單元210可以是服務(wù)器200的中央處理單元(CPU)、數(shù)字信號處理器(DSP)、微處理器、微控制器等等,其可以與服務(wù)器200的通信部分(例如,無線收發(fā)信機、以太網(wǎng)卡、xDSL調(diào)制解調(diào)器等)相配合,從移動終端100接收針對一個或多個應(yīng)用的安裝特征碼的請求。
[0085]特征碼查找單元220可以用于在數(shù)據(jù)庫中查找與所述一個或多個應(yīng)用相關(guān)的安裝特征碼。特征碼接收單元220可以是服務(wù)器200的中央處理單元(CPU)、數(shù)字信號處理器(DSP)、微處理器、微控制器等等,其可以與服務(wù)器200的存儲部分(例如,硬盤、磁帶驅(qū)動器、光盤驅(qū)動器、U盤等)相配合,在其存儲的數(shù)據(jù)庫中查找與所述一個或多個應(yīng)用相關(guān)的安裝特征碼。
[0086]特征碼發(fā)送單元230可以用于向移動終端100發(fā)送與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼。特征碼發(fā)送單元230可以是服務(wù)器200的中央處理單元(CPU)、數(shù)字信號處理器(DSP)、微處理器、微控制器等等,其可以與服務(wù)器200的通信部分(例如,無線收發(fā)信機、以太網(wǎng)卡、xDSL調(diào)制解調(diào)器等)相配合,向移動終端100發(fā)送與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼。
[0087]此外,服務(wù)器200還可以包括圖8中未示出的其他單元,例如第二請求接收單元、安裝狀態(tài)查詢單元、安裝狀態(tài)接收單元、以及答復(fù)發(fā)送單元等。在一些實施例中,第二請求接收單元可以用于從移動終端100接收針對未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài)的請求。在一些實施例中,安裝狀態(tài)查詢單元可以用于通過MDM協(xié)議接口向移動終端100查詢與未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài)。在一些實施例中,安裝狀態(tài)接收單元可以用于從移動終端100接收與未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài)。在一些實施例中,答復(fù)發(fā)送單元可以用于基于所接收的安裝狀態(tài),向移動終端100發(fā)送答復(fù)。
[0088]以下將結(jié)合圖5和圖6,對根據(jù)本公開實施例的在移動終端100上執(zhí)行的檢測應(yīng)用安裝狀態(tài)的方法400和移動終端100進行詳細的描述。
[0089]方法400開始于步驟S410,在步驟S410中,可以由移動終端100的特征碼請求單元110向服務(wù)器200請求針對一個或多個應(yīng)用的安裝特征碼。
[0090]在步驟S420中,可以由移動終端100的特征碼接收單元120從服務(wù)器200接收與一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼。
[0091]在步驟S430中,可以由移動終端100的安裝狀態(tài)檢測單元130根據(jù)所接收的安裝特征碼來檢測相應(yīng)應(yīng)用的安裝狀態(tài)。
[0092]在一些實施例中,安裝特征碼可以是URL Scheme。
[0093]在一些實施例中,步驟S430可以包括:根據(jù)所接收的URL Scheme,調(diào)用“canOpenURL”方法來檢測是否存在能夠識別URL Scheme的應(yīng)用,如果“canOpenURL”方法的返回值為否,則確定與URL Scheme相對應(yīng)的應(yīng)用未安裝,以及如果“canOpenURL”方法的返回值為真,則確定與URL Scheme相對應(yīng)的應(yīng)用已安裝。
[0094]在一些實施例中,在步驟S430之后,方法400還可以包括:(S440)根據(jù)檢測到的一個或多個應(yīng)用的安裝狀態(tài),在移動終端100上進行相應(yīng)顯示。
[0095]在一些實施例中,服務(wù)器200具有的安裝特征碼可以是由與安裝特征碼相對應(yīng)的應(yīng)用的開發(fā)商向服務(wù)器200提交的。
[0096]在一些實施例中,步驟S420還可以包括:從服務(wù)器200接收與一個或多個應(yīng)用中的全部應(yīng)用相對應(yīng)的安裝特征碼。
[0097]在一些實施例中,與不同應(yīng)用相關(guān)聯(lián)的URL Scheme可以不同。
[0098]在一些實施例中,步驟S420還可以包括:從服務(wù)器200接收與一個或多個應(yīng)用中的非全部應(yīng)用相對應(yīng)的安裝特征碼。
[0099]在一些實施例中,步驟S430還可以包括:針對未接收到相應(yīng)安裝特征碼的應(yīng)用,在移動終端100上基于上一次應(yīng)用安裝狀態(tài)檢測的結(jié)果進行相應(yīng)顯示。
[0100]在一些實施例中,步驟S430還可以包括:(S432)針對未接收到相應(yīng)安裝特征碼的應(yīng)用,向服務(wù)器200查詢相應(yīng)應(yīng)用的安裝狀態(tài);以及(S434)從服務(wù)器200接收針對應(yīng)用的安裝狀態(tài)的答復(fù)。
[0101]以下將結(jié)合圖7和圖8,對根據(jù)本公開實施例的在服務(wù)器200上執(zhí)行的輔助檢測應(yīng)用安裝狀態(tài)的方法450和服務(wù)器200進行詳細的描述。
[0102]方法450開始于步驟S460,在步驟S460中,可以由服務(wù)器200的第一請求接收單元210從移動終端100接收針對一個或多個應(yīng)用的安裝特征碼的請求。
[0103]在步驟S470中,可以由服務(wù)器200的特征碼查找單元220在數(shù)據(jù)庫中查找與一個或多個應(yīng)用相關(guān)的安裝特征碼。
[0104]在步驟S480中,可以由服務(wù)器200的特征碼發(fā)送單元230向移動終端100發(fā)送與一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼。
[0105]在一些實施例中,安裝特征碼可以是URL Scheme。
[0106]在一些實施例中,服務(wù)器200具有的安裝特征碼可以是由與安裝特征碼相對應(yīng)的應(yīng)用的開發(fā)商向服務(wù)器200提交的。
[0107]在一些實施例中,與不同應(yīng)用相關(guān)聯(lián)的URL Scheme可以不同。
[0108]在一些實施例中,步驟S480還可以包括:向移動終端100發(fā)送與一個或多個應(yīng)用中的非全部應(yīng)用相對應(yīng)的安裝特征碼。
[0109]在一些實施例中,方法450還可以包括:(S490)從移動終端100接收針對未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài)的請求;(S492)通過MDM協(xié)議接口向移動終端100查詢與未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài);(S494)從移動終端100接收與未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài);以及(S496)基于所接收的安裝狀態(tài),向移動終端100
發(fā)送答復(fù)。
[0110]至此已經(jīng)結(jié)合優(yōu)選實施例對本公開進行了描述。應(yīng)該理解,本領(lǐng)域技術(shù)人員在不脫離本公開的精神和范圍的情況下,可以進行各種其它的改變、替換和添加。因此,本公開的范圍不局限于上述特定實施例,而應(yīng)由所附權(quán)利要求所限定。
【主權(quán)項】
1.一種在移動終端處執(zhí)行的用于檢測應(yīng)用安裝狀態(tài)的方法,包括: (a)向服務(wù)器請求針對一個或多個應(yīng)用的安裝特征碼; (b)從所述服務(wù)器接收與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼;以及 (C)根據(jù)所接收的安裝特征碼來檢測相應(yīng)應(yīng)用的安裝狀態(tài)。2.根據(jù)權(quán)利要求1所述的方法,其中,所述安裝特征碼是URLScheme03.根據(jù)權(quán)利要求2所述的方法,其中,步驟(c)包括: 根據(jù)所接收的URL Scheme,調(diào)用“ canOpenURL”方法來檢測是否存在能夠識別URLScheme的應(yīng)用,如果所述“canOpenURL”方法的返回值為否,則確定與所述URL Scheme相對應(yīng)的應(yīng)用未安裝,以及如果所述“canOpenURL”方法的返回值為真,則確定與所述URLScheme相對應(yīng)的應(yīng)用已安裝。4.根據(jù)權(quán)利要求1所述的方法,其中,在步驟(C)之后,所述方法還包括: (d)根據(jù)檢測到的所述一個或多個應(yīng)用的安裝狀態(tài),在所述移動終端上進行相應(yīng)顯示。5.根據(jù)權(quán)利要求1所述的方法,其中,所述服務(wù)器具有的安裝特征碼是由與所述安裝特征碼相對應(yīng)的應(yīng)用的開發(fā)商向所述服務(wù)器提交的。6.根據(jù)權(quán)利要求1所述的方法,其中,步驟(b)還包括:從所述服務(wù)器接收與所述一個或多個應(yīng)用中的非全部應(yīng)用相對應(yīng)的安裝特征碼。7.根據(jù)權(quán)利要求6所述的方法,其中,步驟(c)還包括: 針對未接收到相應(yīng)安裝特征碼的應(yīng)用,在所述移動終端上基于上一次應(yīng)用安裝狀態(tài)檢測的結(jié)果進行相應(yīng)顯示。8.根據(jù)權(quán)利要求6所述的方法,其中,步驟(c)還包括: (Cl)針對未接收到相應(yīng)安裝特征碼的應(yīng)用,向服務(wù)器查詢相應(yīng)應(yīng)用的安裝狀態(tài);以及 (c2)從所述服務(wù)器接收針對所述應(yīng)用的安裝狀態(tài)的答復(fù)。9.一種用于檢測應(yīng)用安裝狀態(tài)的移動終端,包括: 特征碼請求單元,用于向服務(wù)器請求針對一個或多個應(yīng)用的安裝特征碼; 特征碼接收單元,用于從所述服務(wù)器接收與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼;以及 安裝狀態(tài)檢測單元,用于根據(jù)所接收的安裝特征碼來檢測相應(yīng)應(yīng)用的安裝狀態(tài)。10.一種在服務(wù)器處執(zhí)行的用于輔助檢測應(yīng)用安裝狀態(tài)的方法,包括: (a)從移動終端接收針對一個或多個應(yīng)用的安裝特征碼的請求; (b)在數(shù)據(jù)庫中查找與所述一個或多個應(yīng)用相關(guān)的安裝特征碼;以及 (C)向所述移動終端發(fā)送與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼。11.根據(jù)權(quán)利要求10所述的方法,其中,所述安裝特征碼是URLScheme。12.根據(jù)權(quán)利要求10所述的方法,其中,所述服務(wù)器具有的安裝特征碼是由與所述安裝特征碼相對應(yīng)的應(yīng)用的開發(fā)商向所述服務(wù)器提交的。13.根據(jù)權(quán)利要求10所述的方法,其中,步驟(c)還包括:向所述移動終端發(fā)送與所述一個或多個應(yīng)用中的非全部應(yīng)用相對應(yīng)的安裝特征碼。14.根據(jù)權(quán)利要求13所述的方法,還包括: (d)從移動終端接收針對未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài)的請求; (e)通過MDM協(xié)議接口向所述移動終端查詢與未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài); (f)從所述移動終端接收與未接收到相應(yīng)安裝特征碼的應(yīng)用的安裝狀態(tài);以及 (g)基于所接收的安裝狀態(tài),向所述移動終端發(fā)送答復(fù)。15.一種用于輔助檢測應(yīng)用安裝狀態(tài)的服務(wù)器,包括: 請求接收單元,用于從移動終端接收針對一個或多個應(yīng)用的安裝特征碼的請求; 特征碼查找單元,用于在數(shù)據(jù)庫中查找與所述一個或多個應(yīng)用相關(guān)的安裝特征碼;以及 特征碼發(fā)送單元,用于向所述移動終端發(fā)送與所述一個或多個應(yīng)用中的至少一個應(yīng)用相對應(yīng)的安裝特征碼。16.一種用于檢測應(yīng)用安裝狀態(tài)的系統(tǒng),包括: 一個或多個根據(jù)權(quán)利要求9所述的移動終端;以及 至少一個根據(jù)權(quán)利要求15所述的服務(wù)器。
【文檔編號】G06F9/445GK105824656SQ201510010059
【公開日】2016年8月3日
【申請日】2015年1月9日
【發(fā)明人】王樹良
【申請人】北京網(wǎng)秦天下科技有限公司