一種基于外部存儲設(shè)備啟動apk的方法及機頂盒的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及電視領(lǐng)域,尤其設(shè)及一種基于外部存儲設(shè)備啟動APK的方法及機頂盒。
【背景技術(shù)】
[0002] Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè) 備,如智能手機和平板電腦,由谷歌公司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。尚未有統(tǒng)一中文名 稱,中國大陸地區(qū)較多人使用巧卓'。2005年8月由谷歌收購注資。2007年,谷歌WApache開 源許可證的授權(quán)方法,發(fā)布了 Android的源代碼。2011年,家庭電視逐漸進入智能化時代, Android因為開源而被作為操作系統(tǒng)廣泛使用在智能機頂盒中,拉開了機頂盒智能化、 Amlro id化的帷幕。
[000引但是目前市場上,Andro id機頂盒基本都要求禁止安裝第;方應(yīng)用APK (AndroidPackage,安卓安裝包)。所W在技術(shù)上采取了關(guān)閉Android系統(tǒng)自帶的ADB (An化Oid Debug Bridge,安卓調(diào)試橋)功能,并且禁止從U盤等外部存儲設(shè)備中安裝APK等 措施。運在很大程度上限制了 Amlroid機頂盒使用的靈活性,限制了市場人員對機頂盒的靈 活使用,并且給開發(fā)帶來很大的困擾。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的實施例提供一種基于外部存儲設(shè)備啟動APK的方法及機頂盒,用W提高 Amlroid機頂盒使用的靈活性,便于市場人員對機頂盒的靈活使用。
[0005] 為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
[0006] 本發(fā)明實施例提供了一種基于外部存儲設(shè)備啟動APK的方法,應(yīng)用于機頂盒,所述 機頂盒包括外部存儲設(shè)備檢測單元及包管理服務(wù)單元,所述方法包括:所述外部存儲設(shè)備 檢測單元檢測是否有外部存儲設(shè)備掛載至所述機頂盒;若外部存儲設(shè)備檢測單元檢測到有 外部存儲設(shè)備掛載至所述機頂盒,則廣播外部存儲設(shè)備掛載消息;所述包管理服務(wù)單元在 監(jiān)聽到外部存儲設(shè)備掛載消息時,對所述外部存儲設(shè)備進行掃描,確定所述外部存儲設(shè)備 是否安裝有APK;若所述包管理服務(wù)單元掃描出所述外部存儲設(shè)備中安裝有APK,則分析所 述外部存儲設(shè)備中的APK;所述包管理服務(wù)單元根據(jù)所述外部存儲設(shè)備中的APK的分析結(jié) 果,啟動所述外部存儲設(shè)備中的APK。
[0007] 可選地,所述包管理服務(wù)單元根據(jù)所述外部存儲設(shè)備中的APK的分析結(jié)果,啟動所 述外部存儲設(shè)備中的APK包括:所述包管理服務(wù)單元根據(jù)所述外部存儲設(shè)備中的APK的分析 結(jié)果,利用意圖Intent消息啟動所述外部存儲設(shè)備中的APK。
[000引可選地,在所述包管理服務(wù)單元在監(jiān)聽到外部存儲設(shè)備掛載消息時,對所述外部 存儲設(shè)備進行掃描之前,還包括:在所述包管理服務(wù)單元中注冊廣播接收監(jiān)聽器。
[0009]可選地,所述在所述包管理服務(wù)單元中注冊廣播接收監(jiān)聽器包括:通過在 PackageManagerService 類中的 PackageManagerService 構(gòu)造函數(shù)中添加 BroadcastReceiver類實例,注冊廣播接收監(jiān)聽器。
[0010]可選地,所述外部存儲設(shè)備掛載消息為日11化〇1(1.;[]11日]11:.日(31:;[0]1.]\16014_]\10面1'抓 事件消息。
[0011] 進一步的,本發(fā)明實施例提供了一種機頂盒,包括:外部存儲設(shè)備檢測單元,用于 檢測是否有外部存儲設(shè)備掛載至所述機頂盒;在檢測到有外部存儲設(shè)備掛載至所述機頂盒 時,廣播外部存儲設(shè)備掛載消息;包管理服務(wù)單元,用于在監(jiān)聽到外部存儲設(shè)備掛載消息 時,對所述外部存儲設(shè)備進行掃描,確定所述外部存儲設(shè)備是否安裝有APK;在掃描出所述 外部存儲設(shè)備中安裝有APK時,分析所述外部存儲設(shè)備中的APK;并根據(jù)所述外部存儲設(shè)備 中的APK的分析結(jié)果,啟動所述外部存儲設(shè)備中的APK。
[0012] 可選地,所述包管理服務(wù)單元,具體用于根據(jù)所述外部存儲設(shè)備中的APK的分析結(jié) 果,利用意圖Intent消息啟動所述外部存儲設(shè)備中的APK。
[0013] 可選地,還包括:注冊單元,用于在所述包管理服務(wù)單元中注冊廣播接收監(jiān)聽器。 [0014] 可選地,所述注冊單元,具體用于通過在PackageManagerServi Ce類中的 PackageManagerServiCe構(gòu)造函數(shù)中添加化OadcastReceiver類實例,注冊廣播接收監(jiān)聽 器。
[001引可選地,所述外部存儲設(shè)備掛載消息為an化oid. intent. action .MEDIA_M0UNT抓 事件消息。
[0016] 本發(fā)明實施例提供了一種基于外部存儲設(shè)備啟動APK的方法及機頂盒,基于外部 存儲設(shè)備啟動APK的方法應(yīng)用于機頂盒,機頂盒包括外部存儲設(shè)備檢測單元及包管理服務(wù) 單元,所述方法包括:外部存儲設(shè)備檢測單元檢測是否有外部存儲設(shè)備掛載至所述機頂盒; 若外部存儲設(shè)備檢測單元檢測到有外部存儲設(shè)備掛載至機頂盒,則廣播外部存儲設(shè)備掛載 消息;包管理服務(wù)單元在監(jiān)聽到外部存儲設(shè)備掛載消息時,對外部存儲設(shè)備進行掃描,確定 外部存儲設(shè)備是否安裝有APK;若包管理服務(wù)單元掃描出外部存儲設(shè)備中有APK,則分析外 部存儲設(shè)備中的APK;包管理服務(wù)單元根據(jù)外部存儲設(shè)備中的APK的分析結(jié)果,啟動外部存 儲設(shè)備中的APK。運樣,機頂盒可W在外部存儲設(shè)備掛載至機頂盒時及時檢測出,并可通過 包管理服務(wù)單元掃描出外部存儲設(shè)備中的APK,對此APK進行分析,并啟動APK。運樣一來,可 W將需APK安裝在外部存儲設(shè)備中,并且通過將外部存儲設(shè)備掛載至機頂盒中,由機頂盒啟 動外部存儲設(shè)備安裝的APK實現(xiàn)相應(yīng)的功能,從而可W機頂盒的實用性,并且,巧妙的避開 了禁止在機頂盒中安裝第S方應(yīng)用APK的限制,方便了市場人員對機頂盒的靈活使用,提高 了Amlroid機頂盒使用的靈活性。
【附圖說明】
[0017] 為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中 所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實 施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可W根據(jù)運些附圖 獲得其他的附圖。
[0018] 圖1為本發(fā)明實施例提供的一種基于外部存儲設(shè)備啟動APK的方法的流程示意圖;
[0019] 圖2為本發(fā)明實施例提供的另一種基于外部存儲設(shè)備啟動APK的方法的流程示意 圖;
[0020] 圖3為本發(fā)明實施例提供的一種機頂盒的結(jié)構(gòu)示意圖;
[0021 ]圖4為本發(fā)明實施例提供的另一種機頂盒的結(jié)構(gòu)示意圖。
【具體實施方式】
[0022] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0023] 需要說明的是,由于現(xiàn)有的機頂盒要求禁止第S方應(yīng)用APK的安裝,因此,無法在 機頂盒中安裝第S方應(yīng)用APK。在本發(fā)明實施例中,為了提高機頂盒的靈活性,可W將第S 方應(yīng)用APK安裝在外部存儲設(shè)備中。而機頂盒可W在系統(tǒng)初始化過程中,可W調(diào)用包管理服 務(wù)單元掃描分析系統(tǒng)自帶的APK,即掃描分析/syStem/app目錄下的APK。運是An化Oid系統(tǒng) 的機頂盒現(xiàn)有的APK的管理服務(wù)。本發(fā)明可W利用此服務(wù)完成待啟動APK的掃描與分析。
[0024] 基于此,本發(fā)明實施例提供了一種基于外部存儲設(shè)備啟動APK的方法,應(yīng)用于機頂 盒,機頂盒包括外部存儲設(shè)備檢測單元及包管理服務(wù)單元。如圖1所示,所述方法包括:
[0025] 步驟101、外部存儲設(shè)備檢測單元檢測是否有外部存儲設(shè)備掛載至機頂盒。
[0026] 需要說明的是,外部存儲設(shè)備是指能夠掛載到機頂盒的存儲設(shè)備,可W是U盤,也 可是SD卡等其他能夠存儲數(shù)據(jù)且能夠掛載到機頂盒的存儲設(shè)備。
[0027] 具體的,機頂盒中的外部存儲設(shè)備檢測單元可W實時的監(jiān)聽是否有外部存儲設(shè)備 掛載到機頂盒中,檢測出是否有外部存儲設(shè)備掛載至機頂盒。
[0028] 需要說明的是,機頂盒中的外部存儲設(shè)備檢測單元如何實時的監(jiān)聽是否有外部存 儲設(shè)備掛載到機頂盒為現(xiàn)有技術(shù),在此不再寶述。
[0029] 示例性的,若用戶在U盤中安裝了第S方應(yīng)用APK,并希望通過機頂盒實現(xiàn)第S方 應(yīng)用APK的啟動。此時,用戶可W將U盤插入至機頂盒中,而機頂盒中的外部存儲設(shè)備檢測單 元在用戶將U盤插入至機頂盒時,可W檢測出有外部存儲設(shè)備掛載至機頂盒。即為,可W檢 測出有U盤掛載至機頂盒。
[0030] 步驟102、若外部存儲設(shè)備檢測單元檢測到有外部存儲設(shè)備掛載至機頂盒,