`
龙儿筝
  • 浏览: 9762 次
社区版块
存档分类
最新评论

Context的典型使用场景

阅读更多

获取应用文件路径

基类Context提供了获取应用文件路径的能力,ApplicationContext、AbilityStageContext、UIAbilityContext和ExtensionContext均继承该能力。应用文件路径属于应用沙箱路径,上述各类Context获取的应用文件路径有所不同。

通过ApplicationContext获取应用级别的应用文件路径,此路径是应用全局信息推荐的存放路径,这些文件会跟随应用的卸载而删除

属性 路径
bundleCodeDir <路径前缀>/el1/bundle
cacheDir <路径前缀>/<加密等级>/base/cache
filesDir <路径前缀>/<加密等级>/base/files
preferencesDir <路径前缀>/<加密等级>/base/preferences
tempDir <路径前缀>/<加密等级>/base/temp
databaseDir <路径前缀>/<加密等级>/database
distributedFilesDir <路径前缀>/el2/distributedFiles
cloudFileDir <路径前缀>/el2/cloud

通过AbilityStageContext、UIAbilityContext、ExtensionContext获取HAP级别的应用文件路径。此路径是HAP相关信息推荐的存放路径,这些文件会跟随HAP的卸载而删除,但不会影响应用级别路径的文件,除非该应用的HAP已全部卸载

属性 路径
bundleCodeDir <路径前缀>/el1/bundle
cacheDir <路径前缀>/<加密等级>/base/haps//cache
filesDir <路径前缀>/<加密等级>/base/haps//files
preferencesDir <路径前缀>/<加密等级>/base/haps//preferences
tempDir <路径前缀>/<加密等级>/base/haps//temp
databaseDir <路径前缀>/<加密等级>/database/
distributedFilesDir <路径前缀>/el2/distributedFiles/
cloudFileDir <路径前缀>/el2/cloud/

获取和修改加密分区

应用文件加密是一种保护数据安全的方法,可以使得文件在未经授权访问的情况下得到保护。在不同的场景下,应用需要不同程度的文件保护。在实际应用中,开发者需要根据不同场景的需求选择合适的加密分区,从而保护应用数据的安全。通过合理使用不同级别的加密分区,可以有效提高应用数据的安全性。

  • EL1:对于私有文件,如闹铃、壁纸等,应用可以将这些文件放到设备级加密分区(EL1)中,以保证在用户输入密码前就可以被访问。
  • EL2:对于更敏感的文件,如个人隐私信息等,应用可以将这些文件放到更高级别的加密分区(EL2)中,以保证更高的安全性。
  • EL3:对于应用中的记录步数、文件下载、音乐播放,需要在锁屏时读写和创建新文件,放在(EL3)的加密分区比较合适。
  • EL4:对于用户安全信息相关的文件,锁屏时不需要读写文件、也不能创建文件,放在(EL4)的加密分区更合适。
  • EL5:对于用户隐私敏感数据文件,锁屏后默认不可读写,如果锁屏后需要读写文件,则锁屏前可以调用Access接口申请继续读写文件,或者锁屏后也需要创建新文件且可读写,放在(EL5)的应用级加密分区更合适

获取本应用中其他module的context

调用createModuleContext(moduleName:string)方法,获取本应用中其他Module的Context。获取到其他Module的Context之后,即可获取到相应Module的资源信息。

订阅进程内UIAbility生命周期变化

在应用内的DFX统计场景中,如需要统计对应页面停留时间和访问频率等信息,可以使用订阅进程内UIAbility生命周期变化功能。

通过ApplicationContext提供的能力,可以订阅进程内UIAbility生命周期变化。当进程内的UIAbility生命周期变化时,如创建、可见/不可见、获焦/失焦、销毁等,会触发相应的回调函数。每次注册回调函数时,都会返回一个监听生命周期的ID,此ID会自增+1。当超过监听上限数量2^63-1时,会返回-1

0
0
分享到:
评论

相关推荐

    Context-Based Adaptive Binary Arithmetic Coding in the H.264 AVC Video Compression Standard

    相比于H.264/AVC中的基线熵编码方法,CABAC在典型的应用场景中表现出了显著的优势。对于代表广播应用的一组测试序列以及大约30到38dB可接受的视频质量范围,CABAC平均能够节省9%至14%的比特率。 #### 结论 CABAC...

    DAI0298A_cortex_m4f_lazy_stacking_and_context_switching.pdf

    此外,我们还将讨论这一特性如何帮助优化内存使用并提高系统性能。 #### Lazy Stacking原理 在深入细节之前,我们需要了解Lazy Stacking的基本概念。通常情况下,在上下文切换过程中,RTOS会保存当前任务的所有...

    ASP.NET类库查询手册

    - **典型应用场景**: - 当需要确定一个程序集的具体位置时。 - 在多版本应用程序环境中,控制特定版本的应用程序加载。 - 获取应用程序的配置信息以进行动态配置更改。 ##### Activator类 `Activator`类是.NET...

    阿里小蜜—智能服务技术实践及场景探索(AI先行者大会)Final.pdf

    在介绍中提到的“多轮增强式导购”是阿里小蜜中应用的一个典型场景。在多轮对话中,为了能更好地理解用户需求并提供合适的导购服务,阿里小蜜运用了复杂的对话管理系统(DMS)。该系统不仅仅限于一次性的单轮响应,...

    visiual C++开发典型模块大全--万能打印模块

    在Visual C++中,使用`CDC`(Device Context Class)类来处理设备上下文,包括屏幕和打印机。`CDC`类提供了大量的成员函数,用于绘制线条、形状、文本等,以及管理剪切区域和图形状态。 创建万能打印模块时,你需要...

    征服Python--语言基础与典型应用

    书中的内容涵盖了Python语言的基础语法、核心概念以及广泛的应用场景,旨在帮助读者全面掌握Python编程。 一、Python语言基础 1. 变量与数据类型:Python支持多种数据类型,包括整型(int)、浮点型(float)、...

    开源项目-golang-go.zip

    使用`T.Context()`的一个典型场景是在测试中模拟异步操作。比如,你可以创建一个goroutine来模拟延迟或网络I/O,然后在该goroutine中定期检查`Context()`的done状态。如果`Context()`已经完成(通常表示测试已被取消...

    HTTPClient4的典型小例子

    **HTTPClient4简介** ...在本文中,我们将深入探讨如何使用HTTPClient4进行基本的HTTP请求操作。 **HTTPClient4的基本...在实际项目中,根据具体需求进行适当的配置和定制,可以更好地满足各种场景下的HTTP通信需求。

    jxls-poi导出excel示例代码文件

    在描述中提到的"读取json转为excel文件导出",这正是`jxls`的一个典型应用场景。我们通常会有一个JSON数据源,它包含我们需要导出到Excel的数据。`jxls`可以解析JSON数据,并根据预定义的模板将其转换为Excel文件。...

    c++技术术语.doc

    - **应用场景**:函数调用链是一个典型的应用场景,即一个函数调用另一个函数,后者再调用下一个函数,形成一条调用链。 ### Child Class 子类别/子类 - **定义**:子类是从另一个类(父类或基类)继承来的类。 - ...

    Context menu: Copy link with types-crx插件

    总的来说,"Context menu: Copy link with types-crx"是一个方便实用的工具,它增强了浏览器的链接处理能力,让用户能更灵活地复制和使用链接。无论是为了提高工作效率,还是满足特定场景的需求,这个插件都能提供...

    Open Mobile API Specification中文版翻译

    这一部分描述了传输API的典型使用场景和推荐的最佳实践,包括如何初始化、配置和使用API来进行数据传输。 6.4 类: SEService 6.4.1 构造函数: SEService(Context context, SEService.CallBack listener) 这个构造...

    Chhd并发测试报告.doc

    **3.3.3.3 context switches/sec、throughput和CPU使用率** context switches/sec(上下文切换率)与throughput(吞吐量)的组合图揭示了系统在并发压力下的资源管理情况。随着CPU使用率的上升,上下文切换频繁,...

    md5.zip_hash

    MD5的典型使用场景包括: 1. **文件完整性检查**:通过计算文件的MD5值,我们可以验证文件是否在传输或存储过程中被篡改。如果两个文件的MD5值相同,说明它们的内容是完全一致的。 2. **密码存储**:虽然现在MD5...

    2、Webdynpro入门之数据绑定【原创】

    在 Webdynpro 架构中,一个典型的组件 (Component) 包含以下几个部分: - **Windows**:用于组织和布局用户界面(UI)的容器。 - **Views**:具体的用户界面元素,例如按钮、文本框等。 - **Component Controller**:...

    安卓监听键盘弹起和键盘关闭代码编写

    标题提到的"安卓监听键盘弹起和键盘关闭代码编写"就是一个典型的场景,尤其在布局中嵌套了ScrollView时更为重要。ScrollView通常用于显示可滚动的内容,当键盘弹出时,它可能会影响到用户与底部元素的交互。接下来,...

    java数据库连接方法.pdf

    使用JDBC连接数据库的典型步骤如下: - 加载数据库驱动(例如,使用Class.forName()方法加载MySQL驱动)。 - 建立与数据库的连接(使用DriverManager.getConnection()方法)。 - 创建Statement对象,通过连接对象...

    android common adapter

    在实际应用中,`CommonAdapter`的泛型`T`代表数据类型,`data`变量存储了要展示的数据集合,`getView()`方法使用`ViewHolder`来填充每个列表项。这样,开发者就可以快速地为不同类型的列表数据创建适配器,提高了...

Global site tag (gtag.js) - Google Analytics