在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)方法及系統(tǒng)。
【背景技術(shù)】
[0002]在Android系統(tǒng)中,recovery (修復(fù))模式會(huì)裝載recovery分區(qū),其包含了 Linux的標(biāo)準(zhǔn)內(nèi)核,相對(duì)于用戶而言是用來(lái)升級(jí)、刷機(jī)或恢復(fù)出廠設(shè)置的引導(dǎo)程序,由于recovery是一個(gè)最小系統(tǒng),沒有Android在內(nèi)核層之上的框架層和核心庫(kù)層以及應(yīng)用層,所以Android上的應(yīng)用無(wú)法在recovery模式下運(yùn)行。
[0003]由于藍(lán)牙技術(shù)的推廣使用,目前很多的Android智能終端都支持使用藍(lán)牙設(shè)備,比如Android機(jī)頂盒的藍(lán)牙遙控器、Android游戲機(jī)的藍(lán)牙手柄等,而且部分Android智能終端默認(rèn)支持的輸入設(shè)備只有藍(lán)牙設(shè)備。但如果系統(tǒng)崩潰,此時(shí)就需要進(jìn)入recovery模式下恢復(fù)系統(tǒng)或者升級(jí)系統(tǒng),但在這種模式下是不支持藍(lán)牙的,所以用戶只能通過智能終端上的面板按鍵來(lái)進(jìn)行操作,這樣給用戶的使用帶來(lái)很大不便,尤其是恢復(fù)系統(tǒng)或者升級(jí)是需要一定時(shí)間的,這導(dǎo)致用戶需要長(zhǎng)時(shí)間的等待才能進(jìn)行操作。
[0004]因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
【發(fā)明內(nèi)容】
[0005]鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)方法及系統(tǒng),旨在解決現(xiàn)有的智能終端在修復(fù)模式下不支持藍(lán)牙功能及無(wú)法自動(dòng)連接上藍(lán)牙設(shè)備的問題。
[0006]本發(fā)明的技術(shù)方案如下:
一種在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)方法,其包括步驟:
A:將藍(lán)牙協(xié)議棧的依賴庫(kù)和藍(lán)牙配置文件移至recovery的分區(qū)中,并在可配置的初始化文件中軟鏈接上述依賴庫(kù)和配置文件的路徑;
B:開啟在初始化文件中所添加的可執(zhí)行程序,通過所述可執(zhí)行程序開啟藍(lán)牙功能;
C:通過藍(lán)牙配置文件自動(dòng)連接藍(lán)牙設(shè)備。
[0007]所述的在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)方法,其中,所述步驟A包括:
將藍(lán)牙協(xié)議棧的依賴庫(kù)移動(dòng)至recovery的分區(qū),并在init.rc中軟鏈接庫(kù)路徑; 將藍(lán)牙配置文件移至recovery的分區(qū)中,并在init.rc中軟鏈接文件路徑。
[0008]所述的在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)方法,其中,所述步驟B包括:
B1:預(yù)先在初始化文件中添加可執(zhí)行程序;
B2:當(dāng)進(jìn)入到recovery模式后,自動(dòng)運(yùn)行所述可執(zhí)行程序;
B3:所述可執(zhí)行程序自動(dòng)調(diào)用藍(lán)牙開關(guān)接口開啟藍(lán)牙功能。
[0009]所述的在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)方法,其中,所述步驟C包括:
Cl:通過藍(lán)牙配置文件查看是否已和藍(lán)牙設(shè)備連接過,當(dāng)已和藍(lán)牙設(shè)備連接過時(shí)進(jìn)入步驟C2,否則進(jìn)入步驟C3 ;
C2:直接連接所述藍(lán)牙設(shè)備;
C3:開始掃描藍(lán)牙設(shè)備,當(dāng)掃描到所述藍(lán)牙設(shè)備時(shí),自動(dòng)連接所述藍(lán)牙設(shè)備。
[0010]所述的在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)方法,其中,所述步驟C之后還包括:通過藍(lán)牙驅(qū)動(dòng)解析藍(lán)牙設(shè)備接收的按鍵的鍵值,并響應(yīng)。
[0011]—種在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)系統(tǒng),其包括:
配置模塊,用于將藍(lán)牙協(xié)議棧的依賴庫(kù)和藍(lán)牙配置文件移至recovery的分區(qū)中,并在可配置的初始化文件中軟鏈接上述依賴庫(kù)和配置文件的路徑;
啟動(dòng)模塊,用于開啟在初始化文件中所添加的可執(zhí)行程序,通過所述可執(zhí)行程序開啟藍(lán)牙功能;
連接模塊,用于通過藍(lán)牙配置文件自動(dòng)連接藍(lán)牙設(shè)備。
[0012]所述的在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)系統(tǒng),其中,所述配置模塊包括: 第一配置單元,用于將藍(lán)牙協(xié)議棧的依賴庫(kù)移動(dòng)至recovery的分區(qū),并在init.rc中軟鏈接庫(kù)路徑;
第二配置單元,用于將藍(lán)牙配置文件移至recovery的分區(qū)中,并在init.rc中軟鏈接文件路徑。
[0013]所述的在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)系統(tǒng),其中,所述啟動(dòng)模塊包括: 添加單元,用于預(yù)先在初始化文件中添加可執(zhí)行程序;
運(yùn)行單元,用于當(dāng)進(jìn)入到recovery模式后,自動(dòng)運(yùn)行所述可執(zhí)行程序;
開啟單元,用于所述可執(zhí)行程序自動(dòng)調(diào)用藍(lán)牙開關(guān)接口開啟藍(lán)牙功能。
[0014]所述的在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)系統(tǒng),其中,所述連接模塊包括: 判斷單元,用于通過藍(lán)牙配置文件查看是否已和藍(lán)牙設(shè)備連接過;
掃描單元,用于當(dāng)未和藍(lán)牙設(shè)備連接過時(shí),掃描藍(lán)牙設(shè)備;
連接單元,用于連接所述藍(lán)牙設(shè)備。
[0015]所述的在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)系統(tǒng),其還包括:
解析響應(yīng)模塊,用于通過藍(lán)牙驅(qū)動(dòng)解析藍(lán)牙設(shè)備接收的按鍵的鍵值,并響應(yīng)。
[0016]本發(fā)明實(shí)現(xiàn)了在recovery模式下支持藍(lán)牙功能,同時(shí)省掉了一系列手動(dòng)連接藍(lán)牙設(shè)備的操作,使智能設(shè)備進(jìn)入recovery模式后可自動(dòng)連接上藍(lán)牙遙控器或者藍(lán)牙手柄、藍(lán)牙鍵盤等藍(lán)牙設(shè)備,方便用戶進(jìn)行目標(biāo)操作。本發(fā)明尤其適用于對(duì)于只有藍(lán)牙手柄或藍(lán)牙遙控器等藍(lán)牙設(shè)備作為輸入設(shè)備的智能終端。
【附圖說明】
[0017]圖1為本發(fā)明一種在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)方法較佳實(shí)施例的流程圖。
[0018]圖2為圖1所示方法中步驟S102的具體流程圖。
[0019]圖3為圖1所示方法中步驟S103的具體流程圖。
[0020]圖4為本發(fā)明一種在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)系統(tǒng)較佳實(shí)施例的結(jié)構(gòu)框圖。
[0021]圖5為圖4所示系統(tǒng)中啟動(dòng)模塊的具體結(jié)構(gòu)框圖。
[0022]圖6為圖4所示系統(tǒng)中連接模塊的具體結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0023]本發(fā)明提供在Android修復(fù)模式下藍(lán)牙功能的實(shí)現(xiàn)方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0024]Android設(shè)備開機(jī)后,會(huì)先運(yùn)行bootloader (啟動(dòng)加載器)。Bootloader會(huì)根據(jù)某些判定條件(比如是否按下某個(gè)特殊鍵)來(lái)決定是否進(jìn)入recovery模式。在recovery模式下,會(huì)裝載recovery分區(qū),該分區(qū)包含recovery, img, recovery, img其包含了標(biāo)準(zhǔn)內(nèi)核(和boot, img中的內(nèi)核相同)以及recovery根文件系統(tǒng)。即recovery就是一個(gè)引導(dǎo)程序,用戶可利用它恢復(fù)出廠設(shè)置,清空智能設(shè)備的數(shù)據(jù),可以備份還原系統(tǒng),還可以利用它刷機(jī),刷基帶,刷spl,相當(dāng)于電腦的ghost程序。本發(fā)明實(shí)施例為了在recovery模式下支持藍(lán)牙功能,如圖1所示,采用如下步驟:
SlOl:將藍(lán)牙協(xié)議棧的依賴庫(kù)和藍(lán)牙配置文件移至recovery的分區(qū)中,并在可配置的初始化文件中軟鏈接上述依賴庫(kù)和配置文件的路徑;
本步驟是將藍(lán)牙協(xié)議棧的依賴庫(kù)和藍(lán)牙配置文件移至recovery的一個(gè)分區(qū)中,然后軟鏈接路徑。
[0025]藍(lán)牙協(xié)議棧(Bluedroid),其提供藍(lán)牙的所有實(shí)際操作,例如開關(guān)藍(lán)牙,HCI, ACL,SCO,L2CAP,RFComm,藍(lán)牙的所有 Profile 等。
[0026]藍(lán)牙的整個(gè)系統(tǒng)架構(gòu)較簡(jiǎn)單,最終的操作都是在底層實(shí)現(xiàn),上層只是起到控制作用,所以本發(fā)明實(shí)施例將藍(lán)牙協(xié)議棧的依賴庫(kù)和藍(lán)牙配置文件移至recovery的分區(qū)中,然后軟鏈接路徑,從而實(shí)現(xiàn)在recovery模式下支持藍(lán)牙功能。
[0027]具體來(lái)說,所述步驟SlOl具體包括:
將藍(lán)牙協(xié)議棧的依賴庫(kù)移動(dòng)至recovery的分區(qū),并在init.rc (可配置的初始化文件)中軟鏈接庫(kù)路徑;
將藍(lán)牙配置文件移至recovery的分區(qū)中,并在init.rc中軟鏈接文件路徑。
[0028]將藍(lán)牙配置文件以及依賴庫(kù)移至recovery的分區(qū)后,從而實(shí)現(xiàn)藍(lán)牙相關(guān)的操作。
[0029]同時(shí)在可配置的初始化文件init.rc中軟鏈接這些庫(kù)路徑和文件路徑。
[0030]S102:開啟在初始化文件中所添加的可執(zhí)行程序,通過所述可執(zhí)行程序調(diào)用藍(lán)牙開關(guān)接口開啟藍(lán)牙功能;
在本步驟中,通過預(yù)先添加好的可執(zhí)行程序來(lái)開啟藍(lán)牙功能,具體來(lái)說,如圖2所示,所述步驟S102可細(xì)化為如下步驟:
S201:預(yù)先在初始化文件中添加可執(zhí)行程序;
在原有recovery模式下不支持