1.獲取應(yīng)用文件路徑
基類Context提供了獲取應(yīng)用文件路徑的能力,ApplicationContext、AbilityStageContext、UIAbilityContext和ExtensionContext均繼承該能力。應(yīng)用文件路徑屬于應(yīng)用沙箱路徑。上述各類Context獲取的應(yīng)用文件路徑有所不同。
通過ApplicationContext獲取應(yīng)用級(jí)別的應(yīng)用文件路徑,此路徑是應(yīng)用全局信息推薦的存放路徑,這些文件會(huì)跟隨應(yīng)用的卸載而刪除。
?
通過AbilityStageContext、UIAbilityContext、ExtensionContext獲取HAP級(jí)別的應(yīng)用文件路徑。此路徑是HAP相關(guān)信息推薦的存放路徑,這些文件會(huì)跟隨HAP的卸載而刪除,但不會(huì)影響應(yīng)用級(jí)別路徑的文件,除非該應(yīng)用的HAP已全部卸載。
?
示例代碼如下。
import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) {
let cacheDir = this.context.cacheDir;
let tempDir = this.context.tempDir;
let filesDir = this.context.filesDir;
let databaseDir = this.context.databaseDir;
let bundleCodeDir = this.context.bundleCodeDir;
let distributedFilesDir = this.context.distributedFilesDir;
let preferencesDir = this.context.preferencesDir;
// ...
}
}
2.獲取和修改加密分區(qū)
上一個(gè)場景中,引入了加密等級(jí)的概念,通過對(duì)Context的area屬性的讀寫來實(shí)現(xiàn)獲取和設(shè)置當(dāng)前加密分區(qū),支持如下兩種加密等級(jí):
AreaMode.EL1:設(shè)備級(jí)加密區(qū),設(shè)備開機(jī)后可訪問的數(shù)據(jù)區(qū)。文章來源:http://www.zghlxwxcb.cn/news/detail-682293.html
AreaMode.EL2:用戶級(jí)加密區(qū),設(shè)備開機(jī),首次輸入密碼后才能夠訪問的數(shù)據(jù)區(qū)。文章來源地址http://www.zghlxwxcb.cn/news/detail-682293.html
import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) {
// 存儲(chǔ)普通信息前,切換到EL1設(shè)備級(jí)加密
if (this.context.area === 1) { // 獲取area
this.context.area = 0; // 修改area
}
// 存儲(chǔ)普通信息
// 存儲(chǔ)敏感信息前,切換到EL2用戶級(jí)加密
if (this.context.area === 0) { // 獲取area
this.context.area = 1; // 修改area
}
// 存儲(chǔ)敏感信息
}
}
到了這里,關(guān)于HarmonyOS/OpenHarmony(Stage模型)卡片開發(fā)應(yīng)用上下文Context使用場景一的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!