欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法和智能設(shè)備的制造方法

文檔序號:10612383閱讀:274來源:國知局
基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法和智能設(shè)備的制造方法
【專利摘要】本發(fā)明提供了一種基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法和智能設(shè)備。所述方法包括以下步驟:獲取啟動(dòng)恢復(fù)出廠設(shè)置指令,設(shè)定清除數(shù)據(jù)屬性值;判定清除數(shù)據(jù)屬性值是否等于預(yù)定值;若等于預(yù)定值,保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。本發(fā)明縮短了恢復(fù)出廠設(shè)置后首次開機(jī)的開機(jī)時(shí)間,提升了用戶體驗(yàn)。
【專利說明】
基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法和智能設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及電子技術(shù)領(lǐng)域,具體而言,本發(fā)明涉及一種基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法和智能設(shè)備。
【背景技術(shù)】
[0002]恢復(fù)出廠設(shè)置是系統(tǒng)還原到初始狀態(tài)的重要方法。在智能設(shè)備(例如智能電視和智能手機(jī)等)的生產(chǎn)過程中以及用戶在使用智能設(shè)備的過程中,都會使用到恢復(fù)出廠設(shè)置這個(gè)功能。例如產(chǎn)品下線前要恢復(fù)出廠設(shè)置,或者用戶根據(jù)自身需要,會通過恢復(fù)出廠設(shè)置來凈化還原系統(tǒng)。
[0003]現(xiàn)有技術(shù)中,Android系統(tǒng)的恢復(fù)出廠設(shè)置采用Android的wipe_data模式,在Recovery中清除數(shù)據(jù)。這種清除數(shù)據(jù)的方式,會卸載用戶安裝的應(yīng)用、清除應(yīng)用數(shù)據(jù)以及清除應(yīng)用優(yōu)化數(shù)據(jù)。
[0004]Android系統(tǒng)在啟動(dòng)時(shí),會判定應(yīng)用是否已優(yōu)化,如果已優(yōu)化,即裝載啟動(dòng)應(yīng)用,完成啟動(dòng)。而恢復(fù)出廠設(shè)置后,應(yīng)用優(yōu)化數(shù)據(jù)已被清除。首次開機(jī)時(shí),系統(tǒng)找不到應(yīng)用優(yōu)化數(shù)據(jù),則確定應(yīng)用未優(yōu)化,就會對應(yīng)用重新做優(yōu)化。應(yīng)用的優(yōu)化會耗費(fèi)較長的時(shí)間,從而造成開機(jī)時(shí)間大幅延長。

【發(fā)明內(nèi)容】

[0005]本發(fā)明針對現(xiàn)有技術(shù)的缺點(diǎn),提出一種基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法和智能設(shè)備,用以解決現(xiàn)有Android系統(tǒng)恢復(fù)出廠設(shè)置后首次開機(jī)時(shí)間長的問題。
[0006]根據(jù)本發(fā)明實(shí)施例的第一方面,本發(fā)明實(shí)施例了提供了一種基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法,包括以下步驟:獲取啟動(dòng)恢復(fù)出廠設(shè)置指令,設(shè)定清除數(shù)據(jù)屬性值;判定清除數(shù)據(jù)屬性值是否等于預(yù)定值;若等于預(yù)定值,保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。
[0007]優(yōu)選的,還包括以下步驟:若不等于預(yù)定值,清除所有應(yīng)用數(shù)據(jù)。
[0008]優(yōu)選的,所述設(shè)定清除數(shù)據(jù)屬性值的步驟,具體為:設(shè)定清除數(shù)據(jù)屬性值等于預(yù)定值。
[0009]優(yōu)選的,所述應(yīng)用優(yōu)化數(shù)據(jù)存儲在保護(hù)目錄內(nèi);對應(yīng)的,所述保留應(yīng)用優(yōu)化數(shù)據(jù)的步驟,具體為:保留保護(hù)目錄內(nèi)的應(yīng)用優(yōu)化數(shù)據(jù)。
[0010]優(yōu)選的,所述清除應(yīng)用優(yōu)化數(shù)據(jù)外的應(yīng)用數(shù)據(jù)的步驟,具體為:清除數(shù)據(jù)分區(qū)和緩存分區(qū)內(nèi)除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。
[0011]根據(jù)本發(fā)明實(shí)施例的第二方面,本發(fā)明實(shí)施例了提供了一種智能設(shè)備,包括:獲取模塊,用于獲取啟動(dòng)恢復(fù)出廠設(shè)置指令,設(shè)定清除數(shù)據(jù)屬性值;判定模塊,用于判定清除數(shù)據(jù)屬性值是否等于預(yù)定值;清除模塊,用于在清除數(shù)據(jù)屬性值等于預(yù)定值時(shí),保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。
[0012]優(yōu)選的,還包括清理模塊,用于在清除數(shù)據(jù)屬性值不等于預(yù)定值時(shí),清除所有應(yīng)用數(shù)據(jù)。
[0013]優(yōu)選的,所述獲取模塊用于設(shè)定清除數(shù)據(jù)屬性值等于預(yù)定值。
[0014]優(yōu)選的,所述應(yīng)用優(yōu)化數(shù)據(jù)存儲在保護(hù)目錄內(nèi);對應(yīng)的,所述清除模塊用于保留保護(hù)目錄內(nèi)的應(yīng)用優(yōu)化數(shù)據(jù)。
[0015]優(yōu)選的,所述清除模塊用于清除數(shù)據(jù)分區(qū)和緩存分區(qū)內(nèi)除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。
[0016]相對于現(xiàn)有技術(shù),本發(fā)明獲取啟動(dòng)恢復(fù)出廠設(shè)置指令,設(shè)定清除數(shù)據(jù)屬性值;判定清除數(shù)據(jù)屬性值是否等于預(yù)定值;若等于預(yù)定值,保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。因此,本發(fā)明在恢復(fù)出廠設(shè)置時(shí),保留了應(yīng)用優(yōu)化數(shù)據(jù),智能設(shè)備在恢復(fù)出廠設(shè)置后的首次啟動(dòng)時(shí),直接讀取應(yīng)用優(yōu)化數(shù)據(jù),無需對應(yīng)用重新做優(yōu)化,從而縮短了恢復(fù)出廠設(shè)置后首次開機(jī)的開機(jī)時(shí)間,提升了用戶體驗(yàn)。
[0017]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
【附圖說明】
[0018]本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
[0019]圖1為本發(fā)明一種實(shí)施例的基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法的流程圖。
[0020]圖2為本發(fā)明另一種實(shí)施例的基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法的流程圖。
[0021]圖3為本發(fā)明一種實(shí)施例的智能設(shè)備的結(jié)構(gòu)示意圖。
[0022]圖4為本發(fā)明另一種實(shí)施例的智能設(shè)備的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
[0024]本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“親接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。
[0025]本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。
[0026]本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”既包括無線信號接收器的設(shè)備,其僅具備無發(fā)射能力的無線信號接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,進(jìn)行雙向通信的接收和發(fā)射硬件的設(shè)備。這種設(shè)備可以包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒有多線路顯示器的蜂窩或其他通信設(shè)備;PCS(Personal Communicat1ns Service,個(gè)人通信系統(tǒng)),其可以組合語音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA(Personal Digital Assistant,個(gè)人數(shù)字助理),其可以包括射頻接收器、尋呼機(jī)、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS(Global Posit1ning System,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備。這里所使用的“終端”、“終端設(shè)備”可以是便攜式、可運(yùn)輸、安裝在交通工具(航空、海運(yùn)和/或陸地)中的,或者適合于和/或配置為在本地運(yùn)行,和/或以分布形式,運(yùn)行在地球和/或空間的任何其他位置運(yùn)行。這里所使用的“終端”、“終端設(shè)備”還可以是通信終端、上網(wǎng)終端、音樂/視頻播放終端,例如可以是PDA、MID(Mobile Internet Device,移動(dòng)互聯(lián)網(wǎng)設(shè)備)和/或具有音樂/視頻播放功能的移動(dòng)電話,也可以是智能電視、機(jī)頂盒等設(shè)備。
[0027]本發(fā)明實(shí)施例提供一種基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法,該方法應(yīng)用于基于Android系統(tǒng)的智能設(shè)備上,智能設(shè)備包括但不限于智能手機(jī)、智能電視、平板電腦和個(gè)人計(jì)算機(jī)。如圖1所示,其包括以下步驟:
[0028]SlOl:獲取啟動(dòng)恢復(fù)出廠設(shè)置指令,設(shè)定清除數(shù)據(jù)屬性值。
[0029]基于Android系統(tǒng)的智能設(shè)備中,Android系統(tǒng)均會提供系統(tǒng)設(shè)置菜單,該系統(tǒng)設(shè)置菜單內(nèi)設(shè)有恢復(fù)出廠設(shè)置選項(xiàng)。如果恢復(fù)出廠設(shè)置選項(xiàng)被選中,表征用戶需要對智能設(shè)備進(jìn)行恢復(fù)出廠設(shè)備,智能設(shè)備即獲取到啟動(dòng)恢復(fù)出廠設(shè)置指令。
[0030]在恢復(fù)出廠設(shè)置選項(xiàng)被選中時(shí),Android系統(tǒng)也會讓用戶選擇是否清除外接存儲器內(nèi)的數(shù)據(jù)。以手機(jī)為例,Android系統(tǒng)會讓用戶選擇是否清除SD卡內(nèi)數(shù)據(jù),如果用戶選擇了清除SD卡內(nèi)數(shù)據(jù),后續(xù)清除數(shù)據(jù)的步驟中也會將SD卡內(nèi)數(shù)據(jù)清除。
[0031]在獲取到啟動(dòng)恢復(fù)出廠設(shè)置指令后,Android系統(tǒng)會發(fā)送廣播,對應(yīng)的,MasterClearReceiver會接收到此廣播,其接收到該廣播后,即在onReceive()中調(diào)用相應(yīng)函數(shù),進(jìn)而再次發(fā)出intent廣播,通知所有接收端執(zhí)行相關(guān)指令,確定是否滿足進(jìn)入recovery模式的條件。
[0032]具體而言,必須滿足以下三個(gè)條件:1.二進(jìn)制大對象(blob)必須可從recovery分區(qū)中裝載內(nèi)核和文件系統(tǒng);2.flash必須有緩存分區(qū)(cache分取)和recovery分區(qū);3.必須編譯recovery.1mg并寫入到recovery分區(qū)。
[0033]在確定滿足進(jìn)入re c ο V e ry模式的條件后,An dr ο i d系統(tǒng)在清除數(shù)據(jù)屬性persist.sys.wipe_data中寫入屬性值,該屬性值對應(yīng)清除數(shù)據(jù)的方式。之后執(zhí)行步驟S102o
[0034]S102:判定清除數(shù)據(jù)屬性值是否等于預(yù)定值。
[0035]設(shè)定清除數(shù)據(jù)屬性值之后,Android系統(tǒng)會重啟并進(jìn)入recovery模式。此時(shí),判定清除數(shù)據(jù)屬性值是否等于預(yù)定值。由于屬性值均是字符串格式,通過逐位對比單個(gè)字符,即可確定清除數(shù)據(jù)屬性值是否等于預(yù)定值。例如判定清除數(shù)據(jù)屬性值是否滿足persist.sys.wipe_data = dnc0
[0036]需要說明的是,可通過以下幾種方式進(jìn)入recovery模式。一種實(shí)現(xiàn)方式中,通過讀取緩存分區(qū)中co_and文件的指令進(jìn)入。另一種實(shí)現(xiàn)方式中,內(nèi)核階段(kernel)直接寫一個(gè)寄存器來標(biāo)記下次啟動(dòng)將進(jìn)入recovery模式。還有一種實(shí)現(xiàn)方式中,基于用戶的操作進(jìn)入recovery模式。例如,用戶同時(shí)按HOME鍵和Power鍵,則可進(jìn)入recovery模式。
[0037]如果判定到清除數(shù)據(jù)屬性值等于預(yù)定值,則執(zhí)行步驟S103。
[0038]S103:若等于預(yù)定值,保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。
[0039]如果判定到清除數(shù)據(jù)屬性值等于預(yù)定值,讀取/cache/recovery目錄下的command文件,獲取該command文件中與清除數(shù)據(jù)屬性值相對應(yīng)的命令字段,依據(jù)該命名字段確定清除數(shù)據(jù)的方式。
[0040]現(xiàn)有技術(shù)中,command文件中的內(nèi)容為“_wipe_data”,Android系統(tǒng)執(zhí)行erase_root(^DATA: 〃)和rase_root(〃CACHE: 〃)兩項(xiàng)操作,就清除了數(shù)據(jù)分區(qū)(date分區(qū))和cache分區(qū)中的應(yīng)用數(shù)據(jù),包括應(yīng)用優(yōu)化數(shù)據(jù)。
[0041]本實(shí)施例中,command文件設(shè)定保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。其中,應(yīng)用數(shù)據(jù)包括應(yīng)用程序本身數(shù)據(jù)、應(yīng)用程序配置數(shù)據(jù)和應(yīng)用優(yōu)化數(shù)據(jù),對于注冊了用戶賬號的應(yīng)用程序,還包括應(yīng)用程序的用戶數(shù)據(jù)。
[0042]在一種實(shí)現(xiàn)方式中,記錄已安裝的應(yīng)用程序,為應(yīng)用程序的優(yōu)化數(shù)據(jù)建立優(yōu)化數(shù)據(jù)列表。在清除應(yīng)用數(shù)據(jù)時(shí),判斷應(yīng)用數(shù)據(jù)是否位于優(yōu)化數(shù)據(jù)列表內(nèi),如果位于優(yōu)化數(shù)據(jù)列表內(nèi),則保留該應(yīng)用數(shù)據(jù)。如果不位于優(yōu)化數(shù)據(jù)列表內(nèi),則清除該應(yīng)用數(shù)據(jù)。
[0043]在另一種實(shí)現(xiàn)方式中,由于應(yīng)用優(yōu)化數(shù)據(jù)是從應(yīng)用程序安裝包apk中提取出來的odex文件。因此,在清除應(yīng)用數(shù)據(jù)時(shí),判斷應(yīng)用程序文件是否為odex文件,如果是odex文件,則保留該應(yīng)用程序文件。如果不是odex文件,則清除該應(yīng)用程序文件。具體而言,在判斷應(yīng)用程序文件是否為odex文件時(shí),可判斷應(yīng)用程序文件的文件名的后綴是否為“odex”,如果是,則確定應(yīng)用程序文件為odex文件。或者,可判斷應(yīng)用程序文件是否包含odex文件的特定字段,如果包含有odex文件的特定字段,則確定應(yīng)用程序文件為odex文件。
[0044]清除數(shù)據(jù)后,Android系統(tǒng)重啟,完成恢復(fù)出廠設(shè)置,之后進(jìn)入正常開機(jī)流程。
[0045]圖2為本發(fā)明另一種實(shí)施例的基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法。其包括以下步驟:
[0046]S201:獲取啟動(dòng)恢復(fù)出廠設(shè)置指令,設(shè)定清除數(shù)據(jù)屬性值;
[0047]S202:判定清除數(shù)據(jù)屬性值是否等于預(yù)定值;
[0048]S203:若等于預(yù)定值,保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù);
[0049]S204:若不等于預(yù)定值,清除所有應(yīng)用數(shù)據(jù)。
[0050]其中,步驟S201-S203在上述實(shí)施例已說明,本實(shí)施例將對步驟S204進(jìn)行闡述。
[°051 ]如果判定到清除數(shù)據(jù)屬性值不等于預(yù)定值,讀取command文件中“_wipe_data”指令,基于Android系統(tǒng)原有的清除數(shù)據(jù)流程,執(zhí)行erase_root ("DATA: 〃)和rase_root(〃CACHE:"),清除了數(shù)據(jù)分區(qū)(date分區(qū))和cache分區(qū)中的應(yīng)用數(shù)據(jù),包括應(yīng)用優(yōu)化數(shù)據(jù)。
[0052]因此,本實(shí)施例保留了Android系統(tǒng)原有的清除數(shù)據(jù)方式,通過清除數(shù)據(jù)屬性值選擇使用何種清除數(shù)據(jù)方式??梢员A魬?yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù),也可以清除所有的應(yīng)用數(shù)據(jù)。從而提供多種清除數(shù)據(jù)方式。
[0053]在上述實(shí)施例的基礎(chǔ)上,本實(shí)施例設(shè)定清除數(shù)據(jù)屬性值的步驟,具體為:設(shè)定清除數(shù)據(jù)屬性值等于預(yù)定值。則默認(rèn)清除數(shù)據(jù)屬性值等于預(yù)定值,因而在清除應(yīng)用數(shù)據(jù)時(shí),保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。
[0054]在另一種實(shí)施例中,Android系統(tǒng)提供恢復(fù)出廠設(shè)置的清除數(shù)據(jù)方式選項(xiàng)。用戶可選擇保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù),也可以清除所有的應(yīng)用數(shù)據(jù)。
[0055]當(dāng)用戶選擇保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)后,如果恢復(fù)出廠設(shè)置功能啟動(dòng),則將預(yù)定值寫入清除數(shù)據(jù)屬性值,根據(jù)該預(yù)定值保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。
[0056]當(dāng)用戶選擇清除所有的應(yīng)用數(shù)據(jù)后,如果恢復(fù)出廠設(shè)置功能啟動(dòng),則在清除數(shù)據(jù)屬性值中寫入其他值,進(jìn)而選擇Android系統(tǒng)原有的清除數(shù)據(jù)方式,將所有的應(yīng)用數(shù)據(jù)清除。
[0057]因此,本實(shí)施例提供了兩種恢復(fù)出廠設(shè)置的方式,具體而言,提供了兩種清除數(shù)據(jù)的方式,用戶的選擇更多樣,提升了用戶體驗(yàn)。
[0058]在一種實(shí)施例中,應(yīng)用優(yōu)化數(shù)據(jù)存儲在保護(hù)目錄內(nèi);對應(yīng)的,保留應(yīng)用優(yōu)化數(shù)據(jù)的步驟,具體為:保留保護(hù)目錄內(nèi)的應(yīng)用優(yōu)化數(shù)據(jù)。預(yù)先設(shè)定保護(hù)目錄,將應(yīng)用優(yōu)化數(shù)據(jù)存儲在保護(hù)目錄內(nèi)。在清除應(yīng)用數(shù)據(jù)時(shí),判斷應(yīng)用數(shù)據(jù)的存儲路徑是否位于保護(hù)目錄內(nèi),如果位于保護(hù)目錄內(nèi),則保留該應(yīng)用數(shù)據(jù),如果不位于保護(hù)目錄內(nèi),則清除該應(yīng)用數(shù)據(jù)。
[0059]通常,可設(shè)定/data/dalvik-cache、/data/media、/data/1 os t+found和/或/cache/lost+found為保護(hù)目錄。其中,/data/dalvik_cache目錄存儲的就是應(yīng)用優(yōu)化數(shù)據(jù)。
[0060]在一種實(shí)施例中,清除應(yīng)用優(yōu)化數(shù)據(jù)外的應(yīng)用數(shù)據(jù)的步驟,具體為:清除數(shù)據(jù)分區(qū)和緩存分區(qū)內(nèi)除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。由于應(yīng)用數(shù)據(jù)均存儲在數(shù)據(jù)分區(qū)和緩存分區(qū)中,如果清除數(shù)據(jù)屬性值等于預(yù)定值,僅清除數(shù)據(jù)分區(qū)和緩存分區(qū)內(nèi)除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。如果清除數(shù)據(jù)屬性值不等于預(yù)定值,將數(shù)據(jù)分區(qū)和緩存分區(qū)進(jìn)行格式化。
[0061]本發(fā)明實(shí)施例還提供了一種智能設(shè)備,該智能設(shè)備可以是智能手機(jī)、智能電視、平板電腦或個(gè)人計(jì)算機(jī),同時(shí),該智能設(shè)備是基于Android系統(tǒng)。如圖3所示,其包括獲取模塊301、判定模塊302和清除模塊303。獲取模塊301用于獲取啟動(dòng)恢復(fù)出廠設(shè)置指令,設(shè)定清除數(shù)據(jù)屬性值。判定模塊302用于判定清除數(shù)據(jù)屬性值是否等于預(yù)定值。清除模塊303用于在清除數(shù)據(jù)屬性值等于預(yù)定值時(shí),保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。
[0062]基于Android系統(tǒng)的智能設(shè)備中,Android系統(tǒng)均會提供系統(tǒng)設(shè)置菜單,該系統(tǒng)設(shè)置菜單內(nèi)設(shè)有恢復(fù)出廠設(shè)置選項(xiàng)。如果恢復(fù)出廠設(shè)置選項(xiàng)被選中,表征用戶需要對智能設(shè)備進(jìn)行恢復(fù)出廠設(shè)備,獲取模塊301即獲取到啟動(dòng)恢復(fù)出廠設(shè)置指令。
[0063]在恢復(fù)出廠設(shè)置選項(xiàng)被選中時(shí),Android系統(tǒng)也會讓用戶選擇是否清除外接存儲器內(nèi)的數(shù)據(jù)。以手機(jī)為例,Android系統(tǒng)會讓用戶選擇是否清除SD卡內(nèi)數(shù)據(jù),如果用戶選擇了清除SD卡內(nèi)數(shù)據(jù),后續(xù)清除數(shù)據(jù)的步驟中也會將SD卡內(nèi)數(shù)據(jù)清除。
[0064]獲取模塊301在獲取到啟動(dòng)恢復(fù)出廠設(shè)置指令后,發(fā)送廣播,對應(yīng)的,MasterClearReceiver會接收到此廣播,其接收到該廣播后,即在onReceive()中調(diào)用相應(yīng)函數(shù),進(jìn)而再次發(fā)出intent廣播,通知所有接收端執(zhí)行相關(guān)指令,確定是否滿足進(jìn)入recovery模式的條件。
[0065]具體而言,必須滿足以下三個(gè)條件:1.二進(jìn)制大對象(blob)必須可從recovery分區(qū)中裝載內(nèi)核和文件系統(tǒng);2.flash必須有緩存分區(qū)(cache分取)和recovery分區(qū);3.必須編譯recovery.1mg并寫入到recovery分區(qū)。
[0066]在確定滿足進(jìn)入recovery模式的條件后,獲取模塊301用于在清除數(shù)據(jù)屬性persist, sys.wipe_data中寫入屬性值,該屬性值對應(yīng)清除數(shù)據(jù)的方式。
[0067]獲取模塊301設(shè)定清除數(shù)據(jù)屬性值之后,Android系統(tǒng)會重啟并進(jìn)入recovery模式。此時(shí),判定模塊302用于判定清除數(shù)據(jù)屬性值是否等于預(yù)定值。由于屬性值均是字符串格式,通過逐位對比單個(gè)字符,即可確定清除數(shù)據(jù)屬性值是否等于預(yù)定值。例如判定清除數(shù)據(jù)屬性值是否滿足 persist.sys.wipe_data = dnc。
[0068]需要說明的是,可通過以下幾種方式進(jìn)入recovery模式。一種實(shí)現(xiàn)方式中,通過讀取緩存分區(qū)中co_and文件的指令進(jìn)入。另一種實(shí)現(xiàn)方式中,內(nèi)核階段(kernel)直接寫一個(gè)寄存器來標(biāo)記下次啟動(dòng)將進(jìn)入recovery模式。還有一種實(shí)現(xiàn)方式中,基于用戶的操作進(jìn)入recovery模式。例如,用戶同時(shí)按HOME鍵和Power鍵,則可進(jìn)入recovery模式。
[0069]如果判定模塊302判定到清除數(shù)據(jù)屬性值等于預(yù)定值,清除模塊303用于讀取/cache/recovery目錄下的command文件,獲取該command文件中與清除數(shù)據(jù)屬性值相對應(yīng)的命令字段,依據(jù)該命名字段確定清除數(shù)據(jù)的方式。
[0070]本實(shí)施例中,co_and文件被設(shè)定保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。其中,應(yīng)用數(shù)據(jù)包括應(yīng)用程序本身數(shù)據(jù)、應(yīng)用程序配置數(shù)據(jù)和應(yīng)用優(yōu)化數(shù)據(jù),對于注冊了用戶賬號的應(yīng)用程序,還包括應(yīng)用程序的用戶數(shù)據(jù)。
[0071]在一種實(shí)現(xiàn)方式中,智能設(shè)備記錄自身已安裝的應(yīng)用程序,為應(yīng)用程序的優(yōu)化數(shù)據(jù)建立優(yōu)化數(shù)據(jù)列表。在清除應(yīng)用數(shù)據(jù)時(shí),清除模塊303用于判斷應(yīng)用數(shù)據(jù)是否位于優(yōu)化數(shù)據(jù)列表內(nèi),如果位于優(yōu)化數(shù)據(jù)列表內(nèi),則保留該應(yīng)用數(shù)據(jù)。如果不位于優(yōu)化數(shù)據(jù)列表內(nèi),則清除該應(yīng)用數(shù)據(jù)。
[0072]在另一種實(shí)現(xiàn)方式中,由于應(yīng)用優(yōu)化數(shù)據(jù)是從應(yīng)用程序安裝包apk中提取出來的odex文件。因此,在清除應(yīng)用數(shù)據(jù)時(shí),清除模塊303用于判斷應(yīng)用程序文件是否為odex文件,如果是odex文件,則保留該應(yīng)用程序文件。如果不是odex文件,則清除該應(yīng)用程序文件。具體而言,清除模塊303用于在判斷應(yīng)用程序文件是否為odex文件時(shí),判斷應(yīng)用程序文件的文件名的后綴是否為“odex”,如果是,則確定應(yīng)用程序文件為odex文件?;蛘撸宄K303用于判斷應(yīng)用程序文件是否包含odex文件的特定字段,如果包含有odex文件的特定字段,則確定應(yīng)用程序文件為odex文件。
[0073]在清除模塊303清除數(shù)據(jù)后,Android系統(tǒng)重啟,完成恢復(fù)出廠設(shè)置,之后進(jìn)入正常開機(jī)流程。
[0074]圖4為本發(fā)明另一種實(shí)施例的智能設(shè)備的結(jié)構(gòu)示意圖。如圖4所示,其包括取模塊301、判定模塊302、清除模塊303和清理模塊304。
[0075]其中,取模塊301、判定模塊302和清除模塊303在上述實(shí)施例中已說明,本實(shí)施例將對清理模塊304進(jìn)行闡述。
[0076]清理模塊304用于在清除數(shù)據(jù)屬性值不等于預(yù)定值時(shí),清除所有應(yīng)用數(shù)據(jù)。如果判定模塊303判定到清除數(shù)據(jù)屬性值不等于預(yù)定值,清理模塊304用于讀取command文件中wipe_data”指令,基于4]1(!!'01(1系統(tǒng)原有的清除數(shù)據(jù)流程,執(zhí)行6作86_1'001:(〃0414: 〃)和rase_root("CACHE: 〃),清除了數(shù)據(jù)分區(qū)(date分區(qū))和cache分區(qū)中的應(yīng)用數(shù)據(jù),包括應(yīng)用優(yōu)化數(shù)據(jù)。
[0077]本實(shí)施例保留了Android系統(tǒng)原有的清除數(shù)據(jù)方式,通過清除數(shù)據(jù)屬性值選擇使用何種清除數(shù)據(jù)方式??梢员A魬?yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù),也可以清除所有的應(yīng)用數(shù)據(jù)。從而提供多種清除數(shù)據(jù)方式。
[0078]在上述實(shí)施例的基礎(chǔ)上,本實(shí)施例中,獲取模塊301用于設(shè)定清除數(shù)據(jù)屬性值等于預(yù)定值。則默認(rèn)清除數(shù)據(jù)屬性值等于預(yù)定值,因而在清除應(yīng)用數(shù)據(jù)時(shí),保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。
[0079]在另一種實(shí)施例中,Android系統(tǒng)提供恢復(fù)出廠設(shè)置的清除數(shù)據(jù)方式選項(xiàng)。用戶可選擇保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù),也可以清除所有的應(yīng)用數(shù)據(jù)。
[0080]當(dāng)用戶選擇保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)后,如果恢復(fù)出廠設(shè)置功能啟動(dòng),獲取模塊301用于將預(yù)定值寫入清除數(shù)據(jù)屬性值,清除模塊303用于根據(jù)該預(yù)定值保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。
[0081]當(dāng)用戶選擇清除所有的應(yīng)用數(shù)據(jù)后,如果恢復(fù)出廠設(shè)置功能啟動(dòng),獲取模塊301用于在清除數(shù)據(jù)屬性值中寫入其他值,進(jìn)而選擇Android系統(tǒng)原有的清除數(shù)據(jù)方式,清理模塊304用于將所有的應(yīng)用數(shù)據(jù)清除。
[0082]因此,本實(shí)施例提供了兩種恢復(fù)出廠設(shè)置的方式,具體而言,提供了兩種可選的清除數(shù)據(jù)的方式,用戶的選擇更多樣,提升了用戶體驗(yàn)。
[0083]在一種實(shí)施例中,應(yīng)用優(yōu)化數(shù)據(jù)存儲在保護(hù)目錄內(nèi);對應(yīng)的,清除模塊303用于保留保護(hù)目錄內(nèi)的應(yīng)用優(yōu)化數(shù)據(jù)。預(yù)先設(shè)定保護(hù)目錄,將應(yīng)用優(yōu)化數(shù)據(jù)存儲在保護(hù)目錄內(nèi)。在清除應(yīng)用數(shù)據(jù)時(shí),清除模塊303用于判斷應(yīng)用數(shù)據(jù)的存儲路徑是否位于保護(hù)目錄內(nèi),如果位于保護(hù)目錄內(nèi),則保留該應(yīng)用數(shù)據(jù),如果不位于保護(hù)目錄內(nèi),則清除該應(yīng)用數(shù)據(jù)。
[0084]通常,可設(shè)定/data/dalvik-cache、/data/media、/data/1 os t+found和/或/cache/lost+found為保護(hù)目錄。其中,/data/dalvik_cache目錄存儲的就是應(yīng)用優(yōu)化數(shù)據(jù)。
[0085]在一種實(shí)施例中,清除模塊303用于清除數(shù)據(jù)分區(qū)和緩存分區(qū)內(nèi)除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。由于應(yīng)用數(shù)據(jù)均存儲在數(shù)據(jù)分區(qū)和緩存分區(qū)中,如果清除數(shù)據(jù)屬性值等于預(yù)定值,清除模塊303用于僅清除數(shù)據(jù)分區(qū)和緩存分區(qū)內(nèi)除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。如果清除數(shù)據(jù)屬性值不等于預(yù)定值,清理模塊304用于將數(shù)據(jù)分區(qū)和緩存分區(qū)進(jìn)行格式化。
[0086]本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明包括涉及用于執(zhí)行本申請中所述操作中的一項(xiàng)或多項(xiàng)的設(shè)備。這些設(shè)備可以為所需的目的而專門設(shè)計(jì)和制造,或者也可以包括通用計(jì)算機(jī)中的已知設(shè)備。這些設(shè)備具有存儲在其內(nèi)的計(jì)算機(jī)程序,這些計(jì)算機(jī)程序選擇性地激活或重構(gòu)。這樣的計(jì)算機(jī)程序可以被存儲在設(shè)備(例如,計(jì)算機(jī))可讀介質(zhì)中或者存儲在適于存儲電子指令并分別耦聯(lián)到總線的任何類型的介質(zhì)中,所述計(jì)算機(jī)可讀介質(zhì)包括但不限于任何類型的盤(包括軟盤、硬盤、光盤、CD-ROM、和磁光盤)、R0M(Read-0nly Memory,只讀存儲器)、RAM (Random Access Memory,隨即存儲器)、EPR0M(Erasable ProgrammableRead-Only Memory,可擦寫可編程只讀存儲器)、EEPR0M(E1 ectricalIy ErasableProgrammable Read-Only Memory,電可擦可編程只讀存儲器)、閃存、磁性卡片或光線卡片。也就是,可讀介質(zhì)包括由設(shè)備(例如,計(jì)算機(jī))以能夠讀的形式存儲或傳輸信息的任何介質(zhì)。
[0087]本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以用計(jì)算機(jī)程序指令來實(shí)現(xiàn)這些結(jié)構(gòu)圖和/或框圖和/或流圖中的每個(gè)框以及這些結(jié)構(gòu)圖和/或框圖和/或流圖中的框的組合。本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以將這些計(jì)算機(jī)程序指令提供給通用計(jì)算機(jī)、專業(yè)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來實(shí)現(xiàn),從而通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來執(zhí)行本發(fā)明公開的結(jié)構(gòu)圖和/或框圖和/或流圖的框或多個(gè)框中指定的方案。
[0088]本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進(jìn)一步地,具有本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進(jìn)一步地,現(xiàn)有技術(shù)中的具有與本發(fā)明中公開的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。
[0089]以上所述僅是本發(fā)明的部分實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種基于Android系統(tǒng)的恢復(fù)出廠設(shè)置方法,其特征在于:包括以下步驟: 獲取啟動(dòng)恢復(fù)出廠設(shè)置指令,設(shè)定清除數(shù)據(jù)屬性值; 判定清除數(shù)據(jù)屬性值是否等于預(yù)定值; 若等于預(yù)定值,保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于:還包括以下步驟: 若不等于預(yù)定值,清除所有應(yīng)用數(shù)據(jù)。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于: 所述設(shè)定清除數(shù)據(jù)屬性值的步驟,具體為: 設(shè)定清除數(shù)據(jù)屬性值等于預(yù)定值。4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于: 所述應(yīng)用優(yōu)化數(shù)據(jù)存儲在保護(hù)目錄內(nèi); 對應(yīng)的,所述保留應(yīng)用優(yōu)化數(shù)據(jù)的步驟,具體為:保留保護(hù)目錄內(nèi)的應(yīng)用優(yōu)化數(shù)據(jù)。5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于: 所述清除應(yīng)用優(yōu)化數(shù)據(jù)外的應(yīng)用數(shù)據(jù)的步驟,具體為: 清除數(shù)據(jù)分區(qū)和緩存分區(qū)內(nèi)除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。6.一種智能設(shè)備,其特征在于,包括: 獲取模塊,用于獲取啟動(dòng)恢復(fù)出廠設(shè)置指令,設(shè)定清除數(shù)據(jù)屬性值; 判定模塊,用于判定清除數(shù)據(jù)屬性值是否等于預(yù)定值; 清除模塊,用于在清除數(shù)據(jù)屬性值等于預(yù)定值時(shí),保留應(yīng)用優(yōu)化數(shù)據(jù),清除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的智能設(shè)備,其特征在于: 還包括清理模塊,用于在清除數(shù)據(jù)屬性值不等于預(yù)定值時(shí),清除所有應(yīng)用數(shù)據(jù)。8.根據(jù)權(quán)利要求6或7所述的智能設(shè)備,其特征在于: 所述獲取模塊用于設(shè)定清除數(shù)據(jù)屬性值等于預(yù)定值。9.根據(jù)權(quán)利要求6或7所述的智能設(shè)備,其特征在于: 所述應(yīng)用優(yōu)化數(shù)據(jù)存儲在保護(hù)目錄內(nèi); 對應(yīng)的,所述清除模塊用于保留保護(hù)目錄內(nèi)的應(yīng)用優(yōu)化數(shù)據(jù)。10.根據(jù)權(quán)利要求6或7所述的智能設(shè)備,其特征在于: 所述清除模塊用于清除數(shù)據(jù)分區(qū)和緩存分區(qū)內(nèi)除應(yīng)用優(yōu)化數(shù)據(jù)外的其他應(yīng)用數(shù)據(jù)。
【文檔編號】G06F1/24GK105975037SQ201610323862
【公開日】2016年9月28日
【申請日】2016年5月16日
【發(fā)明人】于洪, 吳漢勇
【申請人】青島海信電器股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
醴陵市| 呼图壁县| 台前县| 三明市| 新巴尔虎左旗| 民和| 德格县| 民县| 洞口县| 获嘉县| 肥乡县| 合水县| 稷山县| 西充县| 阳泉市| 即墨市| 祥云县| 新平| 平罗县| 通道| 连城县| 宝清县| 福贡县| 克什克腾旗| 图片| 湖南省| 武冈市| 通州市| 巨野县| 缙云县| 信阳市| 兴宁市| 宣化县| 贵州省| 汕尾市| 离岛区| 泸定县| 陆良县| 盘山县| 广州市| 汨罗市|