145 Star 1.4K Fork 1.7K

OpenHarmony/applications_app_samples

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

支持5.0特性能力sample

介绍

本示例使用@ohos.bundle.bundleManager@ohos.bundle.defaultAppManager@ohos.bundle.overlay 等接口,展示了向开发者如何调用包管理提供的public接口,验证其功能。

效果预览

主页
main

使用说明

此界面为主页面,其中展示了包管理各类接口的调用以及特性Overlay场景功能其作用有:

1、点击每个示例按钮,可调用包管理接口并把数据通过弹窗形式显现。

例如下图所示,点击获取BundleInfo按钮对应的接口返回结果会通过弹窗形式显现,其他示例按钮对应的返回结果形式与其相同。

资源API测试
main

工程目录

entry/src/main/ets/
|---entryability
|---newuiextability                   // ExtensionAbilitiy实现类
|---pages
|   |---Index.ets                     // 场景首页
|   |---NewPage.ets                   // 静态快捷方式场景      
|---libraryOverlay                    // 动态共享包
|---libraryRuntimeOverlay      

动态共享包可参考:HSP (openharmony.cn)

具体实现

包管理API调用示例具体实现:

1、引入d.ts头文件import bundleManager from '@ohos.bundle.bundleManager';import defaultAppMgr from '@ohos.bundle.defaultAppManager';import overlay from '@ohos.bundle.overlay';然后调用内部的相关接口,例如:

  • 获取当前应用的BundleInfo:bundleManager.getBundleInfoForSelf()
  • 获取BundleInfo(sync):bundleManager.getBundleInfoForSelfSync()
  • 获取配置json:bundleManager.getProfileByAbility()
  • 获取配置json(sync):bundleManager.getProfileByAbilitySync()
  • 获取配置数组:bundleManager.getProfileByExtensionAbility()
  • 获取配置数组(sync):bundleManager.getProfileByExtensionAbilitySync()
  • 校验.abc文件:bundleManager.verifyAbc()
  • 删除.abc文件:bundleManager.deleteAbc()
  • 校验链接是否可打开:bundleManager.canOpenLink()
  • 判断默认应用:defaultAppMgr.isDefaultApplication()
  • 判断默认应用(sync):defaultAppMgr.isDefaultApplicationSync()
  • 设置overlay状态:overlay.setOverlayEnabled()
  • 获取overlayModuleInfo信息:overlay.getOverlayModuleInfo()
  • 获取多条overlayModuleInfo信息:overlay.getTargetOverlayModuleInfos()

源码参考:资源API调用示例

安装命令:

modules.abc(任意hap中的\ets\modules.abc文件)。

1.由于测试verifyAbc()接口,deleteAbc()接口(分别是校验.abc文件,删除.abc文件)时依赖.abc文件,因此需要推送到指定目录:

hdc_std file send 本地路径\modules.abc /data/app/el1/bundle/public/com.samples.bundlemanagement/

2.由于测试setOverlayEnabled(),getOverlayModuleInfo(),getTargetOverlayModuleInfos()(分别是设置overlay状态,获取overlayModuleInfo信息,获取多条overlayModuleInfo信息)时依赖动态共享包,因此需要共同安装:

hdc_std install 本地路径\entry-default-signed.hap 本地路径\libraryRuntimeOverlay-default-signed.hsp 本地路径\libraryOverlay-default-signed.hsp

相关权限

不涉及。

依赖

不涉及。

约束与限制

1.本示例仅支持标准系统上运行,支持设备:RK3568;

2.本示例为Stage模型,支持API12版本SDK,版本号:5.0.0.22;

3.本示例需要使用DevEco Studio 4.1.3 Release(Build Version: 4.1.3.500, built on January 20, 2024)才可编译运行;

4.本示例涉及权限至少为system_basic级别。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/BasicFeature/ApplicationModels/BundleManager/BundleManagement/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openharmony/applications_app_samples.git
git@gitee.com:openharmony/applications_app_samples.git
openharmony
applications_app_samples
applications_app_samples
master

搜索帮助