| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 38 | 36 | ||
| entry/ | 06-May-2025 | - | 3,522 | 3,352 | ||
| hvigor/ | 06-May-2025 | - | 19 | 19 | ||
| screenshots/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 133 | 12 | 12 | |
| README_zh.md | D | 06-May-2025 | 13.6 KiB | 205 | 123 | |
| build-profile.json5 | D | 06-May-2025 | 1.2 KiB | 51 | 51 | |
| hvigorfile.ts | D | 06-May-2025 | 843 | 22 | 5 | |
| oh-package.json5 | D | 06-May-2025 | 832 | 25 | 24 | |
| ohosTest.md | D | 06-May-2025 | 3.5 KiB | 13 | 11 |
README_zh.md
1# 基础能力增强 2 3### 介绍 4 5本示例使用 [AppManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-appManager.md) ,[dataUriUtils](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-ability-dataUriUtils.md),[WantAgent](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-wantAgent.md),[ApplicationContext](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-inner-application-applicationContext.md),[errorManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-errorManager.md),[UIAbilityContext](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-inner-application-uiAbilityContext.md)中的接口进行实现。 6 7### 效果预览 8 9| 主页面 | appManager开发示例 | errorManager开发示例 | UIAbilityContext开发示例 | 10| :----------------------------------------------: | :---------------------------------------------------: | :-----------------------------------------------------: | :---------------------------------------------------------: | 11| <img src="screenshots/index.jpeg" width="270" /> | <img src="screenshots/appManager.jpeg" width="270" /> | <img src="screenshots/errorManager.jpeg" width="270" /> | <img src="screenshots/UIabilityContext.jpeg" width="270" /> | 12 13### 使用说明 14 15AppManager对应接口 16 171.点击主页面**appManager开发示例**按钮,跳转到'appManager开发示例'界面; 18 192.点击**isRunningInStabilityTest callback**按钮,弹出'isRunningInStabilityTest(callback) success...'信息; 20 213.点击**isRunningInStabilityTest promise**按钮,弹出提示'isRunningInStabilityTest(promise) success...'信息; 22 234.点击**isRamConstrainedDevice callback**按钮,弹出提示'isRamConstrainedDevice(callback) success...'信息; 24 255.点击**isRamConstrainedDevice promise**按钮,弹出提示'isRamConstrainedDevice(promise) success...'信息; 26 276.点击**getAppMemorySize callback**按钮,弹出提示'getAppMemorySize(callback) success...'信息; 28 297.点击**getAppMemorySize promise**按钮,弹出提示'getAppMemorySize(promise) success...'信息; 30 318.点击**getRunningProcessInformation callback**按钮,弹出提示'getRunningProcessInformation(callback) success...'信息; 32 339.点击**getRunningProcessInformation promise**按钮,弹出提示'getRunningProcessInformation(promise) success...'信息; 34 35 36 37dataUriUtils对应接口 38 391.点击主页面**dataUriUtils开发示例**按钮,跳转到'dataUriUtils开发示例'界面; 40 412.点击**getId**按钮,弹出提示'dataUriUtils.getId() called...'信息; 42 433.点击**attachId**按钮,弹出提示'dataUriUtils.attachd() called...'信息; 44 454.点击**deleteId**按钮,弹出提示'dataUriUtils.deleteId() called...'信息; 46 475.点击**updateId**按钮,弹出提示'dataUriUtils.updateId() called...'信息; 48 49 50 51WantAgent对应接口 52 531.点击主页面**WantAgent开发示例**按钮,跳转到'WantAgent开发示例'界面; 54 552.点击**getBundleName callback**按钮,弹出提示'getBundleName(callback) success...'信息; 56 573.点击**getBundleName promise**按钮,弹出提示'getBundleName(promise) success...'信息; 58 594.点击**getUid callback**按钮,弹出提示'getUid(callback) success...'信息; 60 615.点击**getUid promise**按钮,弹出提示'getUid(promise) success...'信息; 62 636.点击**cancel callback**按钮,弹出提示'cancel(callback) success'信息; 64 657.点击**cancel promise**按钮,弹出提示'cancel(promise) success'信息; 66 678.点击**equal callback**按钮,弹出提示'equal(callback) success...'信息; 68 699.点击**equal promise**按钮,弹出提示'equal(promise) success...'信息; 70 7110.点击**getOperationType callback**按钮,弹出提示'getOperationType(callback) success...'信息; 72 7311.点击**getOperationType promise**按钮,弹出提示'getOperationType(promise) success...'信息; 74 7512.点击**trigger**按钮,弹出提示'trigger success...'信息; 76 77 78 79ApplicationContext对应接口 80 811.点击主页面**ApplicationContext开发示例**按钮,跳转到'ApplicationContext开发示例'界面; 82 832.点击**setFont**按钮,弹出提示'setFont successfully'信息; 84 853.点击**getRunningProcessInformation promise**按钮,弹出提示'getRunningProcessInformation promise successfully...'信息; 86 874.点击**getRunningProcessInformation callback**按钮,弹出提示'getRunningProcessInformation callback successfully...'信息; 88 895.点击**getCurrentAppCloneIndex**按钮,弹出提示'getCurrentAppCloneIndex successfully...'信息; 90 91 92 93errorManager对应接口 94 951.点击主页面**errorManager开发示例**按钮,跳转到'errorManager开发示例'界面; 96 972.点击**注册LoopObserver**按钮,弹出提示'loopObserver registered successfully...'信息; 98 993.点击**注册UnhandledRejectionObserver**按钮,弹出提示'unhandledRejection registered successfully'信息,列表中增加**模拟UnhandledRejection**按钮,并且原**注册UnhandledRejectionObserver**按钮变为**注销UnhandledRejectionObserver**按钮 100 1014.点击**模拟UnhandledRejection**按钮,弹出提示'UnhandledRejectionObserver reason...'信息; 102 1035.点击**注销UnhandledRejection**按钮,弹出提示'unhandledRejection unregistered successfully'信息,**注销UnhandledRejectionObserver**按钮变回**注册UnhandledRejectionObserver**按钮,列表中**模拟UnhandledRejection**按钮消失; 104 105 106 107UIAbilityContext对应接口 108 1091.点击主页面**UIAbilityContext开发示例**按钮,启动新的Ability显示'UIAbilityContext开发示例'界面; 110 1112.点击**moveAbilityToBackground**按钮,将启动的Ability移动到后台,页面显示为主页面,触发AbilityLifecycleCallback中的生命周期; 112 1133.再次点击主页面**UIAbilityContext开发示例**按钮,启动新的Ability显示'UIAbilityContext开发示例'界面,点击**terminateSelf**按钮,回到主页面; 114 115### 工程目录 116 117``` 118entry/src/main/ets/ 119|---abilitylifecyclecallback 120| |---AbilityLifecycleCallback.ets //AbilityLifecycleCallback生命周期 121|---abilitypages 122| |---ApplicationContext.ets //ApplicationContext中对应接口 123| |---AppManager.ets //AppManager中对应接口 124| |---DataUriUtils.ets //DataUriUtils中对应接口 125| |---ErrorManager.ets //ErrorManager中对应接口 126| |---UIAbilityContext.ets //UIAbilityContext中对应接口 127| |---WantAgent.ets //WantAgent中对应接口 128|---entryability 129| |---EntryAbility.ets // 首页的Ability 130|---pages 131| |---Index.ets // 首页 132``` 133 134### 具体实现 135 136* AppManager对应接口实现,源码参考[AppManager.ets](entry/src/main/ets/abilitypages/appManager.ets) 137 138 * isRunningInStabilityTest(callback)接口实现:通过调用appManager.isRunningInStabilityTest()接口,查询当前是否处于稳定性测试场景。使用callback异步回调,并将弹出Toast信息的功能; 139 * isRunningInStabilityTest(promise)接口实现:通过调用appManager.isRunningInStabilityTest()接口,查询当前是否处于稳定性测试场景。使用Promise异步回调,并将弹出Toast信息的功能; 140 * isRamConstrainedDevice(callback)接口实现:通过调用appManager.isRamConstrainedDevice()接口,查询是否为ram受限设备。使用callback异步回调,并将弹出Toast信息的功能; 141 * isRamConstrainedDevice(promise)接口实现:通过调用appManager.isRamConstrainedDevice()接口,查询是否为ram受限设备。使用Promise异步回调,并将弹出Toast信息的功能; 142 * getAppMemorySize(callback)接口实现:通过调用appManager.getAppMemorySize()接口,获取当前应用程序可以使用的内存的值。使用callback异步回调,并将弹出Toast信息的功能; 143 * getAppMemorySize(promise)接口实现:通过调用appManager.getAppMemorySize()接口,获取当前应用程序可以使用的内存的值。使用Promise异步回调,并将弹出Toast信息的功能; 144 * getRunningProcessInformation(callback)接口实现:通过调用appManager.getRunningProcessInformation()接口,获取当前运行进程的有关信息。使用callback异步回调,并将弹出Toast信息的功能; 145 * getRunningProcessInformation(promise)接口实现:通过调用appManager.getRunningProcessInformation()接口,获取当前运行进程的有关信息。使用Promise异步回调,并将弹出Toast信息的功能; 146* dataUriUtils对应接口实现,源码参考[DataUriUtils.ets](entry/src/main/ets/abilitypages/DataUriUtils.ets) 147 148 * getId接口实现:通过调用dataUriUtils.getId()接口,获取指定uri路径末尾的ID的功能; 149 * attachId接口实现:通过调用dataUriUtils.attachId()接口,将ID附加到uri的路径末尾的功能; 150 * deleteId接口实现:通过调用dataUriUtils.deleteId()接口,删除指定uri路径末尾的ID的功能; 151 * updateId接口实现:通过调用dataUriUtils.updateId()接口,更新指定uri中的ID的功能; 152* WantAgent对应接口实现,源码参考[WantAgent.ets](entry/src/main/ets/abilitypages/WantAgent.ets) 153 154 * getBundleName(callback)接口实现:通过调用this.getBundleNameCallback()接口,获取WantAgent实例的包名; 155 * getBundleName(promise)接口实现:通过调用this.getBundleNamePromise()接口,获取WantAgent实例的包名; 156 * getUid(callback)接口实现:通过调用this.getUidCallback()接口,获取WantAgent实例的用户ID; 157 * getUid(promise)接口实现:通过调用this.getUidPromise接口,获取WantAgent实例的用户ID; 158 * cancel(callback)接口实现:通过调用this.cancelCallback()接口,取消WantAgent实例; 159 * cancel(promise)接口实现:通过调用this.cancelPromise()接口,取消WantAgent实例; 160 * equal(callback)接口实现:通过调用this.equalCallback()接口,以此来判断是否是来自同一应用的相同操作,判断两个WantAgent实例是否相等的回调方法。返回true表示两个WantAgent实例相等,false表示两个WantAgent实例不相等; 161 * equal(promise)接口实现:通过调用this.equalPromise()接口,以此来判断是否是来自同一应用的相同操作,判断两个WantAgent实例是否相等的结果。返回true表示两个WantAgent实例相等,false表示两个WantAgent实例不相等; 162 * getOperationType(callback)接口实现:通过调用this.getOperationTypeCallback()接口,获取一个WantAgent的OperationType信息; 163 * getOperationType(promise)接口实现:通过调用this.getOperationTypePromise()接口,获取一个WantAgent的OperationType信息; 164 * trigger接口实现:通过调用this.trigger()接口,主动激发WantAgent实例; 165* ApplicationContext对应接口实现,源码参考[ApplicationContext.ets](entry/src/main/ets/abilitypages/ApplicationContext.ets) 166 167 * setFont接口实现:通过调用applicationContext.setFont接口,设置应用的字体类型。仅支持主线程调用,设置字体类型,字体可以通过font.registerFont方法进行注册使用; 168 * getRunningProcessInformation(callback)接口实现:通过调用ApplicationContext.getRunningProcessInformation接口,获取有关运行进程的信息; 169 * getRunningProcessInformation(promise)接口实现:通过调用ApplicationContext.getRunningProcessInformation接口,获取有关运行进程的信息; 170 * getCurrentAppCloneIndex接口实现:通过调用ApplicationContext.getCurrentAppCloneIndex接口,获取当前应用的分身索引; 171* errorManager对应接口实现,源码参考[ErrorManager.ets](entry/src/main/ets/abilitypages/ErrorManager.ets) 172 * 注册on(loopObserver类型)接口实现:通过调用errorManager.on 接口,注册监听loopObserver,注册后可以捕获到应用主线程处理消息的具体执行时间,触发onLoopTimeOut,之后注销监听; 173 * 注册on(unhandledRejection类型)接口实现:通过调用errorManager.on接口,注册监听unhandledRejection,注册后可以捕获到当前线程中未被捕获到的promise rejection,模拟unhandledRejection类型错误,触发监听,之后注销监听; 174* UIAbilityContext对应接口实现:源码参考[UIAbilityContext.ets](entry/src/main/ets/abilitypages/UIAbilityContext.ets) 175 * moveAbilityToBackground接口实现:通过调用context.moveAbilityToBackground()接口,将处于前台的Ability移动到后台,调用context.terminateSelf(),停止Ability自身,触发AbilityLifecycleCallback中的生命周期; 176 177### 相关权限 178 179不涉及。 180 181### 依赖 182 183不涉及。 184 185### 约束与限制 186 1871.本示例仅支持标准系统上运行,支持设备:RK3568; 188 1892.本示例为Stage模型,支持API12版本SDK,版本号:5.0.0.31; 190 1913.本示例需要使用DevEco Studio NEXT Developer Beta1 (Build Version: 5.0.3.502, built on July 28, 2024)才可编译运行; 192 193### 下载 194 195```shell 196git init 197git config core.sparsecheckout true 198echo code/BasicFeature/Ability/AbilityRuntime > .git/info/sparse-checkout 199git remote add origin https://gitee.com/openharmony/applications_app_samples.git 200git pull origin master 201``` 202 203 204 205