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

一種動態(tài)改變應(yīng)用程序存儲路徑的方法

文檔序號:9787518閱讀:267來源:國知局
一種動態(tài)改變應(yīng)用程序存儲路徑的方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及Android系統(tǒng)技術(shù)領(lǐng)域,具體涉及一種動態(tài)改變應(yīng)用程序存儲路徑的方法。
【背景技術(shù)】
[0002]Android系統(tǒng)內(nèi)部存儲是用戶不插入外部存儲卡都可以使用的存儲介質(zhì)。這部分存儲空間是從Android Flash存儲器(相當(dāng)于電腦的硬盤)劃分出來的一塊存儲區(qū),用戶可以用來保存照片,音樂等文件。Andro i d開機通過調(diào)用標準Linux系統(tǒng)函數(shù)mount,把內(nèi)存存儲區(qū)域掛載到目錄/mnt/sdcard,用戶可以通過/mnt/sdcard目錄讀取內(nèi)部存儲區(qū)域內(nèi)容。Android系統(tǒng)外部存儲卡就是用戶為擴充存儲空間加插入的一種存儲介質(zhì),就是常見的TF卡,俗稱內(nèi)存卡。Android開機通過調(diào)用標準Linux系統(tǒng)函數(shù)mount,把外部存儲卡掛載到目錄/mnt/extsd,用戶可以通過/mnt/extsd目錄讀取外部存儲卡的內(nèi)容。Android系統(tǒng)應(yīng)用程序從存儲角度包含三個部分:應(yīng)用程序安裝文件:就是程序的可執(zhí)行文件,這部分數(shù)據(jù)可以保存到外部存儲卡。應(yīng)用程序內(nèi)部數(shù)據(jù):程序運行數(shù)據(jù),包括數(shù)據(jù)庫,緩存等文件。保存到目錄/data/data/包名。這部分數(shù)據(jù)只能保存到/data/data目錄下面,無法保存到外部存儲卡。應(yīng)用程序外部數(shù)據(jù):包括游戲數(shù)據(jù),圖片等等,主要保存到掛載點的Android目錄。這部分數(shù)據(jù)可以保存到外部存儲卡。Android系統(tǒng)開機時在內(nèi)部存儲掛載點/mnt/sdcard創(chuàng)建.android_secure隱藏目錄,用于保存內(nèi)部存儲卡的應(yīng)用程序安裝文件。但是Android系統(tǒng)不是直接操作.android_secure目錄,而是把.android_secure目錄掛載到/mnt/secure/asec,這樣Android系統(tǒng)就通過操作/mnt/secure/asec掛載點保存內(nèi)部存儲卡的應(yīng)用程序安裝文件,以上是Android原生態(tài)的處理流程。
[0003]現(xiàn)有技術(shù)中手機或者平板選擇應(yīng)用程序數(shù)據(jù)默認存儲路徑的方法是交換掛載點,即選擇應(yīng)用程序數(shù)據(jù)保存到外部存儲器時,交換外部存儲器和內(nèi)部內(nèi)存器的掛載點,不過這個過程中需要對手機或者平板重啟,而且不支持外部存儲卡的熱插拔。

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

[0004]本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的不足,提供一種動態(tài)改變應(yīng)用程序存儲路徑的方法,克服現(xiàn)有技術(shù)選擇應(yīng)用程序存儲路徑的方法需要重啟設(shè)備才能予以確認的缺陷以及不支持外部存儲卡熱插拔的缺陷。
[0005]本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案為:
[0006]—種動態(tài)改變應(yīng)用程序存儲路徑的方法,包括步驟:
[0007]Al、設(shè)置存儲路徑系統(tǒng)屬性,如果需要選取外部存儲路徑則所述存儲路徑系統(tǒng)屬性的屬性值設(shè)為第一屬性值,如果需要選取內(nèi)部存儲路徑則所述存儲路徑系統(tǒng)屬性的屬性值設(shè)為第二屬性值;
[0008]A2、如果所述屬性值為第二屬性值,則獲取內(nèi)部存儲路徑并傳遞給應(yīng)用程序;
[0009]A3、如果所述屬性值為第一屬性值,判斷外部存儲卡是否插入設(shè)備,如果所述外部存儲卡沒有插入設(shè)備,則將所述存儲路徑系統(tǒng)屬性的屬性值修改為第二屬性值,獲取內(nèi)部存儲路徑并傳遞給所述應(yīng)用程序;
[0010]A4、如果所述外部存儲卡已插入設(shè)備,則判斷所述應(yīng)用程序是否屬于可以使用外部存儲卡存取數(shù)據(jù)的特定應(yīng)用程序或者第三方可卸載程序,如果是則獲取外部存儲路徑并傳遞給所述應(yīng)用程序,否則將所述存儲路徑系統(tǒng)屬性的屬性值修改為第二屬性值,獲取內(nèi)部存儲路徑并傳遞給所述應(yīng)用程序。
[0011]根據(jù)本發(fā)明的實施例,所述步驟A2包括步驟:讀取系統(tǒng)文件init.rc中系統(tǒng)屬性EXTERNAL_STORAGE的屬性值,該屬性值為內(nèi)部存儲路徑。
[0012]根據(jù)本發(fā)明的實施例,所述步驟A3包括步驟:調(diào)用系統(tǒng)服務(wù)MountService的接口函數(shù)getVolumeState,如果獲取的狀態(tài)值為MEDIA_M0UNTED,則判定外部存儲卡已插入設(shè)備,否則判定所述外部存儲卡沒有插入設(shè)備。
[0013]根據(jù)本發(fā)明的實施例,所述步驟A3包括步驟:如果所述屬性值為第二屬性值,讀取系統(tǒng)文件init.rc中系統(tǒng)屬性EXTERNAL_STORAGE的屬性值,該屬性值為內(nèi)部存儲路徑。
[0014]根據(jù)本發(fā)明的實施例,所述步驟A4包括步驟:讀取配置文件install_locat1n_pkg.conf,如果所述應(yīng)用程序的進程名位于其中則判定所述應(yīng)用程序為特定應(yīng)用程序。
[0015]根據(jù)本發(fā)明的實施例,所述步驟A4包括步驟:讀取RunningAppProcessInf ο類對象的實例,如果其成員變量flags的值不是Applicat1nlnf0.FLAG_SYSTEM,則判定所述應(yīng)用程序為第三方可卸載程序。
[0016]根據(jù)本發(fā)明的實施例,所述步驟A4包括步驟:讀取系統(tǒng)文件init.rc中系統(tǒng)屬性SECNDARY_STORAGE的屬性值,該屬性值為外部存儲路徑。
[0017]根據(jù)本發(fā)明的實施例,所述存儲路徑系統(tǒng)屬性設(shè)為persist.sys.default.storage。
[0018]實施本發(fā)明的技術(shù)方案,具有以下有益效果:本發(fā)明在Android系統(tǒng)中增加系統(tǒng)屬性persist.sys.default, storage,以該系統(tǒng)屬性的屬性值作為內(nèi)部存儲路徑和外部存儲路徑的標識符,使得不同的應(yīng)用程序可以依據(jù)該標識符快速確定當(dāng)前的存儲路徑,本發(fā)明在支持動態(tài)選擇存儲路徑的同時支持外部存儲卡的熱插拔,并根據(jù)應(yīng)用程序的類型確定是否可以使用外部存儲卡,本發(fā)明因此提高了動態(tài)選擇存儲路徑的效率和用戶友好性。
【附圖說明】
[0019]下面通過參考附圖并結(jié)合實例具體地描述本發(fā)明,本發(fā)明的優(yōu)點和實現(xiàn)方式將會更加明顯,其中附圖所示內(nèi)容僅用于對本發(fā)明的解釋說明,而不構(gòu)成對本發(fā)明的任何意義上的限制,在附圖中:
[0020]圖1為本發(fā)明流程圖。
【具體實施方式】
[0021]如圖1所示,本發(fā)明動態(tài)改變應(yīng)用程序存儲路徑的方法,包括步驟:
[0022]S101、設(shè)置存儲路徑系統(tǒng)屬性,如果需要選取外部存儲路徑則存儲路徑系統(tǒng)屬性的屬性值設(shè)為第一屬性值,如果需要選取內(nèi)部存儲路徑則存儲路徑系統(tǒng)屬性的屬性值設(shè)為第二屬性值;
[0023]S102、如果屬性值為第二屬性值,則獲取內(nèi)部存儲路徑并傳遞給應(yīng)用程序;
[0024]S103、如果屬性值為第一屬性值,判斷外部存儲卡是否插入設(shè)備,如果外部存儲卡沒有插入設(shè)備,則將存儲路徑系統(tǒng)屬性的屬性值修改為第二屬性值,獲取內(nèi)部存儲路徑并傳遞給應(yīng)用程序;
[0025]S104、如果外部存儲卡已插入設(shè)備,則判斷應(yīng)用程序是否屬于可以使用外部存儲卡存取數(shù)據(jù)的特定應(yīng)用程序或者第三方可卸載程序,如果是則獲取外部存儲路徑并傳遞給應(yīng)用程序,否則將存儲路徑系統(tǒng)屬性的屬性值修改為第二屬性值,獲取內(nèi)
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
汾阳市| 景东| 东乌| 保德县| 白朗县| 双流县| 哈密市| 蒙阴县| 图木舒克市| 长岛县| 乃东县| 清流县| 南昌市| 靖西县| 乌拉特后旗| 阳山县| 左权县| 聂荣县| 石景山区| 庆元县| 石嘴山市| 安仁县| 汝南县| 射洪县| 武穴市| 旺苍县| 宁晋县| 永济市| 朝阳县| 津南区| 瑞金市| 罗定市| 丰都县| 容城县| 临海市| 泰州市| 彭阳县| 克什克腾旗| 平度市| 广南县| 安塞县|