diff --git a/zh-cn/application-dev/js-reference/Camera.md b/zh-cn/application-dev/js-reference/Camera.md
deleted file mode 100644
index dc649e600906eb3a0f3debd19f68a9140700f57f..0000000000000000000000000000000000000000
--- a/zh-cn/application-dev/js-reference/Camera.md
+++ /dev/null
@@ -1,336 +0,0 @@
-# Camera
-
-- [子组件](#zh-cn_topic_0000001062209279_section172027510456)
-- [属性](#zh-cn_topic_0000001062209279_section153601034618)
-- [样式](#zh-cn_topic_0000001062209279_section1889052254711)
-- [事件](#zh-cn_topic_0000001062209279_section104349151916)
-- [方法](#zh-cn_topic_0000001062209279_section568225514199)
-
-相机组件。一个页面仅支持一个camera组件。
-
-## 子组件
-
-> 不支持
-
-## 属性
-
-
-
-
名称
-
- 类型
-
- 默认值
-
- 必填
-
- 描述
-
-
-
- id
-
- string
-
- -
-
- 否
-
- 组件的唯一标识。
-
-
- style
-
- string
-
- -
-
- 否
-
- 组件的样式声明。
-
-
- class
-
- string
-
- -
-
- 否
-
- 组件的样式类,用于引用样式表。
-
-
- ref
-
- string
-
- -
-
- 否
-
- 用来指定指向子元素 或子组件 的引用信息,该引用将注册到父组件的$refs 属性对象上。
-
-
- data
-
- string
-
- -
-
- 否
-
- 给当前组件设置data属性,进行相应的数据存储和读取。
-
-
-
-
-
-## 样式
-
-
-
- 名称
-
- 类型
-
- 默认值
-
- 必填
-
- 描述
-
-
-
-
- width
-
- <length> | <percentage>
-
- -
-
- 否
-
- 设置组件自身的宽度。
- 缺省时使用元素自身内容需要的宽度。
-
-
- height
-
- <length> | <percentage>
-
- -
-
- 否
-
- 设置组件自身的高度。
- 缺省时使用元素自身内容需要的高度。
-
-
-
-
-
-
-
-## 事件
-
-通用
-
-## 方法
-
-
- 名称
-
- 参数
-
- 描述
-
-
-
-
-takePhoto
-
-CameraTakePhotoOptions
-
-执行拍照
-
-
- startRecord
-
- -
-
- 开始录像
-
-
- closeRecord
-
- CameraRecordOptions
-
- 结束录像
-
-
-
-
-
-CameraTakePhotoOptions
-
-
-
-
-
-quality
-
-
-string
-
-
-图片质量(L3)
-
-
-
-
-success
-
-
-Function
-
-
-接口调用成功,返回uri
-
-
-
-
-fail
-
-
-Function
-
-
-接口调用失败
-
-
-
-
-complete
-
-
-Function
-
-
-接口调用结束
-
-
-
-
-
-CameraRecordOptions
-
-
-
-
-
-success
-
-
-Function
-
-
-接口调用成功,返回uri
-
-
-
-
-fail
-
-
-Function
-
-
-接口调用失败
-
-
-
-
-complete
-
-
-Function
-
-
-接口调用结束
-
-
-
-
-
-## 示例
-
-```
-
-
-
-
-
src: {{src}} photoUri: {{photoUri}}
-
-
-
-
-
-
-
-
-
-//.js
-import router from '@system.router';
-export default {
- data: {
- photoUri: "",
- val: "",
- arr:[],
- size: -1,
- quality:'',
- src:'',
- heights: 600,
- widths:600,
- },
- onInit() {
- },
- startRecord() {
- this.$element('cameraId').startRecorder();
- },
- closeRecord() {
- this.$element('cameraId').closeRecorder(
- {
- success: (res) => {
- this.src = res.uri;
- },
- fail: (res) => {
- this.val = "fail " + res.errormsg + " " + res.errorcode;
- },
- complete : (res) => {
- this.val += " :complete";
- },
- }
- );
- },
- takePhoto() {
- this.$element('cameraId').takePhoto(
- {
- quality: -1,
- success: (res) => {
- this.photoUri = res.uri;
- },
- fail: (res) => {
- this.val = "fail " + res.errormsg + " " + res.errorcode;
- },
- complete : (res) => {
- this.val += " :complete";
- },
- }
- );
- },
-```
-
-}
\ No newline at end of file
diff --git "a/zh-cn/application-dev/js-reference/Image\345\257\271\350\261\241.md" "b/zh-cn/application-dev/js-reference/Image\345\257\271\350\261\241.md"
deleted file mode 100755
index 3cb6d3cc980e72e6e6516de0eedd7f496737ffc9..0000000000000000000000000000000000000000
--- "a/zh-cn/application-dev/js-reference/Image\345\257\271\350\261\241.md"
+++ /dev/null
@@ -1,95 +0,0 @@
-# Image对象
-
-- [属性](#zh-cn_topic_0000001058948927_section1968021961113)
-- [示例](#zh-cn_topic_0000001058948927_section13457717134912)
-
-图片对象。
-
-## 属性
-
-
- 属性
-
- 类型
-
- 默认值
-
- 必填
-
- 描述
-
-
-
- src
-
- string
-
- -
-
- 是
-
- 图片资源的路径。。
-
-
- width
-
- <length>
-
- 0px
-
- 否
-
- 图片的宽度。
-
-
- height
-
- <length>
-
- 0px
-
- 否
-
- 图片的高度。
-
-
- onload
-
- Function
-
- -
-
- 否
-
- 图片加载成功后触发该事件,无参数。
-
-
- onerror
-
- Function
-
- -
-
- 否
-
- 图片加载失败后触发该事件,无参数。
-
-
-
-
-
-## 示例
-
-```
-var ctx = this.$element('drawImage').getContext('2d');
-var img = new Image();
-img.src = 'common/image/huawei.jpg';
-img.onload = function() {
- console.log('Image load success');
- ctx.drawImage(img, 200, 200);
-};
-img.onerror = function() {
- console.log('Image load fail');
-};
-```
-
diff --git "a/zh-cn/application-dev/js-reference/JS\350\257\255\346\263\225\345\217\202\350\200\203.md" "b/zh-cn/application-dev/js-reference/JS\350\257\255\346\263\225\345\217\202\350\200\203.md"
deleted file mode 100755
index a72c6252496d49eb562640893bbee9df6baad367..0000000000000000000000000000000000000000
--- "a/zh-cn/application-dev/js-reference/JS\350\257\255\346\263\225\345\217\202\350\200\203.md"
+++ /dev/null
@@ -1,649 +0,0 @@
-# JS语法参考
-
-- [语法](#zh-cn_topic_0000001058562835_s6ca2e99746664509961f65b82d11ab58)
-- [对象](#zh-cn_topic_0000001058562835_s7493791622a248fbb2e03703149bb3b5)
-- [方法](#zh-cn_topic_0000001058562835_s4e1ff24ec78e41948502d8977d24e44c)
-- [获取DOM元素](#zh-cn_topic_0000001058562835_section1560185062215)
-- [获取ViewModel](#zh-cn_topic_0000001058562835_section13798143717421)
-- [生命周期接口](#zh-cn_topic_0000001058562835_s962b82fb67304ec9a50fb06ffa977560)
-
-JS文件用来定义HML页面的业务逻辑,支持ECMA规范的JavaScript语言。基于JavaScript语言的动态化能力,可以使应用更加富有表现力,具备更加灵活的设计。下面讲述JS文件的编译和运行的支持情况。
-
-## 语法
-
-支持ES6语法。
-
-- 模块声明
-
- 使用import方法引入功能模块:
-
- ```
- import router from '@system.router';
- ```
-
-- 代码引用
-
- 使用import方法导入js代码:
-
- ```
- import utils from '../../common/utils.js';
- ```
-
-
-## 对象
-
-- 应用对象
-
-
- 属性
-
- 类型
-
- 描述
-
-
-
- $def
-
- Object
-
- 使用this.$app.$def获取在app.js中暴露的对象。
-
-
-
-
-
-
- 示例代码
-
- ```
- // app.js
- export default {
- onCreate() {
- console.info('AceApplication onCreate');
- },
- onDestroy() {
- console.info('AceApplication onDestroy');
- },
- globalData: {
- appData: 'appData',
- appVersion: '2.0',
- },
- globalMethod () {
- console.info('This is a global method!');
- this.globalData.appVersion = '3.0';
- }
- };
- ```
-
- ```
- // index.js页面逻辑代码
- export default {
- data: {
- appData: 'localData',
- appVersion:'1.0',
- },
- onInit() {
- this.appData = this.$app.$def.globalData.appData;
- this.appVersion = this.$app.$def.globalData.appVersion;
- },
- invokeGlobalMethod() {
- this.$app.$def.globalMethod();
- },
- getAppVersion() {
- this.appVersion = this.$app.$def.globalData.appVersion;
- }
- }
- ```
-
-- 页面对象
-
-
- 属性
-
- 类型
-
- 描述
-
-
-
- data
-
- Object/Function
-
- 页面的数据模型,类型是对象或者函数,如果类型是函数,返回值必须是对象。属性名不能以$或_开头,不要使用保留字for, if, show, tid。
- data与private和public不能重合使用。
-
-
- $refs
-
- Object
-
- 持有注册过ref 属性的DOM元素或子组件实例的对象。示例见获取DOM元素 。
-
-
- private
-
- Object
-
- 页面的数据模型,private下的数据属性只能由当前页面修改。
-
-
- public
-
- Object
-
- 页面的数据模型,public下的数据属性的行为与data保持一致。
-
-
- props
-
- Array/Object
-
- props用于组件之间的通信,可以通过<tag xxxx='value'>方式传递给组件;props名称必须用小写,不能以$或_开头,不要使用保留字for, if, show, tid。目前props的数据类型不支持Function。示例见自定义组件 。
-
-
- computed
-
- Object
-
- 用于在读取或设置进行预先处理,计算属性的结果会被缓存。计算属性名不能以$或_开头,不要使用保留字。示例见自定义组件 。
-
-
-
-
-
-
-## 方法
-
-- 数据方法
-
-
- 属性
-
- 类型
-
- 参数
-
- 描述
-
-
-
- $set
-
- Function
-
- key: string
- value: any
-
- 添加新的数据属性或者修改已有数据属性。
- 用法:
- this.$set('key',value):添加数据属性。
-
-
- $delete
-
- Function
-
- key: string
-
- 删除数据属性。
- 用法:
- this.$delete('key'):删除数据属性。
-
-
-
-
-
- 示例代码
-
- ```
- export default {
- data: {
- keyMap: {
- OS: 'OpenHarmony',
- Version: '2.0',
- },
- },
- getAppVersion() {
- this.$set('keyMap.Version', '3.0');
- console.info("keyMap.Version = " + this.keyMap.Version); // keyMap.Version = 3.0
-
- this.$delete('keyMap');
- console.info("keyMap.Version = " + this.keyMap); // log print: keyMap.Version = undefined
- }
- }
- ```
-
-- 公共方法
-
-
- 属性
-
- 类型
-
- 参数
-
- 描述
-
-
-
- $element
-
- Function
-
- id: string 组件id
-
- 获得指定id的组件对象,如果无指定id,则返回根组件对象。示例见获取DOM元素 。
- 用法:
- <div id='xxx'></div>
- this.$element('xxx'):获得id为xxx的组件对象。 this.$element():获得根组件对象。
-
-
- $root
-
- Function
-
- 无
-
- 获得顶级ViewModel实例。获取ViewModel 示例。
-
-
- $parent
-
- Function
-
- 无
-
- 获得父级ViewModel实例。获取ViewModel 示例。
-
-
- $child
-
- Function
-
- id: string 组件id
-
- 获得指定id的子级自定义组件的ViewModel实例。获取ViewModel 示例。
- 用法:
- this.$child('xxx') :获取id为xxx的子级自定义组件的ViewModel实例。
-
-
-
-
-
-- 事件方法
-
-
- 属性
-
- 类型
-
- 参数
-
- 描述
-
-
-
- $watch
-
- Function
-
- data: string
- callback: 函数名,回调函数里有两个参数,第一个参数为属性新值,第二个参数为属性旧值
-
- 观察data中的属性变化,如果属性值改变,触发绑定的事件。示例见自定义组件 。
- 用法:
- this.$watch('key', callback)
-
-
-
-
-
-
-## 获取DOM元素
-
-1. 通过$refs获取DOM元素
-
- ```
-
-
-
-
- ```
-
- ```
- // index.js
- export default {
- data: {
- images: [
- { src: '/common/frame1.png' },
- { src: '/common/frame2.png' },
- { src: '/common/frame3.png' },
- ],
- },
- handleClick() {
- const animator = this.$refs.animator; // 获取ref属性为animator的DOM元素
- const state = animator.getState();
- if (state === 'paused') {
- animator.resume();
- } else if (state === 'stopped') {
- animator.start();
- } else {
- animator.pause();
- }
- },
- };
- ```
-
-2. 通过$element 方法获取DOM元素
-
- ```
-
-
-
-
- ```
-
- ```
- // index.js
- export default {
- data: {
- images: [
- { src: '/common/frame1.png' },
- { src: '/common/frame2.png' },
- { src: '/common/frame3.png' },
- ],
- },
- handleClick() {
- const animator = this.$element('animator'); // 获取id属性为animator的DOM元素
- const state = animator.getState();
- if (state === 'paused') {
- animator.resume();
- } else if (state === 'stopped') {
- animator.start();
- } else {
- animator.pause();
- }
- },
- };
- ```
-
-
-## 获取ViewModel
-
-根节点所在页面:
-
-```
-
-
-
-```
-
-```
-// root.js
-export default {
- data: {
- text: 'I am root!',
- },
-}
-```
-
-自定义parent组件:
-
-```
-
-
-
- parent component click
- hello parent component!
-
-
-```
-
-```
-// parent.js
-export default {
- data: {
- show: false,
- text: 'I am parent component!',
- },
- parentClicked () {
- this.show = !this.show;
- console.info('parent component get parent text');
- console.info(`${this.$parent().text}`);
- console.info("parent component get child function");
- console.info(`${this.$child('selfDefineChild').childClicked()}`);
- },
-}
-```
-
-自定义child组件:
-
-```
-
-
- child component clicked
- hello child component
-
-```
-
-```
-// child.js
-export default {
- data: {
- show: false,
- text: 'I am child component!',
- },
- childClicked () {
- this.show = !this.show;
- console.info('child component get parent text');
- console.info('${this.$parent().text}');
- console.info('child component get root text');
- console.info('${this.$root().text}');
- },
-}
-```
-
-## 生命周期接口
-
-- 页面生命周期
-
-
- 属性
-
- 类型
-
- 参数
-
- 返回值
-
- 描述
-
- 触发时机
-
-
-
- onInit
-
- Function
-
- 无
-
- 无
-
- 页面初始化
-
- 页面数据初始化完成时触发,只触发一次。
-
-
- onReady
-
- Function
-
- 无
-
- 无
-
- 页面创建完成
-
- 页面创建完成时触发,只触发一次。
-
-
- onShow
-
- Function
-
- 无
-
- 无
-
- 页面显示
-
- 页面显示时触发。
-
-
- onHide
-
- Function
-
- 无
-
- 无
-
- 页面消失
-
- 页面消失时触发。
-
-
- onDestroy
-
- Function
-
- 无
-
- 无
-
- 页面销毁
-
- 页面销毁时触发。
-
-
- onBackPress
-
- Function
-
- 无
-
- Boolean
-
- 返回按钮动作
-
- 当用户点击返回按钮时触发。
- 返回true表示页面自己处理返回逻辑。 返回false表示使用默认的返回逻辑。 不返回值会作为false处理。
-
-
- onActive() 5+
-
- Function
-
- 无
-
- 无
-
- 页面激活
-
- 页面激活时触发。
-
-
- onInactive() 5+
-
- Function
-
- 无
-
- 无
-
- 页面暂停
-
- 页面暂停时触发。
-
-
- onNewRequest() 5+
-
- Function
-
- 无
-
- 无
-
- FA重新请求
-
- 该回调当FA已经启动时收到新的请求后触发。
-
-
-
-
-
- 页面A的生命周期接口的调用顺序
-
- - 打开页面A:onInit\(\) -\> onReady\(\) -\> onShow\(\) -\> onActive\(\)
- - 在页面A打开页面B:onInactive\(\) -\> onHide\(\)
- - 从页面B返回页面A:onShow\(\) -\> onActive\(\)
- - 退出页面A:onBackPress\(\) -\> onInactive\(\) -\> onHide\(\) -\> onDestroy\(\)
- - 页面隐藏到后台运行:onInactive\(\) -\> onHide\(\)
- - 页面从后台运行恢复到前台:onShow\(\)
-
-- 应用生命周期
-
-
- 属性
-
- 类型
-
- 参数
-
- 返回值
-
- 描述
-
- 触发时机
-
-
-
- onCreate
-
- Function
-
- 无
-
- 无
-
- 应用创建
-
- 当应用创建时调用。
-
-
- onDestroy
-
- Function
-
- 无
-
- 无
-
- 应用退出
-
- 当应用退出时触发。
-
-
-
-
-
-
diff --git a/zh-cn/application-dev/js-reference/Readme-CN.md b/zh-cn/application-dev/js-reference/Readme-CN.md
index 33a5316b4272315712710fd67df268180b4679ad..d0582bf67542644c37a1dd30127f43012ca6fab0 100755
--- a/zh-cn/application-dev/js-reference/Readme-CN.md
+++ b/zh-cn/application-dev/js-reference/Readme-CN.md
@@ -1,109 +1,177 @@
-# JS参考规范
+# JS开发参考
-- [框架说明](框架说明.md)
- - [文件组织](文件组织.md)
- - [js标签配置](js标签配置.md)
- - [app.js](app-js.md)
- - [语法](语法.md)
- - [HML语法参考](HML语法参考.md)
- - [CSS语法参考](CSS语法参考.md)
- - [JS语法参考](JS语法参考.md)
+- [框架说明](js-framework.md)
+ - [文件组织](js-framework-file.md)
+ - [js标签配置](js-framework-js-tag.md)
+ - [app.js](js-framework-js-file.md)
+ - [语法](js-framework-syntax.md)
+ - [HML语法参考](js-framework-syntax-hml.md)
+ - [CSS语法参考](js-framework-syntax-css.md)
+ - [JS语法参考](js-framework-syntax-js.md)
-- [组件](组件.md)
- - [通用](通用.md)
- - [组件方法](组件方法.md)
- - [动画样式](动画样式.md)
- - [渐变样式](渐变样式.md)
- - [转场样式](转场样式.md)
- - [自定义字体样式](自定义字体样式.md)
- - [原子布局](原子布局.md)
+ - [生命周期](js-framework-lifecycle.md)
+ - [资源限定与访问](js-framework-resource-restriction.md)
+ - [多语言支持](js-framework-multiple-languages.md)
- - [容器组件](容器组件.md)
- - [badge](badge.md)
- - [dialog](dialog.md)
- - [div](div.md)
- - [list](list.md)
- - [list-item](list-item.md)
- - [list-item-group](list-item-group.md)
- - [panel](panel.md)
- - [popup](popup.md)
- - [refresh](refresh.md)
- - [stack](stack.md)
- - [stepper](stepper.md)
- - [stepper-item](stepper-item.md)
- - [swiper](swiper.md)
- - [tabs](tabs.md)
- - [tab-bar](tab-bar.md)
- - [tab-content](tab-content.md)
+- [组件](component/js-components.md)
+ - [通用](component/js-components-common.md)
+ - [通用属性](component/js-components-common-attributes.md)
+ - [通用样式](component/js-components-common-styles.md)
+ - [通用事件](component/js-components-common-events.md)
+ - [通用方法](component/js-components-common-methods.md)
+ - [动画样式](component/js-components-common-animation.md)
+ - [渐变样式](component/js-components-common-gradient.md)
+ - [转场样式](component/js-components-common-transition.md)
+ - [媒体查询](component/js-components-common-mediaquery.md)
+ - [自定义字体样式](component/js-components-common-customizing-font.md)
+ - [原子布局](component/js-components-common-atomic-layout.md)
- - [基础组件](基础组件.md)
- - [button](button.md)
- - [chart](chart.md)
- - [divider](divider.md)
- - [image](image.md)
- - [image-animator](image-animator.md)
- - [input](input.md)
- - [label](label.md)
- - [marquee](marquee.md)
- - [menu](menu.md)
- - [option](option.md)
- - [picker](picker.md)
- - [picker-view](picker-view.md)
- - [piece](piece.md)
- - [progress](progress.md)
- - [qrcode](qrcode.md)
- - [rating](rating.md)
- - [select](select.md)
- - [slider](slider.md)
- - [span](span.md)
- - [switch](switch.md)
- - [text](text.md)
- - [toolbar](toolbar.md)
- - [toolbar-item](toolbar-item.md)
- - [toggle](toggle.md)
+ - [容器组件](component/js-components-container.md)
+ - [badge](component/js-components-container-badge.md)
+ - [dialog](component/js-components-container-dialog.md)
+ - [div](component/js-components-container-div.md)
+ - [form](component/js-components-container-form.md)
+ - [list](component/js-components-container-list.md)
+ - [list-item](component/js-components-container-list-item.md)
+ - [list-item-group](component/js-components-container-list-item-group.md)
+ - [panel](component/js-components-container-panel.md)
+ - [popup](component/js-components-container-popup.md)
+ - [refresh](component/js-components-container-refresh.md)
+ - [stack](component/js-components-container-stack.md)
+ - [stepper](component/js-components-container-stepper.md)
+ - [stepper-item](component/js-components-container-stepper-item.md)
+ - [swiper](component/js-components-container-swiper.md)
+ - [tabs](component/js-components-container-tabs.md)
+ - [tab-bar](component/js-components-container-tab-bar.md)
+ - [tab-content](component/js-components-container-tab-content.md)
- - [媒体组件](媒体组件.md)
- - [Camera](Camera.md)
+ - [基础组件](component/js-components-basic.md)
+ - [button](component/js-components-basic-button.md)
+ - [chart](component/js-components-basic-chart.md)
+ - [divider](component/js-components-basic-divider.md)
+ - [image](component/js-components-basic-image.md)
+ - [image-animator](component/js-components-basic-image-animator.md)
+ - [input](component/js-components-basic-input.md)
+ - [label](component/js-components-basic-label.md)
+ - [marquee](component/js-components-basic-marquee.md)
+ - [menu](component/js-components-basic-menu.md)
+ - [option](component/js-components-basic-option.md)
+ - [picker](component/js-components-basic-picker.md)
+ - [picker-view](component/js-components-basic-picker-view.md)
+ - [piece](component/js-components-basic-piece.md)
+ - [progress](component/js-components-basic-progress.md)
+ - [qrcode](component/js-components-basic-qrcode.md)
+ - [rating](component/js-components-basic-rating.md)
+ - [richtext](component/js-components-basic-richtext.md)
+ - [search](component/js-components-basic-search.md)
+ - [select](component/js-components-basic-select.md)
+ - [slider](component/js-components-basic-slider.md)
+ - [span](component/js-components-basic-span.md)
+ - [switch](component/js-components-basic-switch.md)
+ - [text](component/js-components-basic-text.md)
+ - [textarea](component/js-components-basic-textarea.md)
+ - [toolbar](component/js-components-basic-toolbar.md)
+ - [toolbar-item](component/js-components-basic-toolbar-item.md)
+ - [toggle](component/js-components-basic-toggle.md)
- - [画布组件](画布组件.md)
- - [canvas组件](canvas组件.md)
- - [CanvasRenderingContext2D对象](CanvasRenderingContext2D对象.md)
- - [Image对象](Image对象.md)
- - [CanvasGradient对象](CanvasGradient对象.md)
- - [ImageData对象](ImageData对象.md)
+ - [媒体组件](component/js-components-media.md)
+ - [video](component/js-components-media-video.md)
- - [栅格组件](栅格组件.md)
- - [基本概念](基本概念.md)
- - [grid-container](grid-container.md)
- - [grid-row](grid-row.md)
- - [grid-col](grid-col.md)
+ - [画布组件](component/js-components-canvas.md)
+ - [canvas组件](component/js-components-canvas-canvas.md)
+ - [CanvasRenderingContext2D对象](component/js-components-canvas-canvasrenderingcontext2d.md)
+ - [Image对象](component/js-components-canvas-image.md)
+ - [CanvasGradient对象](component/js-components-canvas-canvasgradient.md)
+ - [ImageData对象](component/js-components-canvas-imagedata.md)
+ - [Path2D对象](component/js-components-canvas-path2d.md)
+ - [ImageBitmap对象](component/js-components-canvas-imagebitmap.md)
+ - [OffscreenCanvas对象](component/js-components-canvas-offscreencanvas.md)
+ - [OffscreenCanvasRenderingContext2D对象](component/js-components-canvas-offscreencanvasrenderingcontext2d.md)
-- [自定义组件](自定义组件.md)
- - [基本用法](基本用法.md)
- - [自定义事件](自定义事件.md)
- - [Props](Props.md)
- - [事件参数](事件参数.md)
+ - [栅格组件](component/js-components-grid.md)
+ - [基本概念](component/js-components-grid-basic-concepts.md)
+ - [grid-container](component/js-components-grid-container.md)
+ - [grid-row](component/js-components-grid-row.md)
+ - [grid-col](component/js-components-grid-col.md)
-- [组件通用说明](组件通用说明.md)
- - [通用事件](通用事件.md)
- - [通用属性](通用属性.md)
- - [通用样式](通用样式.md)
+ - [svg组件](component/js-svg.md)
+ - [通用属性](component/js-components-svg-common-attributes.md)
+ - [svg](component/js-components-svg.md)
+ - [rect](component/js-components-svg-rect.md)
+ - [circle](component/js-components-svg-circle.md)
+ - [ellipse](component/js-components-svg-ellipse.md)
+ - [path](component/js-components-svg-path.md)
+ - [line](component/js-components-svg-line.md)
+ - [polyline](component/js-components-svg-polyline.md)
+ - [polygon](component/js-components-svg-polygon.md)
+ - [text](component/js-components-svg-text.md)
+ - [tspan](component/js-components-svg-tspan.md)
+ - [textPath](component/js-components-svg-textpath.md)
+ - [animate](component/js-components-svg-animate.md)
+ - [animateMotion](component/js-components-svg-animate-motion.md)
+ - [animateTransform](component/js-components-svg-animate-transform.md)
+
+- [自定义组件](component/js-components-custom.md)
+ - [基本用法](component/js-components-custom-basic-usage.md)
+ - [自定义事件](component/js-components-custom-events.md)
+ - [Props](component/js-components-custom-props.md)
+ - [事件参数](component/js-components-custom-event-parameter.md)
+ - [slot插槽](component/js-components-custom-slot.md)
+ - [生命周期定义](component/js-components-custom-lifecycle.md)
+
+- [接口](apis/js-apis.md)
+ - [Ability框架](apis/js-apis-ability.md)
+ - [FeatureAbility模块](apis/js-apis-featureAbility.md)
+ - [ParticleAbility模块](apis/js-apis-particleAbility.md)
+ - [DataAbilityHelper模块](apis/js-apis-dataAbilityHelper.md)
+ - [DataUriUtils模块](apis/js-apis-DataUriUtils.md)
+ - [Bundle模块](apis/js-apis-Bundle.md)
+ - [CommonEvent模块](apis/js-apis-commonEvent.md)
+ - [Notification模块](apis/js-apis-notification.md)
+ - [Context模块](apis/js-apis-Context.md)
+ - [基本功能](apis/js-apis-basic-features.md)
+ - [应用上下文](apis/js-apis-system-app.md)
+ - [日志打印](apis/js-apis-basic-features-logs.md)
+ - [页面路由](apis/js-apis-system-router.md)
+ - [弹窗](apis/js-apis-system-prompt.md)
+ - [应用配置](apis/js-apis-system-configuration.md)
+ - [定时器](apis/js-apis-system-timer.md)
+ - [动画](apis/js-apis-animator.md)
+ - [应用打点](apis/js-apis-hiappevent.md)
+ - [性能打点](apis/js-apis-bytrace.md)
+ - [分布式帐号管理](apis/js-apis-distributedaccount.md)
+
+ - [媒体](apis/js-apis-multmedia.md)
+ - [音频管理](apis/js-apis-audio.md)
+ - [音频播放](apis/js-apis-media.md)
+
+ - [数据管理](apis/js-apis-data.md)
+ - [文件管理](apis/js-apis-fileio.md)
+ - [单版本分布式数据库](apis/js-apis-data-singlekvstore.md)
+ - [创建和获取分布式数据库](apis/js-apis-data-kvmanager.md)
+ - [KVManager配置信息](apis/js-apis-data-kvmanager-config.md)
+ - [分布式数据库操作描述](apis/js-apis-data-kvstore.md)
+ - [数据类型描述](apis/js-apis-data-type.md)
+ - [轻量级存储](apis/js-apis-data-storage.md)
+
+ - [设备管理](apis/js-apis-device-mgmt.md)
+ - [设备信息](apis/js-apis-deviceinfo.md)
+ - [系统属性](apis/js-apis-systemparameter.md)
+ - [系统恢复](apis/js-apis-update.md)
+ - [显示设备属性](apis/js-apis-display.md)
+ - [电池和充电属性](apis/js-apis-batteryinfo.md)
+ - [设置系统屏幕亮度](apis/js-apis-brightness.md)
+ - [系统电源管理](apis/js-apis-power.md)
+ - [Runninglock锁](apis/js-apis-runninglock.md)
+ - [传感器](apis/js-apis-sensor.md)
+ - [振动](apis/js-apis-vibrate.md)
+ - [国际化(I18n)](apis/js-apis-i18n.md)
+ - [国际化(Intl)](apis/js-apis-intl.md)
+ - [资源管理](apis/js-apis-resourcemanage.md)
+ - [时间设置](apis/js-apis-systemtime.md)
+ - [升级](apis/js-apis-libupdateclient.md)
+ - [获取进程相关的信息](apis/js-apis-process.md)
+ - [字符串编解码](apis/js-apis-util.md)
+ - [启动一个worker](apis/js-apis-worker.md)
+ - [URL字符串解析](apis/js-apis-url.md)
-- [接口](接口.md)
- - [日志打印](日志打印.md)
- - [应用打点](应用打点.md)
- - [页面路由](页面路由.md)
- - [弹窗](弹窗.md)
- - [定时器](定时器.md)
- - [时间设置](时间设置.md)
- - [音频管理](音频管理.md)
- - [音频播放](音频播放.md)
- - [设备信息](设备信息.md)
- - [系统属性](系统属性.md)
- - [电池和充电属性](电池和充电属性.md)
- - [设置系统屏幕亮度](设置系统屏幕亮度.md)
- - [国际化](国际化.md)
- - [资源管理](资源管理.md)
- - [升级](升级.md)
- - [文件管理](文件管理.md)
- - [文件存储](文件存储.md)
\ No newline at end of file
diff --git "a/zh-cn/application-dev/js-reference/figures/\346\211\223\345\215\260\346\227\245\345\277\227.png" "b/zh-cn/application-dev/js-reference/apis/figures/\346\211\223\345\215\260\346\227\245\345\277\227.png"
old mode 100755
new mode 100644
similarity index 100%
rename from "zh-cn/application-dev/js-reference/figures/\346\211\223\345\215\260\346\227\245\345\277\227.png"
rename to "zh-cn/application-dev/js-reference/apis/figures/\346\211\223\345\215\260\346\227\245\345\277\227.png"
diff --git a/zh-cn/application-dev/js-reference/Bundle.md b/zh-cn/application-dev/js-reference/apis/js-apis-Bundle.md
similarity index 97%
rename from zh-cn/application-dev/js-reference/Bundle.md
rename to zh-cn/application-dev/js-reference/apis/js-apis-Bundle.md
index 38df3d405d6913577b659dd140ee0a72c8b533ce..c671755ff0d8f13824eb059b1c40610c8faf041b 100644
--- a/zh-cn/application-dev/js-reference/Bundle.md
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-Bundle.md
@@ -1,1328 +1,1328 @@
-### Bundle模块(JS端SDK接口)
-
-#### 支持设备
-
-| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 |
-| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ |
-| Bundle.getApplicationInfo(bundleName: string, bundleFlags: number, userId: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getAllBundleInfo(bundlelFlag: BundleFlag) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getAllBundleInfo(bundlelFlag: BundleFlag, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getBundleInfo(bundleName: string, bundleFlags: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getAllApplicationInfo(bundleFlags: number, userId: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.queryAbilityByWant(want: Want, bundleFlags: number, userId: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getPermissionDef(permissionName: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getPermissionDef(permissionName: string, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getBundleArchiveInfo(hapFilePath: string, flags: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getBundleArchiveInfo(hapFilePath: string, flags: number, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getBundleInstaller().install(bundleFilePaths: Array, param: InstallParam, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getBundleInstaller().uninstall(bundleName: string, param: InstallParam, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getAllShortcutInfo(bundleName: string): Promise> | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Bundle.getAllShortcutInfo(bundleName: string, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| getModuleUsageRecords(maxNum: number): Promise> | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| getModuleUsageRecords(maxNum: number, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| checkPermission(bundleName: string, permission: string): Promise | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| checkPermission(bundleName: string, permission: string, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-
-#### 权限列表
-
--
-
-#### 导入模块
-
-```
-import bundle from '@ohos.bundle';
-```
-
-
-
-#### getApplicationInfo(bundleName: string, bundleFlags: number, userId: number)
-
-* 功能说明
-
- 根据给定的bundle名称获取ApplicationInfo
-
-* getApplicationInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | ------ | ---- | ------------------------------------------------------- |
- | bundleName | 只读 | string | 是 | 应用名 |
- | bundleFlags | 只读 | number | 是 | 0:返回默认app信息< 8:返回包含permissions的app信息 |
- | userId | 只读 | number | 是 | 用户ID |
-
-* 返回值
-
- Promise:返回值为Promise对象,Promise中包含应用信息。
-
-* 示例
-
-```
-bundle.getApplicationInfo('com.example.myapplicationInstall', 8, 0).then((data) => {
- console.info("name: for begin");
- console.info("name:" + data.name);
- console.info("bundleName:" + data.bundleName);
- console.info("description:" + data.description);
- console.info("descriptionId:" + data.descriptionId);
- console.info("iconPath:" + data.iconPath);
- console.info("iconId:" + data.iconId);
- console.info("label:" + data.label);
- console.info("labelId:" + data.labelId);
- console.info("deviceId:" + data.deviceId);
- console.info("signatureKey:" + data.signatureKey);
- console.info("process:" + data.process);
- console.info("isSystemApp:" + data.isSystemApp);
- console.info("isLauncherApp:" + data.isLauncherApp);
- console.info("supportedModes:" + data.supportedModes);
-
- console.info('getApplicationInfo permissions length [' + data.permissions.length + ']');
- for (var j = 0; j < data.permissions.length; j++) {
- console.info("permissions[" + j + "]:" + data.permissions[j]);
- }
- console.info('getApplicationInfo moduleSourceDirs length [' + data.moduleSourceDirs.length + ']');
- for (var j = 0; j < data.moduleSourceDirs.length; j++) {
- console.info("moduleSourceDirs[" + j + "]:" + data.moduleSourceDirs[j]);
- }
- console.info('getApplicationInfo moduleInfos length [' + data.moduleInfos.length + ']');
- for (var j = 0; j < data.moduleInfos.length; j++) {
- console.info("moduleInfos[" + j + "]moduleName:" + data.moduleInfos[j].moduleName);
- console.info("moduleInfos[" + j + "]moduleSourceDir:" + data.moduleInfos[j].moduleSourceDir);
- }
- console.info("entryDir:" + data.entryDir);
- console.info("codePath:" + data.codePath);
- console.info("dataDir:" + data.dataDir);
- console.info("dataBaseDir:" + data.dataBaseDir);
- console.info("cacheDir:" + data.cacheDir);
-})
-```
-
-
-
-#### getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback)
-
-* 功能说明
-
- 根据给定的bundle名称获取ApplicationInfo
-
-* getApplicationInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | ------------------------------ | ---- | ------------------------------------------------------- |
- | bundleName | 只读 | string | 是 | 应用名 |
- | bundleFlags | 只读 | number | 是 | 0:返回默认app信息< 8:返回包含permissions的app信息 |
- | userId | 只读 | number | 是 | 用户ID |
- | callback | 只读 | AsyncCallback | 是 | 回调方法 |
-
-* 返回值
-
- void
-
-* 示例
-
-```
-bundle.getApplicationInfo('com.example.myapplicationInstall', 8, 0, OnReceiveEvent);
-
-function OnReceiveEvent(err, data) {
- console.info("name: for begin");
- console.info("name:" + data.name);
- console.info("bundleName:" + data.bundleName);
- console.info("description:" + data.description);
- console.info("descriptionId:" + data.descriptionId);
- console.info("iconPath:" + data.iconPath);
- console.info("iconId:" + data.iconId);
- console.info("label:" + data.label);
- console.info("labelId:" + data.labelId);
- console.info("deviceId:" + data.deviceId);
- console.info("signatureKey:" + data.signatureKey);
- console.info("process:" + data.process);
- console.info("isSystemApp:" + data.isSystemApp);
- console.info("isLauncherApp:" + data.isLauncherApp);
- console.info("supportedModes:" + data.supportedModes);
-
- console.info('getApplicationInfo permissions length [' + data.permissions.length + ']');
- for (var j = 0; j < data.permissions.length; j++) {
- console.info("permissions[" + j + "]:" + data.permissions[j]);
- }
- console.info('getApplicationInfo moduleSourceDirs length [' + data.moduleSourceDirs.length + ']');
- for (var j = 0; j < data.moduleSourceDirs.length; j++) {
- console.info("moduleSourceDirs[" + j + "]:" + data.moduleSourceDirs[j]);
- }
- console.info('getApplicationInfo moduleInfos length [' + data.moduleInfos.length + ']');
- for (var j = 0; j < data.moduleInfos.length; j++) {
- console.info("moduleInfos[" + j + "]moduleName:" + data.moduleInfos[j].moduleName);
- console.info("moduleInfos[" + j + "]moduleSourceDir:" + data.moduleInfos[j].moduleSourceDir);
- }
- console.info("entryDir:" + data.entryDir);
- console.info("codePath:" + data.codePath);
- console.info("dataDir:" + data.dataDir);
- console.info("dataBaseDir:" + data.dataBaseDir);
- console.info("cacheDir:" + data.cacheDir);
-}
-```
-
-
-
-#### getAllBundleInfo(bundleFlag: BundleFlag)
-
-* 功能说明
-
- 获取系统中所有可用的包信息
-
-* getAllBundleInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---------- | -------- | ---------- | ---- | ----------------------------------------------------------- |
- | bundleFlag | 只读 | BundleFlag | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
-
-* 返回值
-
- Promise>:返回值为Promise对象,Promise中包含包信息列表。
-
-* 示例
-
-```
-bundle.getAllBundleInfo(0).then((data) => {
- for (var i = 0; i < data.length; i++) {
- console.info("index[" + i + "].name: for begin");
- console.info("index[" + i + "].name:" + data[i].name);
- console.info("index[" + i + "].label:" + data[i].label);
- console.info("index[" + i + "].description:" + data[i].description);
- console.info("index[" + i + "].vendor:" + data[i].vendor);
- console.info("index[" + i + "].versionCode:" + data[i].versionCode);
- console.info("index[" + i + "].versionName:" + data[i].versionName);
- console.info("index[" + i + "].jointUserId:" + data[i].jointUserId);
- console.info("index[" + i + "].minSdkVersion:" + data[i].minSdkVersion);
- console.info("index[" + i + "].maxSdkVersion:" + data[i].maxSdkVersion);
- console.info("index[" + i + "].mainEntry:" + data[i].mainEntry);
- console.info("index[" + i + "].cpuAbi:" + data[i].cpuAbi);
- console.info("index[" + i + "].appId:" + data[i].appId);
- console.info("index[" + i + "].compatibleVersion:" + data[i].compatibleVersion);
- console.info("index[" + i + "].targetVersion:" + data[i].targetVersion);
- console.info("index[" + i + "].releaseType:" + data[i].releaseType);
- console.info("index[" + i + "].uid:" + data[i].uid);
- console.info("index[" + i + "].gid:" + data[i].gid);
- console.info("index[" + i + "].seInfo:" + data[i].seInfo);
- console.info("index[" + i + "].entryModuleName:" + data[i].entryModuleName);
- console.info("index[" + i + "].isKeepAlive:" + data[i].isKeepAlive);
- console.info("index[" + i + "].isNativeApp:" + data[i].isNativeApp);
- console.info("index[" + i + "].installTime:" + data[i].installTime);
- console.info("index[" + i + "].updateTime:" + data[i].updateTime);
- console.info("index[" + i + "].appInfo.name:" + data[i].applicationInfo.name);
- console.info("index[" + i + "].appInfo.bundleName:" + data[i].applicationInfo.bundleName);
- console.info('getAllBundleInfo reqPermissions length [' + data[i].reqPermissions.length + ']');
- for (var j = 0; j < data[i].reqPermissions.length; j++) {
- console.info("index[" + i + "]reqPermissions[" + j + "]:" + data[i].reqPermissions[j]);
- }
- console.info('getAllBundleInfo defPermissions length [' + data[i].defPermissions.length + ']');
- for (var j = 0; j < data[i].defPermissions.length; j++) {
- console.info("index[" + i + "]defPermissions[" + j + "]:" + data[i].defPermissions[j]);
- }
-
- console.info('getAllBundleInfo hapModuleNames length [' + data[i].hapModuleNames.length + ']');
- for (var j = 0; j < data[i].hapModuleNames.length; j++) {
- console.info("index[" + i + "]hapModuleNames[" + j + "]:" + data[i].hapModuleNames[j]);
- }
- console.info('getAllBundleInfo moduleNames length [' + data[i].moduleNames.length + ']');
- for (var j = 0; j < data[i].moduleNames.length; j++) {
- console.info("index[" + i + "]moduleNames[" + j + "]:" + data[i].moduleNames[j]);
- }
- console.info('getAllBundleInfo modulePublicDirs length [' + data[i].modulePublicDirs.length + ']');
- for (var j = 0; j < data[i].modulePublicDirs.length; j++) {
- console.info("index[" + i + "]modulePublicDirs[" + j + "]:" + data[i].modulePublicDirs[j]);
- }
- console.info('getAllBundleInfo moduleDirs length [' + data[i].moduleDirs.length + ']');
- for (var j = 0; j < data[i].moduleDirs.length; j++) {
- console.info("index[" + i + "]moduleDirs[" + j + "]:" + data[i].moduleDirs[j]);
- }
- console.info('getAllBundleInfo moduleResPaths length [' + data[i].moduleResPaths.length + ']');
- for (var j = 0; j < data[i].moduleResPaths.length; j++) {
- console.info("index[" + i + "]moduleResPaths[" + j + "]:" + data[i].moduleResPaths[j]);
- }
- console.info('getAllBundleInfo abilityInfo length [' + data[i].abilityInfos.length + ']');
- for (var j = 0; j < data[i].abilityInfos.length; j++) {
- console.info("index[" + i + "]abilityInfos[" + j + "]name:" + data[i].abilityInfos[j].name);
- console.info("index[" + i + "]abilityInfos[" + j + "]package:" + data[i].abilityInfos[j].package);
- }
- }
-})
-```
-
-
-
-#### getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback>)
-
-* 功能说明
-
- 获取系统中所有可用的包信息
-
-* getAllBundleInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---------- | -------- | -------------------------------- | ---- | ------------------------------------------------------------ |
- | bundleFlag | 只读 | BundleFlag | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
- | callback | 只读 | AsyncCallback> | 是 | 回调方法 |
-
-* 返回值
-
- void
-
-* 示例
-
-```
-bundle.getAllBundleInfo(0, OnReceiveEvent);
-
-function OnReceiveEvent(err, data) {
- console.info('xxx getAllBundleInfo data length [' + data.length + ']');
- for (var i = 0; i < data.length; i++) {
- console.info("index[" + i + "].name: for begin");
- console.info("index[" + i + "].name:" + data[i].name);
- console.info("index[" + i + "].label:" + data[i].label);
- console.info("index[" + i + "].description:" + data[i].description);
- console.info("index[" + i + "].vendor:" + data[i].vendor);
- console.info("index[" + i + "].versionCode:" + data[i].versionCode);
- console.info("index[" + i + "].versionName:" + data[i].versionName);
- console.info("index[" + i + "].jointUserId:" + data[i].jointUserId);
- console.info("index[" + i + "].minSdkVersion:" + data[i].minSdkVersion);
- console.info("index[" + i + "].maxSdkVersion:" + data[i].maxSdkVersion);
- console.info("index[" + i + "].mainEntry:" + data[i].mainEntry);
- console.info("index[" + i + "].cpuAbi:" + data[i].cpuAbi);
- console.info("index[" + i + "].appId:" + data[i].appId);
- console.info("index[" + i + "].compatibleVersion:" + data[i].compatibleVersion);
- console.info("index[" + i + "].targetVersion:" + data[i].targetVersion);
- console.info("index[" + i + "].releaseType:" + data[i].releaseType);
- console.info("index[" + i + "].uid:" + data[i].uid);
- console.info("index[" + i + "].gid:" + data[i].gid);
- console.info("index[" + i + "].seInfo:" + data[i].seInfo);
- console.info("index[" + i + "].entryModuleName:" + data[i].entryModuleName);
- console.info("index[" + i + "].isKeepAlive:" + data[i].isKeepAlive);
- console.info("index[" + i + "].isNativeApp:" + data[i].isNativeApp);
- console.info("index[" + i + "].installTime:" + data[i].installTime);
- console.info("index[" + i + "].updateTime:" + data[i].updateTime);
- console.info("index[" + i + "].appInfo.name:" + data[i].applicationInfo.name);
- console.info("index[" + i + "].appInfo.bundleName:" + data[i].applicationInfo.bundleName);
- console.info('getAllBundleInfo reqPermissions length [' + data[i].reqPermissions.length + ']');
- for (var j = 0; j < data[i].reqPermissions.length; j++) {
- console.info("index[" + i + "]reqPermissions[" + j + "]:" + data[i].reqPermissions[j]);
- }
- console.info('getAllBundleInfo defPermissions length [' + data[i].defPermissions.length + ']');
- for (var j = 0; j < data[i].defPermissions.length; j++) {
- console.info("index[" + i + "]defPermissions[" + j + "]:" + data[i].defPermissions[j]);
- }
-
- console.info('getAllBundleInfo hapModuleNames length [' + data[i].hapModuleNames.length + ']');
- for (var j = 0; j < data[i].hapModuleNames.length; j++) {
- console.info("index[" + i + "]hapModuleNames[" + j + "]:" + data[i].hapModuleNames[j]);
- }
- console.info('getAllBundleInfo moduleNames length [' + data[i].moduleNames.length + ']');
- for (var j = 0; j < data[i].moduleNames.length; j++) {
- console.info("index[" + i + "]moduleNames[" + j + "]:" + data[i].moduleNames[j]);
- }
- console.info('getAllBundleInfo modulePublicDirs length [' + data[i].modulePublicDirs.length + ']');
- for (var j = 0; j < data[i].modulePublicDirs.length; j++) {
- console.info("index[" + i + "]modulePublicDirs[" + j + "]:" + data[i].modulePublicDirs[j]);
- }
- console.info('getAllBundleInfo moduleDirs length [' + data[i].moduleDirs.length + ']');
- for (var j = 0; j < data[i].moduleDirs.length; j++) {
- console.info("index[" + i + "]moduleDirs[" + j + "]:" + data[i].moduleDirs[j]);
- }
- console.info('getAllBundleInfo moduleResPaths length [' + data[i].moduleResPaths.length + ']');
- for (var j = 0; j < data[i].moduleResPaths.length; j++) {
- console.info("index[" + i + "]moduleResPaths[" + j + "]:" + data[i].moduleResPaths[j]);
- }
- console.info('getAllBundleInfo abilityInfo length [' + data[i].abilityInfos.length + ']');
- for (var j = 0; j < data[i].abilityInfos.length; j++) {
- console.info("index[" + i + "]abilityInfos[" + j + "]name:" + data[i].abilityInfos[j].name);
- console.info("index[" + i + "]abilityInfos[" + j + "]package:" + data[i].abilityInfos[j].package);
- }
- }
-}
-```
-
-
-
-#### getBundleInfo(bundleName: string, bundleFlags: number)
-
-* 功能说明
-
- 根据bundle名称获取BundleInfo
-
-* getBundleInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
- | bundleName | 只读 | string | 是 | 包名 |
- | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
-
-* 返回值
-
- Promise:返回值为Promise对象,Promise中包含包信息。
-
-* 示例
-
-```
-bundle.getBundleInfo('com.example.myapplicationInstall', 1).then((data) => {
- console.info("name:" + data.name);
- console.info("label:" + data.label);
- console.info("description:" + data.description);
- console.info("vendor:" + data.vendor);
- console.info("versionCode:" + data.versionCode);
- console.info("versionName:" + data.versionName);
- console.info("jointUserId:" + data.jointUserId);
- console.info("minSdkVersion:" + data.minSdkVersion);
- console.info("maxSdkVersion:" + data.maxSdkVersion);
- console.info("mainEntry:" + data.mainEntry);
- console.info("cpuAbi:" + data.cpuAbi);
- console.info("appId:" + data.appId);
- console.info("compatibleVersion:" + data.compatibleVersion);
- console.info("targetVersion:" + data.targetVersion);
- console.info("releaseType:" + data.releaseType);
- console.info("uid:" + data.uid);
- console.info("gid:" + data.gid);
- console.info("seInfo:" + data.seInfo);
- console.info("entryModuleName:" + data.entryModuleName);
- console.info("isKeepAlive:" + data.isKeepAlive);
- console.info("isNativeApp:" + data.isNativeApp);
- console.info("installTime:" + data.installTime);
- console.info("updateTime:" + data.updateTime);
- console.info("appInfo.name:" + data.applicationInfo.name);
- console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
- console.info('getBundleInfo reqPermissions length [' + data.reqPermissions.length + ']');
- for (var j = 0; j < data.reqPermissions.length; j++) {
- console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
- }
- console.info('getBundleInfo defPermissions length [' + data.defPermissions.length + ']');
- for (var j = 0; j < data.defPermissions.length; j++) {
- console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
- }
-
- console.info('getBundleInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
- for (var j = 0; j < data.hapModuleNames.length; j++) {
- console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
- }
- console.info('getBundleInfo moduleNames length [' + data.moduleNames.length + ']');
- for (var j = 0; j < data.moduleNames.length; j++) {
- console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
- }
- console.info('getBundleInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
- for (var j = 0; j < data.modulePublicDirs.length; j++) {
- console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
- }
- console.info('getBundleInfo moduleDirs length [' + data.moduleDirs.length + ']');
- for (var j = 0; j < data.moduleDirs.length; j++) {
- console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
- }
- console.info('getBundleInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
- for (var j = 0; j < data.moduleResPaths.length; j++) {
- console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
- }
- console.info('getBundleInfo abilityInfo length [' + data.abilityInfos.length + ']');
- for (var j = 0; j < data.abilityInfos.length; j++) {
- console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
- console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
- }
-})
-```
-
-
-
-#### getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback)
-
-* 功能说明
-
- 根据bundle名称获取BundleInfo
-
-* getBundleInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | ------------------------- | ---- | ------------------------------------------------------------ |
- | bundleName | 只读 | string | 是 | 包名 |
- | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
- | callback | 只读 | AsyncCallback | 是 | 回调方法 |
-
-* 返回值
-
- void
-
-* 示例
-
-```
-bundle.getBundleInfo('com.example.myapplicationInstall', 1, OnReceiveEvent);
-
-function OnReceiveEvent(err, data) {
- console.info("name:" + data.name);
- console.info("label:" + data.label);
- console.info("description:" + data.description);
- console.info("vendor:" + data.vendor);
- console.info("versionCode:" + data.versionCode);
- console.info("versionName:" + data.versionName);
- console.info("jointUserId:" + data.jointUserId);
- console.info("minSdkVersion:" + data.minSdkVersion);
- console.info("maxSdkVersion:" + data.maxSdkVersion);
- console.info("mainEntry:" + data.mainEntry);
- console.info("cpuAbi:" + data.cpuAbi);
- console.info("appId:" + data.appId);
- console.info("compatibleVersion:" + data.compatibleVersion);
- console.info("targetVersion:" + data.targetVersion);
- console.info("releaseType:" + data.releaseType);
- console.info("uid:" + data.uid);
- console.info("gid:" + data.gid);
- console.info("seInfo:" + data.seInfo);
- console.info("entryModuleName:" + data.entryModuleName);
- console.info("isKeepAlive:" + data.isKeepAlive);
- console.info("isNativeApp:" + data.isNativeApp);
- console.info("installTime:" + data.installTime);
- console.info("updateTime:" + data.updateTime);
- console.info("appInfo.name:" + data.applicationInfo.name);
- console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
- console.info('getBundleInfo reqPermissions length [' + data.reqPermissions.length + ']');
- for (var j = 0; j < data.reqPermissions.length; j++) {
- console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
- }
- console.info('getBundleInfo defPermissions length [' + data.defPermissions.length + ']');
- for (var j = 0; j < data.defPermissions.length; j++) {
- console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
- }
-
- console.info('getBundleInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
- for (var j = 0; j < data.hapModuleNames.length; j++) {
- console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
- }
- console.info('getBundleInfo moduleNames length [' + data.moduleNames.length + ']');
- for (var j = 0; j < data.moduleNames.length; j++) {
- console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
- }
- console.info('getBundleInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
- for (var j = 0; j < data.modulePublicDirs.length; j++) {
- console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
- }
- console.info('getBundleInfo moduleDirs length [' + data.moduleDirs.length + ']');
- for (var j = 0; j < data.moduleDirs.length; j++) {
- console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
- }
- console.info('getBundleInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
- for (var j = 0; j < data.moduleResPaths.length; j++) {
- console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
- }
- console.info('getBundleInfo abilityInfo length [' + data.abilityInfos.length + ']');
- for (var j = 0; j < data.abilityInfos.length; j++) {
- console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
- console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
- }
-}
-```
-
-
-
-#### getAllApplicationInfo(bundleFlags: number, userId: number)
-
-* 功能说明
-
- 获取指定用户下所有已安装的应用信息
-
-* getAllApplicationInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | ------ | ---- | ------------------------------------------------------- |
- | bundleFlags | 只读 | number | 是 | 0:返回默认app信息< 8:返回包含permissions的app信息 |
- | userId | 只读 | number | 是 | 用户ID |
-
-* 返回值
-
- Promise>:返回值为Promise对象,Promise中包含应用信息列表。
-
-* 示例
-
-```
-bundle.getAllApplicationInfo(8, 0).then((data) => {
- console.info('xxx getAllApplicationInfo data length [' + data.length + ']');
- for (var i = 0; i < data.length; i++) {
- console.info("index[" + i + "].name: for begin");
- console.info("index[" + i + "].name:" + data[i].name);
- console.info("index[" + i + "].bundleName:" + data[i].bundleName);
- console.info("index[" + i + "].description:" + data[i].description);
- console.info("index[" + i + "].descriptionId:" + data[i].descriptionId);
- console.info("index[" + i + "].iconPath:" + data[i].iconPath);
- console.info("index[" + i + "].iconId:" + data[i].iconId);
- console.info("index[" + i + "].label:" + data[i].label);
- console.info("index[" + i + "].labelId:" + data[i].labelId);
- console.info("index[" + i + "].deviceId:" + data[i].deviceId);
- console.info("index[" + i + "].signatureKey:" + data[i].signatureKey);
- console.info("index[" + i + "].process:" + data[i].process);
- console.info("index[" + i + "].isSystemApp:" + data[i].isSystemApp);
- console.info("index[" + i + "].isLauncherApp:" + data[i].isLauncherApp);
- console.info("index[" + i + "].supportedModes:" + data[i].supportedModes);
-
- console.info('getAllApplicationInfo Async permissions length [' + data[i].permissions.length + ']');
- for (var j = 0; j < data[i].permissions.length; j++) {
- console.info("index[" + i + "]permissions[" + j + "]:" + data[i].permissions[j]);
- }
- console.info('getAllApplicationInfo Async moduleSourceDirs length [' + data[i].moduleSourceDirs.length + ']');
- for (var j = 0; j < data[i].moduleSourceDirs.length; j++) {
- console.info("index[" + i + "]moduleSourceDirs[" + j + "]:" + data[i].moduleSourceDirs[j]);
- }
- console.info('getAllApplicationInfo Async moduleInfos length [' + data[i].moduleInfos.length + ']');
- for (var j = 0; j < data[i].moduleInfos.length; j++) {
- console.info("index[" + i + "]moduleInfos[" + j + "]moduleName:" + data[i].moduleInfos[j].moduleName);
- console.info("index[" + i + "]moduleInfos[" + j + "]moduleSourceDir:" + data[i].moduleInfos[j].moduleSourceDir);
- }
- console.info("index[" + i + "].entryDir:" + data[i].entryDir);
- console.info("index[" + i + "].codePath:" + data[i].codePath);
- console.info("index[" + i + "].dataDir:" + data[i].dataDir);
- console.info("index[" + i + "].dataBaseDir:" + data[i].dataBaseDir);
- console.info("index[" + i + "].cacheDir:" + data[i].cacheDir);
- }
-})
-```
-
-
-
-#### getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback>)
-
-* 功能说明
-
- 获取指定用户下所有已安装的应用信息
-
-* getAllApplicationInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | ------------------------------------- | ---- | ------------------------------------------------------- |
- | bundleFlags | 只读 | number | 是 | 0:返回默认app信息< 8:返回包含permissions的app信息 |
- | userId | 只读 | number | 是 | 用户ID |
- | callback | 只读 | AsyncCallback> | 是 | 回调方法 |
-
-* 返回值
-
- void
-
-* 示例
-
-```
-bundle.getAllApplicationInfo(8, 0, OnReceiveEvent);
-
-function OnReceiveEvent(err, data) {
- console.info('xxx getAllApplicationInfo data length [' + data.length + ']');
- for (var i = 0; i < data.length; i++) {
- console.info("index[" + i + "].name: for begin");
- console.info("index[" + i + "].name:" + data[i].name);
- console.info("index[" + i + "].bundleName:" + data[i].bundleName);
- console.info("index[" + i + "].description:" + data[i].description);
- console.info("index[" + i + "].descriptionId:" + data[i].descriptionId);
- console.info("index[" + i + "].iconPath:" + data[i].iconPath);
- console.info("index[" + i + "].iconId:" + data[i].iconId);
- console.info("index[" + i + "].label:" + data[i].label);
- console.info("index[" + i + "].labelId:" + data[i].labelId);
- console.info("index[" + i + "].deviceId:" + data[i].deviceId);
- console.info("index[" + i + "].signatureKey:" + data[i].signatureKey);
- console.info("index[" + i + "].process:" + data[i].process);
- console.info("index[" + i + "].isSystemApp:" + data[i].isSystemApp);
- console.info("index[" + i + "].isLauncherApp:" + data[i].isLauncherApp);
- console.info("index[" + i + "].supportedModes:" + data[i].supportedModes);
-
- console.info('getAllApplicationInfo Async permissions length [' + data[i].permissions.length + ']');
- for (var j = 0; j < data[i].permissions.length; j++) {
- console.info("index[" + i + "]permissions[" + j + "]:" + data[i].permissions[j]);
- }
- console.info('getAllApplicationInfo Async moduleSourceDirs length [' + data[i].moduleSourceDirs.length + ']');
- for (var j = 0; j < data[i].moduleSourceDirs.length; j++) {
- console.info("index[" + i + "]moduleSourceDirs[" + j + "]:" + data[i].moduleSourceDirs[j]);
- }
- console.info('getAllApplicationInfo Async moduleInfos length [' + data[i].moduleInfos.length + ']');
- for (var j = 0; j < data[i].moduleInfos.length; j++) {
- console.info("index[" + i + "]moduleInfos[" + j + "]moduleName:" + data[i].moduleInfos[j].moduleName);
- console.info("index[" + i + "]moduleInfos[" + j + "]moduleSourceDir:" + data[i].moduleInfos[j].moduleSourceDir);
- }
- console.info("index[" + i + "].entryDir:" + data[i].entryDir);
- console.info("index[" + i + "].codePath:" + data[i].codePath);
- console.info("index[" + i + "].dataDir:" + data[i].dataDir);
- console.info("index[" + i + "].dataBaseDir:" + data[i].dataBaseDir);
- console.info("index[" + i + "].cacheDir:" + data[i].cacheDir);
- }
-}
-```
-
-
-
-#### queryAbilityByWant(want: Want, bundleFlags: number, userId: number)
-
-* 功能说明
-
- 通过Want获取对应的Ability信息
-
-* queryAbilityInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
- | want | 只读 | Want | 是 | 指定Want信息 |
- | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
- | userId | 只读 | number | 是 | 用户ID |
-
-* Want类型说明
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
- | elementName | 只读 | ElementName | 是 | 表示运行指定Ability的ElementName。 |
- | uri | 只读 | string | 否 | 表示Uri描述。 |
- | flags | 只读 | int | 否 | Ability的flag,表示处理Want的方式。 |
- | type | 只读 | string | 否 | Want中的type属性是指由Want的URI所指示的资源的MIME类型。 |
- | action | 只读 | string | 否 | 表示动作,通常使用系统预置Action,应用也可以自定义Action。 |
- | want_param | 只读 | {[key: string]: any} | 否 | want_param是一种支持自定义的数据结构,开发者可以通过want_param传递某些请求所需的额外信息。 |
- | entities | 只读 | Array | 否 | 表示类别,通常使用系统预置Entity,应用也可以自定义Entity。 |
-
-* ElementName类型说明
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
- | deviceId | 只读 | string | 否 | 表示运行指定Ability的设备ID。 |
- | bundleName | 只读 | string | 是 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
- | abilityName | 只读 | string | 是 | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
-
-* 返回值
-
- Promise>:返回值为Promise对象,Promise中包含Ability信息。
-
-* 示例
-
-```
-bundle.queryAbilityByWant({
- want: {
- action: "action.system.home",
- entities: ["entity.system.home"],
- elementName: {
- deviceId: "0",
- bundleName: "com.example.myapplicationInstall",
- abilityName: "com.example.myapplication.MainAbility",
- },
- }
-}, 1, 0,
-}).then((data) => {
- console.info("name:" + data.name);
- console.info("label:" + data.label);
- console.info("description:" + data.description);
- console.info("iconPath:" + data.iconPath);
- console.info("visible:" + data.visible);
- console.info("kind:" + data.kind);
- console.info("uri:" + data.uri);
- console.info("process:" + data.process);
- console.info("package:" + data.package);
- console.info("bundleName:" + data.bundleName);
- console.info("moduleName:" + data.moduleName);
- console.info("applicationName:" + data.applicationName);
- console.info("deviceId:" + data.deviceId);
- console.info("codePath:" + data.codePath);
- console.info("resourcePath:" + data.resourcePath);
- console.info("libPath:" + data.libPath);
-
- console.info('queryAbilityInfo permissions length [' + data.permissions.length + ']');
- for (var j = 0; j < data.permissions.length; j++) {
- console.info("permissions[" + j + "]:" + data.permissions[j]);
- }
- console.info('queryAbilityInfo deviceTypes length [' + data.deviceTypes.length + ']');
- for (var j = 0; j < data.deviceTypes.length; j++) {
- console.info("deviceTypes[" + j + "]:" + data.deviceTypes[j]);
- }
- console.info('queryAbilityInfo deviceCapabilities length [' + data.deviceCapabilities.length + ']');
- for (var j = 0; j < data.deviceCapabilities.length; j++) {
- console.info("deviceCapabilities[" + j + "]:" + data.deviceCapabilities[j]);
- }
- console.info("appInfo.name:" + data.applicationInfo.name);
- console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
- // ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA
- console.info("type:" + data.type);
- // orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT,
- console.info("orientation:" + data.orientation);
- // launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD
- console.info("launchMode:" + data.launchMode);
-
- // the enum of AbilityType
- console.info("AbilityType:" + bundle.AbilityType.UNKNOWN);
- console.info("AbilityType:" + bundle.AbilityType.PAGE);
- console.info("AbilityType:" + bundle.AbilityType.SERVICE);
- console.info("AbilityType:" + bundle.AbilityType.DATA);
- if (data.type == bundle.AbilityType.PAGE) {
- console.info("this AbilityType is PAGE");
- }
- // the enum of DisplayOrientation
- console.info("DisplayOrientation:" + bundle.DisplayOrientation.UNSPECIFIED);
- console.info("DisplayOrientation:" + bundle.DisplayOrientation.LANDSCAPE);
- console.info("DisplayOrientation:" + bundle.DisplayOrientation.PORTRAIT);
- console.info("DisplayOrientation:" + bundle.DisplayOrientation.FOLLOWRECENT);
- if (data.orientation == bundle.DisplayOrientation.UNSPECIFIED) {
- console.info("this DisplayOrientation is UNSPECIFIED");
- }
- // the enum of LaunchMode
- console.info("LaunchMode:" + bundle.LaunchMode.SINGLETON);
- console.info("LaunchMode:" + bundle.LaunchMode.SINGLETOP);
- console.info("LaunchMode:" + bundle.LaunchMode.STANDARD);
- if (data.launchMode == bundle.LaunchMode.STANDARD) {
- console.info("this LaunchMode is STANDARD");
- }
-
-})
-```
-
-
-
-#### queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback>)
-
-* 功能说明
-
- 通过Want获取对应的Ability信息
-
-* queryAbilityInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | --------------------------------- | ---- | ------------------------------------------------------------ |
- | want | 只读 | Want | 是 | 指定Want信息 |
- | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
- | userId | 只读 | number | 是 | 用户ID |
- | callback | 只读 | AsyncCallback> | 是 | 回调方法 |
-
-* Want类型说明
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
- | elementName | 只读 | ElementName | 是 | 表示运行指定Ability的ElementName。 |
- | uri | 只读 | string | 否 | 表示Uri描述。 |
- | flags | 只读 | int | 否 | Ability的flag,表示处理Want的方式。 |
- | type | 只读 | string | 否 | Want中的type属性是指由Want的URI所指示的资源的MIME类型。 |
- | action | 只读 | string | 否 | 表示动作,通常使用系统预置Action,应用也可以自定义Action。 |
- | want_param | 只读 | {[key: string]: any} | 否 | want_param是一种支持自定义的数据结构,开发者可以通过want_param传递某些请求所需的额外信息。 |
- | entities | 只读 | Array | 否 | 表示类别,通常使用系统预置Entity,应用也可以自定义Entity。 |
-
-* ElementName类型说明
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
- | deviceId | 只读 | string | 否 | 表示运行指定Ability的设备ID。 |
- | bundleName | 只读 | string | 是 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
- | abilityName | 只读 | string | 是 | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
-
-* 返回值
-
- void
-
-* 示例
-
-```
-bundle.queryAbilityByWant(
- {
- want: {
- action: "action.system.home",
- entities: ["entity.system.home"],
- elementName: {
- deviceId: "0",
- bundleName: "com.example.myapplicationInstall",
- abilityName: "com.example.myapplication.MainAbility",
- },
- }
- }, 1, 0,
- }, OnReceiveEvent);
-
-function OnReceiveEvent(err, data) {
- console.info("name:" + data.name);
- console.info("label:" + data.label);
- console.info("description:" + data.description);
- console.info("iconPath:" + data.iconPath);
- console.info("visible:" + data.visible);
- console.info("kind:" + data.kind);
- console.info("uri:" + data.uri);
- console.info("process:" + data.process);
- console.info("package:" + data.package);
- console.info("bundleName:" + data.bundleName);
- console.info("moduleName:" + data.moduleName);
- console.info("applicationName:" + data.applicationName);
- console.info("deviceId:" + data.deviceId);
- console.info("codePath:" + data.codePath);
- console.info("resourcePath:" + data.resourcePath);
- console.info("libPath:" + data.libPath);
-
- console.info('queryAbilityInfo permissions length [' + data.permissions.length + ']');
- for (var j = 0; j < data.permissions.length; j++) {
- console.info("permissions[" + j + "]:" + data.permissions[j]);
- }
- console.info('queryAbilityInfo deviceTypes length [' + data.deviceTypes.length + ']');
- for (var j = 0; j < data.deviceTypes.length; j++) {
- console.info("deviceTypes[" + j + "]:" + data.deviceTypes[j]);
- }
- console.info('queryAbilityInfo deviceCapabilities length [' + data.deviceCapabilities.length + ']');
- for (var j = 0; j < data.deviceCapabilities.length; j++) {
- console.info("deviceCapabilities[" + j + "]:" + data.deviceCapabilities[j]);
- }
- console.info("appInfo.name:" + data.applicationInfo.name);
- console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
- // ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA
- console.info("type:" + data.type);
- // orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT,
- console.info("orientation:" + data.orientation);
- // launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD
- console.info("launchMode:" + data.launchMode);
-
- // the enum of AbilityType
- console.info("AbilityType:" + bundle.AbilityType.UNKNOWN);
- console.info("AbilityType:" + bundle.AbilityType.PAGE);
- console.info("AbilityType:" + bundle.AbilityType.SERVICE);
- console.info("AbilityType:" + bundle.AbilityType.DATA);
- if (data.type == bundle.AbilityType.PAGE) {
- console.info("this AbilityType is PAGE");
- }
- // the enum of DisplayOrientation
- console.info("DisplayOrientation:" + bundle.DisplayOrientation.UNSPECIFIED);
- console.info("DisplayOrientation:" + bundle.DisplayOrientation.LANDSCAPE);
- console.info("DisplayOrientation:" + bundle.DisplayOrientation.PORTRAIT);
- console.info("DisplayOrientation:" + bundle.DisplayOrientation.FOLLOWRECENT);
- if (data.orientation == bundle.DisplayOrientation.UNSPECIFIED) {
- console.info("this DisplayOrientation is UNSPECIFIED");
- }
- // the enum of LaunchMode
- console.info("LaunchMode:" + bundle.LaunchMode.SINGLETON);
- console.info("LaunchMode:" + bundle.LaunchMode.SINGLETOP);
- console.info("LaunchMode:" + bundle.LaunchMode.STANDARD);
- if (data.launchMode == bundle.LaunchMode.STANDARD) {
- console.info("this LaunchMode is STANDARD");
- }
-}
-```
-
-
-
-#### getPermissionDef(permissionName: string)
-
-* 功能说明
-
- 获取指定权限的详细信息
-
-* getPermissionDef参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | -------------- | -------- | ------ | ---- | ------ |
- | permissionName | 只读 | string | 是 | 权限名 |
-
-* 返回值
-
- Promise:返回值为bundle信息。
-
-* 示例
-
-```
-bundle.getPermissionDef('com.permission.CAMERA').then((data) => {
- console.info("permissionName:" + data.permissionName);
- console.info("bundleName:" + data.bundleName);
- console.info("grantMode:" + data.grantMode);
- console.info("availableScope:" + data.availableScope);
- console.info("label:" + data.label);
- console.info("labelId:" + data.labelId);
-})
-```
-
-
-
-#### getPermissionDef(permissionName: string, callback: AsyncCallback)
-
-* 功能说明
-
- 获取指定权限的详细信息
-
-* getPermissionDef参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | -------------- | -------- | ---------------------------- | ---- | -------- |
- | permissionName | 只读 | string | 是 | 权限名 |
- | callback | 只读 | AsyncCallback | 是 | 回调方法 |
-
-* 返回值
-
- void
-
-* 示例
-
-```
-bundle.getBundleInstaller().then((data) => {
- data.getPermissionDef('com.permission.CAMERA', OnReceiveEvent);
-
- function OnReceiveEvent(err, data) {
- console.info("permissionName:" + data.permissionName);
- console.info("bundleName:" + data.bundleName);
- console.info("grantMode:" + data.grantMode);
- console.info("availableScope:" + data.availableScope);
- console.info("label:" + data.label);
- console.info("labelId:" + data.labelId);
- }
-})
-```
-
-
-
-#### getBundleArchiveInfo(hapFilePath: string, bundleFlags: number)
-
-* 功能说明
-
- 获取HAP包含的应用包信息
-
-* getBundleArchiveInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
- | hapFilePath | 只读 | string | 是 | hap包文件路径 |
- | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
-
-* 返回值
-
- Promise:返回值为bundle信息。
-
-* 示例
-
-```
-bundle.getBundleArchiveInfo('/data/test.hap', 1).then((data) => {
- console.info("name:" + data.name);
- console.info("label:" + data.label);
- console.info("description:" + data.description);
- console.info("vendor:" + data.vendor);
- console.info("versionCode:" + data.versionCode);
- console.info("versionName:" + data.versionName);
- console.info("jointUserId:" + data.jointUserId);
- console.info("minSdkVersion:" + data.minSdkVersion);
- console.info("maxSdkVersion:" + data.maxSdkVersion);
- console.info("mainEntry:" + data.mainEntry);
- console.info("cpuAbi:" + data.cpuAbi);
- console.info("appId:" + data.appId);
- console.info("compatibleVersion:" + data.compatibleVersion);
- console.info("targetVersion:" + data.targetVersion);
- console.info("releaseType:" + data.releaseType);
- console.info("uid:" + data.uid);
- console.info("gid:" + data.gid);
- console.info("seInfo:" + data.seInfo);
- console.info("entryModuleName:" + data.entryModuleName);
- console.info("isKeepAlive:" + data.isKeepAlive);
- console.info("isNativeApp:" + data.isNativeApp);
- console.info("installTime:" + data.installTime);
- console.info("updateTime:" + data.updateTime);
- console.info("appInfo.name:" + data.applicationInfo.name);
- console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
- console.info('getBundleArchiveInfo reqPermissions length [' + data.reqPermissions.length + ']');
- for (var j = 0; j < data.reqPermissions.length; j++) {
- console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
- }
- console.info('getBundleArchiveInfo defPermissions length [' + data.defPermissions.length + ']');
- for (var j = 0; j < data.defPermissions.length; j++) {
- console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
- }
- console.info('getBundleArchiveInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
- for (var j = 0; j < data.hapModuleNames.length; j++) {
- console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
- }
- console.info('getBundleArchiveInfo moduleNames length [' + data.moduleNames.length + ']');
- for (var j = 0; j < data.moduleNames.length; j++) {
- console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
- }
- console.info('getBundleArchiveInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
- for (var j = 0; j < data.modulePublicDirs.length; j++) {
- console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
- }
- console.info('getBundleArchiveInfo moduleDirs length [' + data.moduleDirs.length + ']');
- for (var j = 0; j < data.moduleDirs.length; j++) {
- console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
- }
- console.info('getBundleArchiveInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
- for (var j = 0; j < data.moduleResPaths.length; j++) {
- console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
- }
- console.info('getBundleArchiveInfo abilityInfo length [' + data.abilityInfos.length + ']');
- for (var j = 0; j < data.abilityInfos.length; j++) {
- console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
- console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
- }
-})
-```
-
-
-
-#### getBundleArchiveInfo(hapFilePath: string, bundleFlags: number, callback: AsyncCallback)
-
-* 功能说明
-
- 获取HAP包含的应用包信息
-
-* getBundleArchiveInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ----------- | -------- | ------------------------- | ---- | ------------------------------------------------------------ |
- | hapFilePath | 只读 | string | 是 | hap包文件路径 |
- | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
- | callback | 只读 | AsyncCallback | 是 | 回调方法 |
-
-* 返回值
-
- void
-
-* 示例
-
-```
-bundle.getBundleArchiveInfo('/data/test.hap', 1, OnReceiveEvent);
-
-function OnReceiveEvent(err, data) {
- console.info("name:" + data.name);
- console.info("label:" + data.label);
- console.info("description:" + data.description);
- console.info("vendor:" + data.vendor);
- console.info("versionCode:" + data.versionCode);
- console.info("versionName:" + data.versionName);
- console.info("jointUserId:" + data.jointUserId);
- console.info("minSdkVersion:" + data.minSdkVersion);
- console.info("maxSdkVersion:" + data.maxSdkVersion);
- console.info("mainEntry:" + data.mainEntry);
- console.info("cpuAbi:" + data.cpuAbi);
- console.info("appId:" + data.appId);
- console.info("compatibleVersion:" + data.compatibleVersion);
- console.info("targetVersion:" + data.targetVersion);
- console.info("releaseType:" + data.releaseType);
- console.info("uid:" + data.uid);
- console.info("gid:" + data.gid);
- console.info("seInfo:" + data.seInfo);
- console.info("entryModuleName:" + data.entryModuleName);
- console.info("isKeepAlive:" + data.isKeepAlive);
- console.info("isNativeApp:" + data.isNativeApp);
- console.info("installTime:" + data.installTime);
- console.info("updateTime:" + data.updateTime);
- console.info("appInfo.name:" + data.applicationInfo.name);
- console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
- console.info('getBundleArchiveInfo reqPermissions length [' + data.reqPermissions.length + ']');
- for (var j = 0; j < data.reqPermissions.length; j++) {
- console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
- }
- console.info('getBundleArchiveInfo defPermissions length [' + data.defPermissions.length + ']');
- for (var j = 0; j < data.defPermissions.length; j++) {
- console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
- }
- console.info('getBundleArchiveInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
- for (var j = 0; j < data.hapModuleNames.length; j++) {
- console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
- }
- console.info('getBundleArchiveInfo moduleNames length [' + data.moduleNames.length + ']');
- for (var j = 0; j < data.moduleNames.length; j++) {
- console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
- }
- console.info('getBundleArchiveInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
- for (var j = 0; j < data.modulePublicDirs.length; j++) {
- console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
- }
- console.info('getBundleArchiveInfo moduleDirs length [' + data.moduleDirs.length + ']');
- for (var j = 0; j < data.moduleDirs.length; j++) {
- console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
- }
- console.info('getBundleArchiveInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
- for (var j = 0; j < data.moduleResPaths.length; j++) {
- console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
- }
- console.info('getBundleArchiveInfo abilityInfo length [' + data.abilityInfos.length + ']');
- for (var j = 0; j < data.abilityInfos.length; j++) {
- console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
- console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
- }
-}
-```
-
-
-
-#### install(bundleFilePaths: Array, param: InstallParam, callback: AsyncCallback)
-
-* 功能说明
-
- 安装hap包
-
-* install参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | --------------- | -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
- | bundleFilePaths | 只读 | Array | 是 | 安装用包路径 |
- | param | 只读 | InstallParam | 是 | userId:用户ID installFlag:安装标识。 NORMAL:安装/卸载 REPLACE_EXISTING:更新 isKeepData:卸载时是否保留运行时数据 |
- | callback | 只读 | AsyncCallback | 是 | 回调方法 |
-
-* 返回值
-
- void
-
-* InstallStatus类型说明
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ------------- | -------- | ---------------- | ---- | ------------------------------------------------------------ |
- | status | 只读 | InstallErrorCode | 是 | 安装结果code SUCCESS = 0 STATUS_INSTALL_FAILURE = 1 STATUS_INSTALL_FAILURE_ABORTED = 2, STATUS_INSTALL_FAILURE_INVALID = 3 STATUS_INSTALL_FAILURE_CONFLICT = 4 STATUS_INSTALL_FAILURE_STORAGE = 5 STATUS_INSTALL_FAILURE_INCOMPATIBLE = 6 STATUS_INSTALL_FAILURE_DOWNLOAD_TIMEOUT = 0x0B STATUS_INSTALL_FAILURE_DOWNLOAD_FAILED = 0x0C STATUS_ABILITY_NOT_FOUND = 0x40 STATUS_BMS_SERVICE_ERROR = 0x41 |
- | statusMessage | 只读 | string | 是 | 安装结果Message |
-
-* 示例
-
-```
-bundle.getBundleInstaller().then((data) => {
- data.install(['/data/test.hap'], {
- param: {
- userId: 0,
- isKeepData: false
- }
- }, OnReceiveinstallEvent);
-
- function OnReceiveinstallEvent(err, data) {
- console.info("name: for begin");
- console.info("install result code:" + data.status);
- console.info("install result msg:" + data.statusMessage);
- }
-})
-```
-
-
-
-#### uninstall(bundleName: string, param: InstallParam, callback: AsyncCallback)
-
-* 功能说明
-
- 卸载hap包
-
-* uninstall参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---------- | -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
- | bundleName | 只读 | string | 是 | 卸载用包名 |
- | param | 只读 | InstallParam | 是 | userId:用户ID installFlag:安装标识。 NORMAL:安装/卸载 REPLACE_EXISTING:更新 isKeepData:卸载时是否保留运行时数据 |
- | callback | 只读 | AsyncCallback | 是 | 回调方法 |
-
-* 返回值
-
- void
-
-* InstallStatus类型说明
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ------------- | -------- | ---------------- | ---- | ------------------------------------------------------------ |
- | status | 只读 | InstallErrorCode | 是 | 卸载结果code SUCCESS = 0 STATUS_UNINSTALL_FAILURE = 7 STATUS_UNINSTALL_FAILURE_BLOCKED = 8 STATUS_UNINSTALL_FAILURE_ABORTED = 9, STATUS_UNINSTALL_FAILURE_CONFLICT = 10 STATUS_ABILITY_NOT_FOUND = 0x40 STATUS_BMS_SERVICE_ERROR = 0x41 |
- | statusMessage | 只读 | string | 是 | 卸载结果Message |
-
-* 示例
-
-```
-bundle.getBundleInstaller().then((data) => {
- data.uninstall('com.example.myapplication', {
- param: {
- userId: 0,
- isKeepData: false
- }
- }, OnReceiveinstallEvent);
-
- function OnReceiveinstallEvent(err, data) {
- console.info("name: for begin");
- console.info("uninstall result code:" + data.status);
- console.info("uninstall result msg:" + data.statusMessage);
- }
-})
-```
-
-
-
-#### getAllShortcutInfo(bundleName: string)
-
-* 功能说明
-
- 获取指定bundle名的shortcut信息
-
-* getAllShortcutInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---------- | -------- | ------ | ---- | -------- |
- | bundleName | 只读 | string | 是 | bundle名 |
-
-* 返回值
-
- Promise:返回值为bundle信息。
-
-* 示例
-
-```
-bundle.getAllShortcutInfo('com.example.third1').then((data) => {
- ...
-});
-```
-
-
-
-#### getAllShortcutInfo(bundleName: string, callback: AsyncCallback>)
-
-* 功能说明
-
- 获取指定bundle名的shortcut信息
-
-* getAllShortcutInfo参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---------- | -------- | --------------------------- | ---- | -------- |
- | bundleName | 只读 | string | 是 | bundle名 |
- | callback | 只读 | AsyncCallback | 是 | 回调方法 |
-
-* 返回值
-
- void
-
-* 示例
-
-```
-bundle.getAllShortcutInfo('com.example.third1', OnReceiveEvent);
-
-function OnReceiveEvent(err, data) {
- ...
-}
-```
-
-
-
-#### checkPermission(bundleName: string, permission: string)
-
-* 功能说明
-
- 获取指定最大记录数的Usage信息
-
-* checkPermission参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---------- | -------- | ------ | ---- | -------- |
- | bundleName | 只读 | string | 是 | bundle名 |
- | permission | 只读 | string | 是 | 权限名 |
-
-* 返回值
-
- Promise:返回值为bundle信息。
-
-* 示例
-
-```
-bundle.getModuleUsageRecords('com.example.actsbmscheckpermissiontest', 'com.permission.CAMERA').then((data) => {
- ...
-});
-```
-
-
-
-#### checkPermission(bundleName: string, permission: string, callback: AsyncCallback)
-
-* 功能说明
-
- 获取指定最大记录数的Usage信息
-
-* checkPermission参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---------- | -------- | -------------------------- | ---- | -------- |
- | bundleName | 只读 | string | 是 | bundle名 |
- | permission | 只读 | string | 是 | 权限名 |
- | callback | 只读 | AsyncCallback | 是 | 回调方法 |
-
-* 返回值
-
- void
-
-* 示例
-
-```
-bundle.checkPermission('com.example.actsbmscheckpermissiontest', 'com.permission.CAMERA', OnReceiveEvent);
-
-function OnReceiveEvent(err, data) {
- ...
-}
-```
+# Bundle模块(JS端SDK接口)
+
+#### 支持设备
+
+| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 |
+| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ |
+| Bundle.getApplicationInfo(bundleName: string, bundleFlags: number, userId: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getAllBundleInfo(bundlelFlag: BundleFlag) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getAllBundleInfo(bundlelFlag: BundleFlag, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getBundleInfo(bundleName: string, bundleFlags: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getAllApplicationInfo(bundleFlags: number, userId: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.queryAbilityByWant(want: Want, bundleFlags: number, userId: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getPermissionDef(permissionName: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getPermissionDef(permissionName: string, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getBundleArchiveInfo(hapFilePath: string, flags: number) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getBundleArchiveInfo(hapFilePath: string, flags: number, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getBundleInstaller().install(bundleFilePaths: Array, param: InstallParam, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getBundleInstaller().uninstall(bundleName: string, param: InstallParam, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getAllShortcutInfo(bundleName: string): Promise> | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Bundle.getAllShortcutInfo(bundleName: string, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| getModuleUsageRecords(maxNum: number): Promise> | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| getModuleUsageRecords(maxNum: number, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| checkPermission(bundleName: string, permission: string): Promise | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| checkPermission(bundleName: string, permission: string, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+
+#### 权限列表
+
+-
+
+#### 导入模块
+
+```
+import bundle from '@ohos.bundle';
+```
+
+
+
+#### getApplicationInfo(bundleName: string, bundleFlags: number, userId: number)
+
+* 功能说明
+
+ 根据给定的bundle名称获取ApplicationInfo
+
+* getApplicationInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | ------ | ---- | ------------------------------------------------------- |
+ | bundleName | 只读 | string | 是 | 应用名 |
+ | bundleFlags | 只读 | number | 是 | 0:返回默认app信息< 8:返回包含permissions的app信息 |
+ | userId | 只读 | number | 是 | 用户ID |
+
+* 返回值
+
+ Promise:返回值为Promise对象,Promise中包含应用信息。
+
+* 示例
+
+```
+bundle.getApplicationInfo('com.example.myapplicationInstall', 8, 0).then((data) => {
+ console.info("name: for begin");
+ console.info("name:" + data.name);
+ console.info("bundleName:" + data.bundleName);
+ console.info("description:" + data.description);
+ console.info("descriptionId:" + data.descriptionId);
+ console.info("iconPath:" + data.iconPath);
+ console.info("iconId:" + data.iconId);
+ console.info("label:" + data.label);
+ console.info("labelId:" + data.labelId);
+ console.info("deviceId:" + data.deviceId);
+ console.info("signatureKey:" + data.signatureKey);
+ console.info("process:" + data.process);
+ console.info("isSystemApp:" + data.isSystemApp);
+ console.info("isLauncherApp:" + data.isLauncherApp);
+ console.info("supportedModes:" + data.supportedModes);
+
+ console.info('getApplicationInfo permissions length [' + data.permissions.length + ']');
+ for (var j = 0; j < data.permissions.length; j++) {
+ console.info("permissions[" + j + "]:" + data.permissions[j]);
+ }
+ console.info('getApplicationInfo moduleSourceDirs length [' + data.moduleSourceDirs.length + ']');
+ for (var j = 0; j < data.moduleSourceDirs.length; j++) {
+ console.info("moduleSourceDirs[" + j + "]:" + data.moduleSourceDirs[j]);
+ }
+ console.info('getApplicationInfo moduleInfos length [' + data.moduleInfos.length + ']');
+ for (var j = 0; j < data.moduleInfos.length; j++) {
+ console.info("moduleInfos[" + j + "]moduleName:" + data.moduleInfos[j].moduleName);
+ console.info("moduleInfos[" + j + "]moduleSourceDir:" + data.moduleInfos[j].moduleSourceDir);
+ }
+ console.info("entryDir:" + data.entryDir);
+ console.info("codePath:" + data.codePath);
+ console.info("dataDir:" + data.dataDir);
+ console.info("dataBaseDir:" + data.dataBaseDir);
+ console.info("cacheDir:" + data.cacheDir);
+})
+```
+
+
+
+#### getApplicationInfo(bundleName: string, bundleFlags: number, userId: number, callback: AsyncCallback)
+
+* 功能说明
+
+ 根据给定的bundle名称获取ApplicationInfo
+
+* getApplicationInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | ------------------------------ | ---- | ------------------------------------------------------- |
+ | bundleName | 只读 | string | 是 | 应用名 |
+ | bundleFlags | 只读 | number | 是 | 0:返回默认app信息< 8:返回包含permissions的app信息 |
+ | userId | 只读 | number | 是 | 用户ID |
+ | callback | 只读 | AsyncCallback | 是 | 回调方法 |
+
+* 返回值
+
+ void
+
+* 示例
+
+```
+bundle.getApplicationInfo('com.example.myapplicationInstall', 8, 0, OnReceiveEvent);
+
+function OnReceiveEvent(err, data) {
+ console.info("name: for begin");
+ console.info("name:" + data.name);
+ console.info("bundleName:" + data.bundleName);
+ console.info("description:" + data.description);
+ console.info("descriptionId:" + data.descriptionId);
+ console.info("iconPath:" + data.iconPath);
+ console.info("iconId:" + data.iconId);
+ console.info("label:" + data.label);
+ console.info("labelId:" + data.labelId);
+ console.info("deviceId:" + data.deviceId);
+ console.info("signatureKey:" + data.signatureKey);
+ console.info("process:" + data.process);
+ console.info("isSystemApp:" + data.isSystemApp);
+ console.info("isLauncherApp:" + data.isLauncherApp);
+ console.info("supportedModes:" + data.supportedModes);
+
+ console.info('getApplicationInfo permissions length [' + data.permissions.length + ']');
+ for (var j = 0; j < data.permissions.length; j++) {
+ console.info("permissions[" + j + "]:" + data.permissions[j]);
+ }
+ console.info('getApplicationInfo moduleSourceDirs length [' + data.moduleSourceDirs.length + ']');
+ for (var j = 0; j < data.moduleSourceDirs.length; j++) {
+ console.info("moduleSourceDirs[" + j + "]:" + data.moduleSourceDirs[j]);
+ }
+ console.info('getApplicationInfo moduleInfos length [' + data.moduleInfos.length + ']');
+ for (var j = 0; j < data.moduleInfos.length; j++) {
+ console.info("moduleInfos[" + j + "]moduleName:" + data.moduleInfos[j].moduleName);
+ console.info("moduleInfos[" + j + "]moduleSourceDir:" + data.moduleInfos[j].moduleSourceDir);
+ }
+ console.info("entryDir:" + data.entryDir);
+ console.info("codePath:" + data.codePath);
+ console.info("dataDir:" + data.dataDir);
+ console.info("dataBaseDir:" + data.dataBaseDir);
+ console.info("cacheDir:" + data.cacheDir);
+}
+```
+
+
+
+#### getAllBundleInfo(bundleFlag: BundleFlag)
+
+* 功能说明
+
+ 获取系统中所有可用的包信息
+
+* getAllBundleInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ---------- | -------- | ---------- | ---- | ----------------------------------------------------------- |
+ | bundleFlag | 只读 | BundleFlag | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
+
+* 返回值
+
+ Promise>:返回值为Promise对象,Promise中包含包信息列表。
+
+* 示例
+
+```
+bundle.getAllBundleInfo(0).then((data) => {
+ for (var i = 0; i < data.length; i++) {
+ console.info("index[" + i + "].name: for begin");
+ console.info("index[" + i + "].name:" + data[i].name);
+ console.info("index[" + i + "].label:" + data[i].label);
+ console.info("index[" + i + "].description:" + data[i].description);
+ console.info("index[" + i + "].vendor:" + data[i].vendor);
+ console.info("index[" + i + "].versionCode:" + data[i].versionCode);
+ console.info("index[" + i + "].versionName:" + data[i].versionName);
+ console.info("index[" + i + "].jointUserId:" + data[i].jointUserId);
+ console.info("index[" + i + "].minSdkVersion:" + data[i].minSdkVersion);
+ console.info("index[" + i + "].maxSdkVersion:" + data[i].maxSdkVersion);
+ console.info("index[" + i + "].mainEntry:" + data[i].mainEntry);
+ console.info("index[" + i + "].cpuAbi:" + data[i].cpuAbi);
+ console.info("index[" + i + "].appId:" + data[i].appId);
+ console.info("index[" + i + "].compatibleVersion:" + data[i].compatibleVersion);
+ console.info("index[" + i + "].targetVersion:" + data[i].targetVersion);
+ console.info("index[" + i + "].releaseType:" + data[i].releaseType);
+ console.info("index[" + i + "].uid:" + data[i].uid);
+ console.info("index[" + i + "].gid:" + data[i].gid);
+ console.info("index[" + i + "].seInfo:" + data[i].seInfo);
+ console.info("index[" + i + "].entryModuleName:" + data[i].entryModuleName);
+ console.info("index[" + i + "].isKeepAlive:" + data[i].isKeepAlive);
+ console.info("index[" + i + "].isNativeApp:" + data[i].isNativeApp);
+ console.info("index[" + i + "].installTime:" + data[i].installTime);
+ console.info("index[" + i + "].updateTime:" + data[i].updateTime);
+ console.info("index[" + i + "].appInfo.name:" + data[i].applicationInfo.name);
+ console.info("index[" + i + "].appInfo.bundleName:" + data[i].applicationInfo.bundleName);
+ console.info('getAllBundleInfo reqPermissions length [' + data[i].reqPermissions.length + ']');
+ for (var j = 0; j < data[i].reqPermissions.length; j++) {
+ console.info("index[" + i + "]reqPermissions[" + j + "]:" + data[i].reqPermissions[j]);
+ }
+ console.info('getAllBundleInfo defPermissions length [' + data[i].defPermissions.length + ']');
+ for (var j = 0; j < data[i].defPermissions.length; j++) {
+ console.info("index[" + i + "]defPermissions[" + j + "]:" + data[i].defPermissions[j]);
+ }
+
+ console.info('getAllBundleInfo hapModuleNames length [' + data[i].hapModuleNames.length + ']');
+ for (var j = 0; j < data[i].hapModuleNames.length; j++) {
+ console.info("index[" + i + "]hapModuleNames[" + j + "]:" + data[i].hapModuleNames[j]);
+ }
+ console.info('getAllBundleInfo moduleNames length [' + data[i].moduleNames.length + ']');
+ for (var j = 0; j < data[i].moduleNames.length; j++) {
+ console.info("index[" + i + "]moduleNames[" + j + "]:" + data[i].moduleNames[j]);
+ }
+ console.info('getAllBundleInfo modulePublicDirs length [' + data[i].modulePublicDirs.length + ']');
+ for (var j = 0; j < data[i].modulePublicDirs.length; j++) {
+ console.info("index[" + i + "]modulePublicDirs[" + j + "]:" + data[i].modulePublicDirs[j]);
+ }
+ console.info('getAllBundleInfo moduleDirs length [' + data[i].moduleDirs.length + ']');
+ for (var j = 0; j < data[i].moduleDirs.length; j++) {
+ console.info("index[" + i + "]moduleDirs[" + j + "]:" + data[i].moduleDirs[j]);
+ }
+ console.info('getAllBundleInfo moduleResPaths length [' + data[i].moduleResPaths.length + ']');
+ for (var j = 0; j < data[i].moduleResPaths.length; j++) {
+ console.info("index[" + i + "]moduleResPaths[" + j + "]:" + data[i].moduleResPaths[j]);
+ }
+ console.info('getAllBundleInfo abilityInfo length [' + data[i].abilityInfos.length + ']');
+ for (var j = 0; j < data[i].abilityInfos.length; j++) {
+ console.info("index[" + i + "]abilityInfos[" + j + "]name:" + data[i].abilityInfos[j].name);
+ console.info("index[" + i + "]abilityInfos[" + j + "]package:" + data[i].abilityInfos[j].package);
+ }
+ }
+})
+```
+
+
+
+#### getAllBundleInfo(bundleFlag: BundleFlag, callback: AsyncCallback>)
+
+* 功能说明
+
+ 获取系统中所有可用的包信息
+
+* getAllBundleInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ---------- | -------- | -------------------------------- | ---- | ------------------------------------------------------------ |
+ | bundleFlag | 只读 | BundleFlag | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
+ | callback | 只读 | AsyncCallback> | 是 | 回调方法 |
+
+* 返回值
+
+ void
+
+* 示例
+
+```
+bundle.getAllBundleInfo(0, OnReceiveEvent);
+
+function OnReceiveEvent(err, data) {
+ console.info('xxx getAllBundleInfo data length [' + data.length + ']');
+ for (var i = 0; i < data.length; i++) {
+ console.info("index[" + i + "].name: for begin");
+ console.info("index[" + i + "].name:" + data[i].name);
+ console.info("index[" + i + "].label:" + data[i].label);
+ console.info("index[" + i + "].description:" + data[i].description);
+ console.info("index[" + i + "].vendor:" + data[i].vendor);
+ console.info("index[" + i + "].versionCode:" + data[i].versionCode);
+ console.info("index[" + i + "].versionName:" + data[i].versionName);
+ console.info("index[" + i + "].jointUserId:" + data[i].jointUserId);
+ console.info("index[" + i + "].minSdkVersion:" + data[i].minSdkVersion);
+ console.info("index[" + i + "].maxSdkVersion:" + data[i].maxSdkVersion);
+ console.info("index[" + i + "].mainEntry:" + data[i].mainEntry);
+ console.info("index[" + i + "].cpuAbi:" + data[i].cpuAbi);
+ console.info("index[" + i + "].appId:" + data[i].appId);
+ console.info("index[" + i + "].compatibleVersion:" + data[i].compatibleVersion);
+ console.info("index[" + i + "].targetVersion:" + data[i].targetVersion);
+ console.info("index[" + i + "].releaseType:" + data[i].releaseType);
+ console.info("index[" + i + "].uid:" + data[i].uid);
+ console.info("index[" + i + "].gid:" + data[i].gid);
+ console.info("index[" + i + "].seInfo:" + data[i].seInfo);
+ console.info("index[" + i + "].entryModuleName:" + data[i].entryModuleName);
+ console.info("index[" + i + "].isKeepAlive:" + data[i].isKeepAlive);
+ console.info("index[" + i + "].isNativeApp:" + data[i].isNativeApp);
+ console.info("index[" + i + "].installTime:" + data[i].installTime);
+ console.info("index[" + i + "].updateTime:" + data[i].updateTime);
+ console.info("index[" + i + "].appInfo.name:" + data[i].applicationInfo.name);
+ console.info("index[" + i + "].appInfo.bundleName:" + data[i].applicationInfo.bundleName);
+ console.info('getAllBundleInfo reqPermissions length [' + data[i].reqPermissions.length + ']');
+ for (var j = 0; j < data[i].reqPermissions.length; j++) {
+ console.info("index[" + i + "]reqPermissions[" + j + "]:" + data[i].reqPermissions[j]);
+ }
+ console.info('getAllBundleInfo defPermissions length [' + data[i].defPermissions.length + ']');
+ for (var j = 0; j < data[i].defPermissions.length; j++) {
+ console.info("index[" + i + "]defPermissions[" + j + "]:" + data[i].defPermissions[j]);
+ }
+
+ console.info('getAllBundleInfo hapModuleNames length [' + data[i].hapModuleNames.length + ']');
+ for (var j = 0; j < data[i].hapModuleNames.length; j++) {
+ console.info("index[" + i + "]hapModuleNames[" + j + "]:" + data[i].hapModuleNames[j]);
+ }
+ console.info('getAllBundleInfo moduleNames length [' + data[i].moduleNames.length + ']');
+ for (var j = 0; j < data[i].moduleNames.length; j++) {
+ console.info("index[" + i + "]moduleNames[" + j + "]:" + data[i].moduleNames[j]);
+ }
+ console.info('getAllBundleInfo modulePublicDirs length [' + data[i].modulePublicDirs.length + ']');
+ for (var j = 0; j < data[i].modulePublicDirs.length; j++) {
+ console.info("index[" + i + "]modulePublicDirs[" + j + "]:" + data[i].modulePublicDirs[j]);
+ }
+ console.info('getAllBundleInfo moduleDirs length [' + data[i].moduleDirs.length + ']');
+ for (var j = 0; j < data[i].moduleDirs.length; j++) {
+ console.info("index[" + i + "]moduleDirs[" + j + "]:" + data[i].moduleDirs[j]);
+ }
+ console.info('getAllBundleInfo moduleResPaths length [' + data[i].moduleResPaths.length + ']');
+ for (var j = 0; j < data[i].moduleResPaths.length; j++) {
+ console.info("index[" + i + "]moduleResPaths[" + j + "]:" + data[i].moduleResPaths[j]);
+ }
+ console.info('getAllBundleInfo abilityInfo length [' + data[i].abilityInfos.length + ']');
+ for (var j = 0; j < data[i].abilityInfos.length; j++) {
+ console.info("index[" + i + "]abilityInfos[" + j + "]name:" + data[i].abilityInfos[j].name);
+ console.info("index[" + i + "]abilityInfos[" + j + "]package:" + data[i].abilityInfos[j].package);
+ }
+ }
+}
+```
+
+
+
+#### getBundleInfo(bundleName: string, bundleFlags: number)
+
+* 功能说明
+
+ 根据bundle名称获取BundleInfo
+
+* getBundleInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
+ | bundleName | 只读 | string | 是 | 包名 |
+ | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
+
+* 返回值
+
+ Promise:返回值为Promise对象,Promise中包含包信息。
+
+* 示例
+
+```
+bundle.getBundleInfo('com.example.myapplicationInstall', 1).then((data) => {
+ console.info("name:" + data.name);
+ console.info("label:" + data.label);
+ console.info("description:" + data.description);
+ console.info("vendor:" + data.vendor);
+ console.info("versionCode:" + data.versionCode);
+ console.info("versionName:" + data.versionName);
+ console.info("jointUserId:" + data.jointUserId);
+ console.info("minSdkVersion:" + data.minSdkVersion);
+ console.info("maxSdkVersion:" + data.maxSdkVersion);
+ console.info("mainEntry:" + data.mainEntry);
+ console.info("cpuAbi:" + data.cpuAbi);
+ console.info("appId:" + data.appId);
+ console.info("compatibleVersion:" + data.compatibleVersion);
+ console.info("targetVersion:" + data.targetVersion);
+ console.info("releaseType:" + data.releaseType);
+ console.info("uid:" + data.uid);
+ console.info("gid:" + data.gid);
+ console.info("seInfo:" + data.seInfo);
+ console.info("entryModuleName:" + data.entryModuleName);
+ console.info("isKeepAlive:" + data.isKeepAlive);
+ console.info("isNativeApp:" + data.isNativeApp);
+ console.info("installTime:" + data.installTime);
+ console.info("updateTime:" + data.updateTime);
+ console.info("appInfo.name:" + data.applicationInfo.name);
+ console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
+ console.info('getBundleInfo reqPermissions length [' + data.reqPermissions.length + ']');
+ for (var j = 0; j < data.reqPermissions.length; j++) {
+ console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
+ }
+ console.info('getBundleInfo defPermissions length [' + data.defPermissions.length + ']');
+ for (var j = 0; j < data.defPermissions.length; j++) {
+ console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
+ }
+
+ console.info('getBundleInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
+ for (var j = 0; j < data.hapModuleNames.length; j++) {
+ console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
+ }
+ console.info('getBundleInfo moduleNames length [' + data.moduleNames.length + ']');
+ for (var j = 0; j < data.moduleNames.length; j++) {
+ console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
+ }
+ console.info('getBundleInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
+ for (var j = 0; j < data.modulePublicDirs.length; j++) {
+ console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
+ }
+ console.info('getBundleInfo moduleDirs length [' + data.moduleDirs.length + ']');
+ for (var j = 0; j < data.moduleDirs.length; j++) {
+ console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
+ }
+ console.info('getBundleInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
+ for (var j = 0; j < data.moduleResPaths.length; j++) {
+ console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
+ }
+ console.info('getBundleInfo abilityInfo length [' + data.abilityInfos.length + ']');
+ for (var j = 0; j < data.abilityInfos.length; j++) {
+ console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
+ console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
+ }
+})
+```
+
+
+
+#### getBundleInfo(bundleName: string, bundleFlags: number, callback: AsyncCallback)
+
+* 功能说明
+
+ 根据bundle名称获取BundleInfo
+
+* getBundleInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | ------------------------- | ---- | ------------------------------------------------------------ |
+ | bundleName | 只读 | string | 是 | 包名 |
+ | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
+ | callback | 只读 | AsyncCallback | 是 | 回调方法 |
+
+* 返回值
+
+ void
+
+* 示例
+
+```
+bundle.getBundleInfo('com.example.myapplicationInstall', 1, OnReceiveEvent);
+
+function OnReceiveEvent(err, data) {
+ console.info("name:" + data.name);
+ console.info("label:" + data.label);
+ console.info("description:" + data.description);
+ console.info("vendor:" + data.vendor);
+ console.info("versionCode:" + data.versionCode);
+ console.info("versionName:" + data.versionName);
+ console.info("jointUserId:" + data.jointUserId);
+ console.info("minSdkVersion:" + data.minSdkVersion);
+ console.info("maxSdkVersion:" + data.maxSdkVersion);
+ console.info("mainEntry:" + data.mainEntry);
+ console.info("cpuAbi:" + data.cpuAbi);
+ console.info("appId:" + data.appId);
+ console.info("compatibleVersion:" + data.compatibleVersion);
+ console.info("targetVersion:" + data.targetVersion);
+ console.info("releaseType:" + data.releaseType);
+ console.info("uid:" + data.uid);
+ console.info("gid:" + data.gid);
+ console.info("seInfo:" + data.seInfo);
+ console.info("entryModuleName:" + data.entryModuleName);
+ console.info("isKeepAlive:" + data.isKeepAlive);
+ console.info("isNativeApp:" + data.isNativeApp);
+ console.info("installTime:" + data.installTime);
+ console.info("updateTime:" + data.updateTime);
+ console.info("appInfo.name:" + data.applicationInfo.name);
+ console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
+ console.info('getBundleInfo reqPermissions length [' + data.reqPermissions.length + ']');
+ for (var j = 0; j < data.reqPermissions.length; j++) {
+ console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
+ }
+ console.info('getBundleInfo defPermissions length [' + data.defPermissions.length + ']');
+ for (var j = 0; j < data.defPermissions.length; j++) {
+ console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
+ }
+
+ console.info('getBundleInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
+ for (var j = 0; j < data.hapModuleNames.length; j++) {
+ console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
+ }
+ console.info('getBundleInfo moduleNames length [' + data.moduleNames.length + ']');
+ for (var j = 0; j < data.moduleNames.length; j++) {
+ console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
+ }
+ console.info('getBundleInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
+ for (var j = 0; j < data.modulePublicDirs.length; j++) {
+ console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
+ }
+ console.info('getBundleInfo moduleDirs length [' + data.moduleDirs.length + ']');
+ for (var j = 0; j < data.moduleDirs.length; j++) {
+ console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
+ }
+ console.info('getBundleInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
+ for (var j = 0; j < data.moduleResPaths.length; j++) {
+ console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
+ }
+ console.info('getBundleInfo abilityInfo length [' + data.abilityInfos.length + ']');
+ for (var j = 0; j < data.abilityInfos.length; j++) {
+ console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
+ console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
+ }
+}
+```
+
+
+
+#### getAllApplicationInfo(bundleFlags: number, userId: number)
+
+* 功能说明
+
+ 获取指定用户下所有已安装的应用信息
+
+* getAllApplicationInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | ------ | ---- | ------------------------------------------------------- |
+ | bundleFlags | 只读 | number | 是 | 0:返回默认app信息< 8:返回包含permissions的app信息 |
+ | userId | 只读 | number | 是 | 用户ID |
+
+* 返回值
+
+ Promise>:返回值为Promise对象,Promise中包含应用信息列表。
+
+* 示例
+
+```
+bundle.getAllApplicationInfo(8, 0).then((data) => {
+ console.info('xxx getAllApplicationInfo data length [' + data.length + ']');
+ for (var i = 0; i < data.length; i++) {
+ console.info("index[" + i + "].name: for begin");
+ console.info("index[" + i + "].name:" + data[i].name);
+ console.info("index[" + i + "].bundleName:" + data[i].bundleName);
+ console.info("index[" + i + "].description:" + data[i].description);
+ console.info("index[" + i + "].descriptionId:" + data[i].descriptionId);
+ console.info("index[" + i + "].iconPath:" + data[i].iconPath);
+ console.info("index[" + i + "].iconId:" + data[i].iconId);
+ console.info("index[" + i + "].label:" + data[i].label);
+ console.info("index[" + i + "].labelId:" + data[i].labelId);
+ console.info("index[" + i + "].deviceId:" + data[i].deviceId);
+ console.info("index[" + i + "].signatureKey:" + data[i].signatureKey);
+ console.info("index[" + i + "].process:" + data[i].process);
+ console.info("index[" + i + "].isSystemApp:" + data[i].isSystemApp);
+ console.info("index[" + i + "].isLauncherApp:" + data[i].isLauncherApp);
+ console.info("index[" + i + "].supportedModes:" + data[i].supportedModes);
+
+ console.info('getAllApplicationInfo Async permissions length [' + data[i].permissions.length + ']');
+ for (var j = 0; j < data[i].permissions.length; j++) {
+ console.info("index[" + i + "]permissions[" + j + "]:" + data[i].permissions[j]);
+ }
+ console.info('getAllApplicationInfo Async moduleSourceDirs length [' + data[i].moduleSourceDirs.length + ']');
+ for (var j = 0; j < data[i].moduleSourceDirs.length; j++) {
+ console.info("index[" + i + "]moduleSourceDirs[" + j + "]:" + data[i].moduleSourceDirs[j]);
+ }
+ console.info('getAllApplicationInfo Async moduleInfos length [' + data[i].moduleInfos.length + ']');
+ for (var j = 0; j < data[i].moduleInfos.length; j++) {
+ console.info("index[" + i + "]moduleInfos[" + j + "]moduleName:" + data[i].moduleInfos[j].moduleName);
+ console.info("index[" + i + "]moduleInfos[" + j + "]moduleSourceDir:" + data[i].moduleInfos[j].moduleSourceDir);
+ }
+ console.info("index[" + i + "].entryDir:" + data[i].entryDir);
+ console.info("index[" + i + "].codePath:" + data[i].codePath);
+ console.info("index[" + i + "].dataDir:" + data[i].dataDir);
+ console.info("index[" + i + "].dataBaseDir:" + data[i].dataBaseDir);
+ console.info("index[" + i + "].cacheDir:" + data[i].cacheDir);
+ }
+})
+```
+
+
+
+#### getAllApplicationInfo(bundleFlags: number, userId: number, callback: AsyncCallback>)
+
+* 功能说明
+
+ 获取指定用户下所有已安装的应用信息
+
+* getAllApplicationInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | ------------------------------------- | ---- | ------------------------------------------------------- |
+ | bundleFlags | 只读 | number | 是 | 0:返回默认app信息< 8:返回包含permissions的app信息 |
+ | userId | 只读 | number | 是 | 用户ID |
+ | callback | 只读 | AsyncCallback> | 是 | 回调方法 |
+
+* 返回值
+
+ void
+
+* 示例
+
+```
+bundle.getAllApplicationInfo(8, 0, OnReceiveEvent);
+
+function OnReceiveEvent(err, data) {
+ console.info('xxx getAllApplicationInfo data length [' + data.length + ']');
+ for (var i = 0; i < data.length; i++) {
+ console.info("index[" + i + "].name: for begin");
+ console.info("index[" + i + "].name:" + data[i].name);
+ console.info("index[" + i + "].bundleName:" + data[i].bundleName);
+ console.info("index[" + i + "].description:" + data[i].description);
+ console.info("index[" + i + "].descriptionId:" + data[i].descriptionId);
+ console.info("index[" + i + "].iconPath:" + data[i].iconPath);
+ console.info("index[" + i + "].iconId:" + data[i].iconId);
+ console.info("index[" + i + "].label:" + data[i].label);
+ console.info("index[" + i + "].labelId:" + data[i].labelId);
+ console.info("index[" + i + "].deviceId:" + data[i].deviceId);
+ console.info("index[" + i + "].signatureKey:" + data[i].signatureKey);
+ console.info("index[" + i + "].process:" + data[i].process);
+ console.info("index[" + i + "].isSystemApp:" + data[i].isSystemApp);
+ console.info("index[" + i + "].isLauncherApp:" + data[i].isLauncherApp);
+ console.info("index[" + i + "].supportedModes:" + data[i].supportedModes);
+
+ console.info('getAllApplicationInfo Async permissions length [' + data[i].permissions.length + ']');
+ for (var j = 0; j < data[i].permissions.length; j++) {
+ console.info("index[" + i + "]permissions[" + j + "]:" + data[i].permissions[j]);
+ }
+ console.info('getAllApplicationInfo Async moduleSourceDirs length [' + data[i].moduleSourceDirs.length + ']');
+ for (var j = 0; j < data[i].moduleSourceDirs.length; j++) {
+ console.info("index[" + i + "]moduleSourceDirs[" + j + "]:" + data[i].moduleSourceDirs[j]);
+ }
+ console.info('getAllApplicationInfo Async moduleInfos length [' + data[i].moduleInfos.length + ']');
+ for (var j = 0; j < data[i].moduleInfos.length; j++) {
+ console.info("index[" + i + "]moduleInfos[" + j + "]moduleName:" + data[i].moduleInfos[j].moduleName);
+ console.info("index[" + i + "]moduleInfos[" + j + "]moduleSourceDir:" + data[i].moduleInfos[j].moduleSourceDir);
+ }
+ console.info("index[" + i + "].entryDir:" + data[i].entryDir);
+ console.info("index[" + i + "].codePath:" + data[i].codePath);
+ console.info("index[" + i + "].dataDir:" + data[i].dataDir);
+ console.info("index[" + i + "].dataBaseDir:" + data[i].dataBaseDir);
+ console.info("index[" + i + "].cacheDir:" + data[i].cacheDir);
+ }
+}
+```
+
+
+
+#### queryAbilityByWant(want: Want, bundleFlags: number, userId: number)
+
+* 功能说明
+
+ 通过Want获取对应的Ability信息
+
+* queryAbilityInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
+ | want | 只读 | Want | 是 | 指定Want信息 |
+ | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
+ | userId | 只读 | number | 是 | 用户ID |
+
+* Want类型说明
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
+ | elementName | 只读 | ElementName | 是 | 表示运行指定Ability的ElementName。 |
+ | uri | 只读 | string | 否 | 表示Uri描述。 |
+ | flags | 只读 | int | 否 | Ability的flag,表示处理Want的方式。 |
+ | type | 只读 | string | 否 | Want中的type属性是指由Want的URI所指示的资源的MIME类型。 |
+ | action | 只读 | string | 否 | 表示动作,通常使用系统预置Action,应用也可以自定义Action。 |
+ | want_param | 只读 | {[key: string]: any} | 否 | want_param是一种支持自定义的数据结构,开发者可以通过want_param传递某些请求所需的额外信息。 |
+ | entities | 只读 | Array | 否 | 表示类别,通常使用系统预置Entity,应用也可以自定义Entity。 |
+
+* ElementName类型说明
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
+ | deviceId | 只读 | string | 否 | 表示运行指定Ability的设备ID。 |
+ | bundleName | 只读 | string | 是 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
+ | abilityName | 只读 | string | 是 | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
+
+* 返回值
+
+ Promise>:返回值为Promise对象,Promise中包含Ability信息。
+
+* 示例
+
+```
+bundle.queryAbilityByWant({
+ want: {
+ action: "action.system.home",
+ entities: ["entity.system.home"],
+ elementName: {
+ deviceId: "0",
+ bundleName: "com.example.myapplicationInstall",
+ abilityName: "com.example.myapplication.MainAbility",
+ },
+ }
+}, 1, 0,
+}).then((data) => {
+ console.info("name:" + data.name);
+ console.info("label:" + data.label);
+ console.info("description:" + data.description);
+ console.info("iconPath:" + data.iconPath);
+ console.info("visible:" + data.visible);
+ console.info("kind:" + data.kind);
+ console.info("uri:" + data.uri);
+ console.info("process:" + data.process);
+ console.info("package:" + data.package);
+ console.info("bundleName:" + data.bundleName);
+ console.info("moduleName:" + data.moduleName);
+ console.info("applicationName:" + data.applicationName);
+ console.info("deviceId:" + data.deviceId);
+ console.info("codePath:" + data.codePath);
+ console.info("resourcePath:" + data.resourcePath);
+ console.info("libPath:" + data.libPath);
+
+ console.info('queryAbilityInfo permissions length [' + data.permissions.length + ']');
+ for (var j = 0; j < data.permissions.length; j++) {
+ console.info("permissions[" + j + "]:" + data.permissions[j]);
+ }
+ console.info('queryAbilityInfo deviceTypes length [' + data.deviceTypes.length + ']');
+ for (var j = 0; j < data.deviceTypes.length; j++) {
+ console.info("deviceTypes[" + j + "]:" + data.deviceTypes[j]);
+ }
+ console.info('queryAbilityInfo deviceCapabilities length [' + data.deviceCapabilities.length + ']');
+ for (var j = 0; j < data.deviceCapabilities.length; j++) {
+ console.info("deviceCapabilities[" + j + "]:" + data.deviceCapabilities[j]);
+ }
+ console.info("appInfo.name:" + data.applicationInfo.name);
+ console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
+ // ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA
+ console.info("type:" + data.type);
+ // orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT,
+ console.info("orientation:" + data.orientation);
+ // launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD
+ console.info("launchMode:" + data.launchMode);
+
+ // the enum of AbilityType
+ console.info("AbilityType:" + bundle.AbilityType.UNKNOWN);
+ console.info("AbilityType:" + bundle.AbilityType.PAGE);
+ console.info("AbilityType:" + bundle.AbilityType.SERVICE);
+ console.info("AbilityType:" + bundle.AbilityType.DATA);
+ if (data.type == bundle.AbilityType.PAGE) {
+ console.info("this AbilityType is PAGE");
+ }
+ // the enum of DisplayOrientation
+ console.info("DisplayOrientation:" + bundle.DisplayOrientation.UNSPECIFIED);
+ console.info("DisplayOrientation:" + bundle.DisplayOrientation.LANDSCAPE);
+ console.info("DisplayOrientation:" + bundle.DisplayOrientation.PORTRAIT);
+ console.info("DisplayOrientation:" + bundle.DisplayOrientation.FOLLOWRECENT);
+ if (data.orientation == bundle.DisplayOrientation.UNSPECIFIED) {
+ console.info("this DisplayOrientation is UNSPECIFIED");
+ }
+ // the enum of LaunchMode
+ console.info("LaunchMode:" + bundle.LaunchMode.SINGLETON);
+ console.info("LaunchMode:" + bundle.LaunchMode.SINGLETOP);
+ console.info("LaunchMode:" + bundle.LaunchMode.STANDARD);
+ if (data.launchMode == bundle.LaunchMode.STANDARD) {
+ console.info("this LaunchMode is STANDARD");
+ }
+
+})
+```
+
+
+
+#### queryAbilityByWant(want: Want, bundleFlags: number, userId: number, callback: AsyncCallback>)
+
+* 功能说明
+
+ 通过Want获取对应的Ability信息
+
+* queryAbilityInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | --------------------------------- | ---- | ------------------------------------------------------------ |
+ | want | 只读 | Want | 是 | 指定Want信息 |
+ | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
+ | userId | 只读 | number | 是 | 用户ID |
+ | callback | 只读 | AsyncCallback> | 是 | 回调方法 |
+
+* Want类型说明
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
+ | elementName | 只读 | ElementName | 是 | 表示运行指定Ability的ElementName。 |
+ | uri | 只读 | string | 否 | 表示Uri描述。 |
+ | flags | 只读 | int | 否 | Ability的flag,表示处理Want的方式。 |
+ | type | 只读 | string | 否 | Want中的type属性是指由Want的URI所指示的资源的MIME类型。 |
+ | action | 只读 | string | 否 | 表示动作,通常使用系统预置Action,应用也可以自定义Action。 |
+ | want_param | 只读 | {[key: string]: any} | 否 | want_param是一种支持自定义的数据结构,开发者可以通过want_param传递某些请求所需的额外信息。 |
+ | entities | 只读 | Array | 否 | 表示类别,通常使用系统预置Entity,应用也可以自定义Entity。 |
+
+* ElementName类型说明
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
+ | deviceId | 只读 | string | 否 | 表示运行指定Ability的设备ID。 |
+ | bundleName | 只读 | string | 是 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
+ | abilityName | 只读 | string | 是 | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
+
+* 返回值
+
+ void
+
+* 示例
+
+```
+bundle.queryAbilityByWant(
+ {
+ want: {
+ action: "action.system.home",
+ entities: ["entity.system.home"],
+ elementName: {
+ deviceId: "0",
+ bundleName: "com.example.myapplicationInstall",
+ abilityName: "com.example.myapplication.MainAbility",
+ },
+ }
+ }, 1, 0,
+ }, OnReceiveEvent);
+
+function OnReceiveEvent(err, data) {
+ console.info("name:" + data.name);
+ console.info("label:" + data.label);
+ console.info("description:" + data.description);
+ console.info("iconPath:" + data.iconPath);
+ console.info("visible:" + data.visible);
+ console.info("kind:" + data.kind);
+ console.info("uri:" + data.uri);
+ console.info("process:" + data.process);
+ console.info("package:" + data.package);
+ console.info("bundleName:" + data.bundleName);
+ console.info("moduleName:" + data.moduleName);
+ console.info("applicationName:" + data.applicationName);
+ console.info("deviceId:" + data.deviceId);
+ console.info("codePath:" + data.codePath);
+ console.info("resourcePath:" + data.resourcePath);
+ console.info("libPath:" + data.libPath);
+
+ console.info('queryAbilityInfo permissions length [' + data.permissions.length + ']');
+ for (var j = 0; j < data.permissions.length; j++) {
+ console.info("permissions[" + j + "]:" + data.permissions[j]);
+ }
+ console.info('queryAbilityInfo deviceTypes length [' + data.deviceTypes.length + ']');
+ for (var j = 0; j < data.deviceTypes.length; j++) {
+ console.info("deviceTypes[" + j + "]:" + data.deviceTypes[j]);
+ }
+ console.info('queryAbilityInfo deviceCapabilities length [' + data.deviceCapabilities.length + ']');
+ for (var j = 0; j < data.deviceCapabilities.length; j++) {
+ console.info("deviceCapabilities[" + j + "]:" + data.deviceCapabilities[j]);
+ }
+ console.info("appInfo.name:" + data.applicationInfo.name);
+ console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
+ // ability type: 0:UNKNOWN, 1:PAGE, 2:SERVICE, 3:DATA
+ console.info("type:" + data.type);
+ // orientation: 0:UNSPECIFIED, 1:LANDSCAPE, 2:PORTRAIT, 3:FOLLOWRECENT,
+ console.info("orientation:" + data.orientation);
+ // launchMode: 0:SINGLETON, 1:SINGLETOP, 2:STANDARD
+ console.info("launchMode:" + data.launchMode);
+
+ // the enum of AbilityType
+ console.info("AbilityType:" + bundle.AbilityType.UNKNOWN);
+ console.info("AbilityType:" + bundle.AbilityType.PAGE);
+ console.info("AbilityType:" + bundle.AbilityType.SERVICE);
+ console.info("AbilityType:" + bundle.AbilityType.DATA);
+ if (data.type == bundle.AbilityType.PAGE) {
+ console.info("this AbilityType is PAGE");
+ }
+ // the enum of DisplayOrientation
+ console.info("DisplayOrientation:" + bundle.DisplayOrientation.UNSPECIFIED);
+ console.info("DisplayOrientation:" + bundle.DisplayOrientation.LANDSCAPE);
+ console.info("DisplayOrientation:" + bundle.DisplayOrientation.PORTRAIT);
+ console.info("DisplayOrientation:" + bundle.DisplayOrientation.FOLLOWRECENT);
+ if (data.orientation == bundle.DisplayOrientation.UNSPECIFIED) {
+ console.info("this DisplayOrientation is UNSPECIFIED");
+ }
+ // the enum of LaunchMode
+ console.info("LaunchMode:" + bundle.LaunchMode.SINGLETON);
+ console.info("LaunchMode:" + bundle.LaunchMode.SINGLETOP);
+ console.info("LaunchMode:" + bundle.LaunchMode.STANDARD);
+ if (data.launchMode == bundle.LaunchMode.STANDARD) {
+ console.info("this LaunchMode is STANDARD");
+ }
+}
+```
+
+
+
+#### getPermissionDef(permissionName: string)
+
+* 功能说明
+
+ 获取指定权限的详细信息
+
+* getPermissionDef参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | -------------- | -------- | ------ | ---- | ------ |
+ | permissionName | 只读 | string | 是 | 权限名 |
+
+* 返回值
+
+ Promise:返回值为bundle信息。
+
+* 示例
+
+```
+bundle.getPermissionDef('com.permission.CAMERA').then((data) => {
+ console.info("permissionName:" + data.permissionName);
+ console.info("bundleName:" + data.bundleName);
+ console.info("grantMode:" + data.grantMode);
+ console.info("availableScope:" + data.availableScope);
+ console.info("label:" + data.label);
+ console.info("labelId:" + data.labelId);
+})
+```
+
+
+
+#### getPermissionDef(permissionName: string, callback: AsyncCallback)
+
+* 功能说明
+
+ 获取指定权限的详细信息
+
+* getPermissionDef参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | -------------- | -------- | ---------------------------- | ---- | -------- |
+ | permissionName | 只读 | string | 是 | 权限名 |
+ | callback | 只读 | AsyncCallback | 是 | 回调方法 |
+
+* 返回值
+
+ void
+
+* 示例
+
+```
+bundle.getBundleInstaller().then((data) => {
+ data.getPermissionDef('com.permission.CAMERA', OnReceiveEvent);
+
+ function OnReceiveEvent(err, data) {
+ console.info("permissionName:" + data.permissionName);
+ console.info("bundleName:" + data.bundleName);
+ console.info("grantMode:" + data.grantMode);
+ console.info("availableScope:" + data.availableScope);
+ console.info("label:" + data.label);
+ console.info("labelId:" + data.labelId);
+ }
+})
+```
+
+
+
+#### getBundleArchiveInfo(hapFilePath: string, bundleFlags: number)
+
+* 功能说明
+
+ 获取HAP包含的应用包信息
+
+* getBundleArchiveInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | ------ | ---- | ------------------------------------------------------------ |
+ | hapFilePath | 只读 | string | 是 | hap包文件路径 |
+ | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
+
+* 返回值
+
+ Promise:返回值为bundle信息。
+
+* 示例
+
+```
+bundle.getBundleArchiveInfo('/data/test.hap', 1).then((data) => {
+ console.info("name:" + data.name);
+ console.info("label:" + data.label);
+ console.info("description:" + data.description);
+ console.info("vendor:" + data.vendor);
+ console.info("versionCode:" + data.versionCode);
+ console.info("versionName:" + data.versionName);
+ console.info("jointUserId:" + data.jointUserId);
+ console.info("minSdkVersion:" + data.minSdkVersion);
+ console.info("maxSdkVersion:" + data.maxSdkVersion);
+ console.info("mainEntry:" + data.mainEntry);
+ console.info("cpuAbi:" + data.cpuAbi);
+ console.info("appId:" + data.appId);
+ console.info("compatibleVersion:" + data.compatibleVersion);
+ console.info("targetVersion:" + data.targetVersion);
+ console.info("releaseType:" + data.releaseType);
+ console.info("uid:" + data.uid);
+ console.info("gid:" + data.gid);
+ console.info("seInfo:" + data.seInfo);
+ console.info("entryModuleName:" + data.entryModuleName);
+ console.info("isKeepAlive:" + data.isKeepAlive);
+ console.info("isNativeApp:" + data.isNativeApp);
+ console.info("installTime:" + data.installTime);
+ console.info("updateTime:" + data.updateTime);
+ console.info("appInfo.name:" + data.applicationInfo.name);
+ console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
+ console.info('getBundleArchiveInfo reqPermissions length [' + data.reqPermissions.length + ']');
+ for (var j = 0; j < data.reqPermissions.length; j++) {
+ console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
+ }
+ console.info('getBundleArchiveInfo defPermissions length [' + data.defPermissions.length + ']');
+ for (var j = 0; j < data.defPermissions.length; j++) {
+ console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
+ }
+ console.info('getBundleArchiveInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
+ for (var j = 0; j < data.hapModuleNames.length; j++) {
+ console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
+ }
+ console.info('getBundleArchiveInfo moduleNames length [' + data.moduleNames.length + ']');
+ for (var j = 0; j < data.moduleNames.length; j++) {
+ console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
+ }
+ console.info('getBundleArchiveInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
+ for (var j = 0; j < data.modulePublicDirs.length; j++) {
+ console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
+ }
+ console.info('getBundleArchiveInfo moduleDirs length [' + data.moduleDirs.length + ']');
+ for (var j = 0; j < data.moduleDirs.length; j++) {
+ console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
+ }
+ console.info('getBundleArchiveInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
+ for (var j = 0; j < data.moduleResPaths.length; j++) {
+ console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
+ }
+ console.info('getBundleArchiveInfo abilityInfo length [' + data.abilityInfos.length + ']');
+ for (var j = 0; j < data.abilityInfos.length; j++) {
+ console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
+ console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
+ }
+})
+```
+
+
+
+#### getBundleArchiveInfo(hapFilePath: string, bundleFlags: number, callback: AsyncCallback)
+
+* 功能说明
+
+ 获取HAP包含的应用包信息
+
+* getBundleArchiveInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ----------- | -------- | ------------------------- | ---- | ------------------------------------------------------------ |
+ | hapFilePath | 只读 | string | 是 | hap包文件路径 |
+ | bundleFlags | 只读 | number | 是 | 0:返回默认BundleInfo 1:返回包含abilityInfo的BundleInfo |
+ | callback | 只读 | AsyncCallback | 是 | 回调方法 |
+
+* 返回值
+
+ void
+
+* 示例
+
+```
+bundle.getBundleArchiveInfo('/data/test.hap', 1, OnReceiveEvent);
+
+function OnReceiveEvent(err, data) {
+ console.info("name:" + data.name);
+ console.info("label:" + data.label);
+ console.info("description:" + data.description);
+ console.info("vendor:" + data.vendor);
+ console.info("versionCode:" + data.versionCode);
+ console.info("versionName:" + data.versionName);
+ console.info("jointUserId:" + data.jointUserId);
+ console.info("minSdkVersion:" + data.minSdkVersion);
+ console.info("maxSdkVersion:" + data.maxSdkVersion);
+ console.info("mainEntry:" + data.mainEntry);
+ console.info("cpuAbi:" + data.cpuAbi);
+ console.info("appId:" + data.appId);
+ console.info("compatibleVersion:" + data.compatibleVersion);
+ console.info("targetVersion:" + data.targetVersion);
+ console.info("releaseType:" + data.releaseType);
+ console.info("uid:" + data.uid);
+ console.info("gid:" + data.gid);
+ console.info("seInfo:" + data.seInfo);
+ console.info("entryModuleName:" + data.entryModuleName);
+ console.info("isKeepAlive:" + data.isKeepAlive);
+ console.info("isNativeApp:" + data.isNativeApp);
+ console.info("installTime:" + data.installTime);
+ console.info("updateTime:" + data.updateTime);
+ console.info("appInfo.name:" + data.applicationInfo.name);
+ console.info("appInfo.bundleName:" + data.applicationInfo.bundleName);
+ console.info('getBundleArchiveInfo reqPermissions length [' + data.reqPermissions.length + ']');
+ for (var j = 0; j < data.reqPermissions.length; j++) {
+ console.info("reqPermissions[" + j + "]:" + data.reqPermissions[j]);
+ }
+ console.info('getBundleArchiveInfo defPermissions length [' + data.defPermissions.length + ']');
+ for (var j = 0; j < data.defPermissions.length; j++) {
+ console.info("defPermissions[" + j + "]:" + data.defPermissions[j]);
+ }
+ console.info('getBundleArchiveInfo hapModuleNames length [' + data.hapModuleNames.length + ']');
+ for (var j = 0; j < data.hapModuleNames.length; j++) {
+ console.info("hapModuleNames[" + j + "]:" + data.hapModuleNames[j]);
+ }
+ console.info('getBundleArchiveInfo moduleNames length [' + data.moduleNames.length + ']');
+ for (var j = 0; j < data.moduleNames.length; j++) {
+ console.info("moduleNames[" + j + "]:" + data.moduleNames[j]);
+ }
+ console.info('getBundleArchiveInfo modulePublicDirs length [' + data.modulePublicDirs.length + ']');
+ for (var j = 0; j < data.modulePublicDirs.length; j++) {
+ console.info("modulePublicDirs[" + j + "]:" + data.modulePublicDirs[j]);
+ }
+ console.info('getBundleArchiveInfo moduleDirs length [' + data.moduleDirs.length + ']');
+ for (var j = 0; j < data.moduleDirs.length; j++) {
+ console.info("moduleDirs[" + j + "]:" + data.moduleDirs[j]);
+ }
+ console.info('getBundleArchiveInfo moduleResPaths length [' + data.moduleResPaths.length + ']');
+ for (var j = 0; j < data.moduleResPaths.length; j++) {
+ console.info("moduleResPaths[" + j + "]:" + data.moduleResPaths[j]);
+ }
+ console.info('getBundleArchiveInfo abilityInfo length [' + data.abilityInfos.length + ']');
+ for (var j = 0; j < data.abilityInfos.length; j++) {
+ console.info("abilityInfos[" + j + "]name:" + data.abilityInfos[j].name);
+ console.info("abilityInfos[" + j + "]package:" + data.abilityInfos[j].package);
+ }
+}
+```
+
+
+
+#### install(bundleFilePaths: Array, param: InstallParam, callback: AsyncCallback)
+
+* 功能说明
+
+ 安装hap包
+
+* install参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | --------------- | -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
+ | bundleFilePaths | 只读 | Array | 是 | 安装用包路径 |
+ | param | 只读 | InstallParam | 是 | userId:用户ID installFlag:安装标识。 NORMAL:安装/卸载 REPLACE_EXISTING:更新 isKeepData:卸载时是否保留运行时数据 |
+ | callback | 只读 | AsyncCallback | 是 | 回调方法 |
+
+* 返回值
+
+ void
+
+* InstallStatus类型说明
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ------------- | -------- | ---------------- | ---- | ------------------------------------------------------------ |
+ | status | 只读 | InstallErrorCode | 是 | 安装结果code SUCCESS = 0 STATUS_INSTALL_FAILURE = 1 STATUS_INSTALL_FAILURE_ABORTED = 2, STATUS_INSTALL_FAILURE_INVALID = 3 STATUS_INSTALL_FAILURE_CONFLICT = 4 STATUS_INSTALL_FAILURE_STORAGE = 5 STATUS_INSTALL_FAILURE_INCOMPATIBLE = 6 STATUS_INSTALL_FAILURE_DOWNLOAD_TIMEOUT = 0x0B STATUS_INSTALL_FAILURE_DOWNLOAD_FAILED = 0x0C STATUS_ABILITY_NOT_FOUND = 0x40 STATUS_BMS_SERVICE_ERROR = 0x41 |
+ | statusMessage | 只读 | string | 是 | 安装结果Message |
+
+* 示例
+
+```
+bundle.getBundleInstaller().then((data) => {
+ data.install(['/data/test.hap'], {
+ param: {
+ userId: 0,
+ isKeepData: false
+ }
+ }, OnReceiveinstallEvent);
+
+ function OnReceiveinstallEvent(err, data) {
+ console.info("name: for begin");
+ console.info("install result code:" + data.status);
+ console.info("install result msg:" + data.statusMessage);
+ }
+})
+```
+
+
+
+#### uninstall(bundleName: string, param: InstallParam, callback: AsyncCallback)
+
+* 功能说明
+
+ 卸载hap包
+
+* uninstall参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ---------- | -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
+ | bundleName | 只读 | string | 是 | 卸载用包名 |
+ | param | 只读 | InstallParam | 是 | userId:用户ID installFlag:安装标识。 NORMAL:安装/卸载 REPLACE_EXISTING:更新 isKeepData:卸载时是否保留运行时数据 |
+ | callback | 只读 | AsyncCallback | 是 | 回调方法 |
+
+* 返回值
+
+ void
+
+* InstallStatus类型说明
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ------------- | -------- | ---------------- | ---- | ------------------------------------------------------------ |
+ | status | 只读 | InstallErrorCode | 是 | 卸载结果code SUCCESS = 0 STATUS_UNINSTALL_FAILURE = 7 STATUS_UNINSTALL_FAILURE_BLOCKED = 8 STATUS_UNINSTALL_FAILURE_ABORTED = 9, STATUS_UNINSTALL_FAILURE_CONFLICT = 10 STATUS_ABILITY_NOT_FOUND = 0x40 STATUS_BMS_SERVICE_ERROR = 0x41 |
+ | statusMessage | 只读 | string | 是 | 卸载结果Message |
+
+* 示例
+
+```
+bundle.getBundleInstaller().then((data) => {
+ data.uninstall('com.example.myapplication', {
+ param: {
+ userId: 0,
+ isKeepData: false
+ }
+ }, OnReceiveinstallEvent);
+
+ function OnReceiveinstallEvent(err, data) {
+ console.info("name: for begin");
+ console.info("uninstall result code:" + data.status);
+ console.info("uninstall result msg:" + data.statusMessage);
+ }
+})
+```
+
+
+
+#### getAllShortcutInfo(bundleName: string)
+
+* 功能说明
+
+ 获取指定bundle名的shortcut信息
+
+* getAllShortcutInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ---------- | -------- | ------ | ---- | -------- |
+ | bundleName | 只读 | string | 是 | bundle名 |
+
+* 返回值
+
+ Promise:返回值为bundle信息。
+
+* 示例
+
+```
+bundle.getAllShortcutInfo('com.example.third1').then((data) => {
+ ...
+});
+```
+
+
+
+#### getAllShortcutInfo(bundleName: string, callback: AsyncCallback>)
+
+* 功能说明
+
+ 获取指定bundle名的shortcut信息
+
+* getAllShortcutInfo参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ---------- | -------- | --------------------------- | ---- | -------- |
+ | bundleName | 只读 | string | 是 | bundle名 |
+ | callback | 只读 | AsyncCallback | 是 | 回调方法 |
+
+* 返回值
+
+ void
+
+* 示例
+
+```
+bundle.getAllShortcutInfo('com.example.third1', OnReceiveEvent);
+
+function OnReceiveEvent(err, data) {
+ ...
+}
+```
+
+
+
+#### checkPermission(bundleName: string, permission: string)
+
+* 功能说明
+
+ 获取指定最大记录数的Usage信息
+
+* checkPermission参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ---------- | -------- | ------ | ---- | -------- |
+ | bundleName | 只读 | string | 是 | bundle名 |
+ | permission | 只读 | string | 是 | 权限名 |
+
+* 返回值
+
+ Promise:返回值为bundle信息。
+
+* 示例
+
+```
+bundle.getModuleUsageRecords('com.example.actsbmscheckpermissiontest', 'com.permission.CAMERA').then((data) => {
+ ...
+});
+```
+
+
+
+#### checkPermission(bundleName: string, permission: string, callback: AsyncCallback)
+
+* 功能说明
+
+ 获取指定最大记录数的Usage信息
+
+* checkPermission参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ---------- | -------- | -------------------------- | ---- | -------- |
+ | bundleName | 只读 | string | 是 | bundle名 |
+ | permission | 只读 | string | 是 | 权限名 |
+ | callback | 只读 | AsyncCallback | 是 | 回调方法 |
+
+* 返回值
+
+ void
+
+* 示例
+
+```
+bundle.checkPermission('com.example.actsbmscheckpermissiontest', 'com.permission.CAMERA', OnReceiveEvent);
+
+function OnReceiveEvent(err, data) {
+ ...
+}
+```
diff --git a/zh-cn/application-dev/js-reference/Context.md b/zh-cn/application-dev/js-reference/apis/js-apis-Context.md
similarity index 96%
rename from zh-cn/application-dev/js-reference/Context.md
rename to zh-cn/application-dev/js-reference/apis/js-apis-Context.md
index 00e423f4580308e627fb80fe83594af04cdb3578..e0536f8dfad59b120302406a2a519eebd19703f1 100644
--- a/zh-cn/application-dev/js-reference/Context.md
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-Context.md
@@ -1,542 +1,542 @@
-### Context模块(JS端SDK接口)
-
-#### 支持设备
-
-| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 |
-| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ |
-| Context.getOrCreateLocalDir(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getOrCreateLocalDir() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.verifyPermission(permission: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.verifyPermission(permission: string, options?: PermissionOptions) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.requestPermissionsFromUser(permissions: Array\, requestCode: number, resultCallback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getApplicationInfo(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getApplicationInfo() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getBundleName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getBundleName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getProcessInfo(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getProcessInfo() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getElementName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getElementName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getProcessName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getProcessName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getCallingBundle(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-| Context.getCallingBundle() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
-
-#### 权限列表
-
-**ohos.permission.RUNNING_LOCK permission**
-
-#### 导入模块
-
-```
-import featureAbility from '@ohos.ability.featureAbility'
-import bundle from '@ohos.bundle'
-```
-
-#### Context.getOrCreateLocalDir(callback: AsyncCallback\)
-
-- 接口说明
-
- 获取应用程序的本地根目录。如果是第一次调用,将创建目录(callback形式)
-
-- getOrCreateLocalDir参数描述
-
-
-| 名称 | 读写属性 | 类型 | 必填 | 描述 |
-| -------- | -------- | ----------------------- | ---- | ---------------- |
-| callback | 只读 | AsyncCallback\) | 是 | 被指定的回调方法 |
-
-- 返回值
-
- 根目录
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getOrCreateLocalDir()
-```
-
-
-
-#### Context.getOrCreateLocalDir()
-
-- 接口说明
-
- 获取应用程序的本地根目录。如果是第一次调用,将创建目录(Promise形式)
-
-- 返回值
-
- 根目录
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getOrCreateLocalDir().then((void) => {
- console.info("==========================>getOrCreateLocalDirCallback=======================>");
-});
-```
-
-
-
-#### Context.verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\)
-
-- 接口说明
-
- 验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)
-
-- verifyPermission参数描述
-
-
-| 名称 | 读写属性 | 类型 | 必填 | 描述 |
-| ---------- | -------- | ---------------------- | ---- | ---------------- |
-| permission | 只读 | string | 是 | 指定权限的名称 |
-| options | 只读 | PermissionOptions | 是 | 进程id |
-| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 |
-
-- PermissionOptions类型说明
-
-| 名称 | 读写属性 | 类型 | 必填 | 描述 |
-| ---- | -------- | ------ | ---- | ------ |
-| pid | 只读 | number | 否 | 进程id |
-| uid | 只读 | number | 否 | 用户id |
-
-- 返回值
-
- 如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-import bundle from '@ohos.bundle'
-var context = featureAbility.getContext();
-var datainfo = await bundle.getBundleInfo('com.context.test',1);
-context.verifyPermission("com.example.permission",datainfo.uid,)
-
-```
-
-
-
-#### Context.verifyPermission(permission: string, callback: AsyncCallback\)
-
-- 接口说明
-
- 验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)
-
-- 参数描述
-
-
-| 名称 | 读写属性 | 类型 | 必填 | 描述 |
-| ---------- | -------- | ----------------------- | ---- | ---------------- |
-| permission | 只读 | string | 是 | 指定权限的名称 |
-| callback | 只读 | AsyncCallback\) | 是 | 被指定的回调方法 |
-
-- 返回值
-
- 如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.verifyPermission("com.example.permission")
-```
-
-
-
-#### Context.verifyPermission(permission: string, options?: PermissionOptions)
-
-- 接口说明
-
- 验证系统中运行的特定pid和uid是否允许指定的权限(Promise形式)
-- verifyPermission参数描述
-
-
-| 名称 | 读写属性 | 类型 | 必填 | 描述 |
-| ---------- | -------- | ----------------- | ---- | -------------- |
-| permission | 只读 | string | 是 | 指定权限的名称 |
-| options | 只读 | PermissionOptions | 否 | 进程id |
-
-- PermissionOptions类型说明
-
-| 名称 | 读写属性 | 类型 | 必填 | 描述 |
-| ---- | -------- | ------ | ---- | ------ |
-| pid | 只读 | number | 否 | 进程id |
-| uid | 只读 | number | 否 | 用户id |
-
-- 返回值
-
- 如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-var Permission = context.PermissionOptions(1,1);
-context.getOrCreateLocalDir('com.context.permission',Permission).then((void) => {
- console.info("==========================>verifyPermissionCallback=======================>");
-});
-```
-
-
-
-#### Context.requestPermissionsFromUser(permissions: Array\, requestCode: number, resultCallback: AsyncCallback\)
-
-- 接口说明
-
- 从系统请求某些权限(callback形式)
-
-- requestPermissionsFromUser参数描述
-
-
-| 名称 | 读写属性 | 类型 | 必填 | 描述 |
-| -------------- | -------- | ---------------------------------------- | ---- | --------------------------------------------- |
-| permissions | 只读 | Array\ | 是 | 指示要请求的权限列表。此参数不能为null |
-| requestCode | 只读 | number | 是 | 指示要传递给PermissionRequestResult的请求代码 |
-| resultCallback | 只读 | AsyncCallback\) | 是 | 被指定的回调方法 |
-- PermissionRequestResult类型说明
-
-| 名称 | 读写属性 | 类型 | 必填 | 描述 |
-| ----------- | -------- | -------------- | ---- | ------------------ |
-| requestCode | 只读 | number | 是 | 用户传入的请求代码 |
-| permissions | 只读 | Array\ | 是 | 用户传入的权限 |
-| authResults | 只读 | Array\ | 是 | 求权限的结果 |
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getOrCreateLocalDir(
- ["com.example.permission1",
- "com.example.permission2",
- "com.example.permission3",
- "com.example.permission4",
- "com.example.permission5"],
- 1,
-)
-```
-
-
-
-#### Context.getApplicationInfo(callback: AsyncCallback\)
-
-- 接口说明
-
- 获取有关当前应用程序的信息(callback形式)
-
-- 参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | -------- | -------- | ------------------------------- | ---- | -------------------- |
- | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getApplicationInfo()
-```
-
-
-
-#### Context.getApplicationInfo()
-
-- 接口说明
-
- 获取有关当前应用程序的信息(Promise形式)
-
-- 参数描述
-
- Null
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getApplicationInfo().then((void) => {
- console.info("==========================>getApplicationInfoCallback=======================>");
-});
-```
-
-
-
-#### Context.getBundleName(callback: AsyncCallback\)
-
-- 接口说明
-
- 获取当前ability的捆绑包名称(callback形式)
-
-- 参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | -------- | -------- | ---------------------- | ---- | -------------------- |
- | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getBundleName()
-```
-
-
-
-#### Context.getBundleName()
-
-- 接口说明
-
- 获取当前ability的捆绑包名称(Promise形式)
-
-- 参数描述
-
- Null
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getBundleName().then((void) => {
- console.info("==========================>getBundleNameCallback=======================>");
-});
-```
-
-
-
-#### Context.getProcessInfo(callback: AsyncCallback\)
-
-- 接口说明
-
- 获取有关当前进程的信息,包括进程ID和名称(callback形式)
-
-- 参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | -------- | -------- | --------------------------- | ---- | -------------------- |
- | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getProcessInfo()
-```
-
-
-
-#### Context.getProcessInfo()
-
-- 接口说明
-
- 获取有关当前进程的信息,包括进程ID和名称(Promise形式)
-
-- 参数描述
-
- Null
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getProcessInfo().then((void) => {
- console.info("==========================>getProcessInfoCallback=======================>");
-});
-```
-
-
-
-#### Context.getElementName(callback: AsyncCallback\)
-
-- 接口说明
-
- 获取当前能力的ohos.bundle.ElementName对象。此方法仅适用于页面功能(callback形式)
-
-- 参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | -------- | -------- | --------------------------- | ---- | -------------------- |
- | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getElementName()
-```
-
-
-
-#### Context.getElementName()
-
-- 接口说明
-
- 获取当前能力的ohos.bundle.ElementName对象。此方法仅适用于页面功能(Promise形式)
-
-- 参数描述
-
- Null
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getElementName().then((void) => {
- console.info("==========================>getElementNameCallback=======================>");
-});
-```
-
-####
-
-#### Context.getProcessName(callback: AsyncCallback\)
-
-- 接口说明
-
- 获取当前进程的名称(callback形式)
-
-- 参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | -------- | -------- | ---------------------- | ---- | -------------------- |
- | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getProcessName()
-```
-
-
-
-#### Context.getProcessName()
-
-- 接口说明
-
- 获取当前进程的名称(Promise形式)
-
-- 参数描述
-
- Null
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getProcessName().then((void) => {
- console.info("==========================>getProcessNameCallback=======================>");
-});
-```
-
-
-
-#### Context.getCallingBundle(callback: AsyncCallback\)
-
-- 接口说明
-
- 获取调用当前能力的能力的捆绑包名称(callback形式)
-
-- 参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | -------- | -------- | ---------------------- | ---- | -------------------- |
- | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getCallingBundle()
-```
-
-
-
-#### Context.getCallingBundle()
-
-- 接口说明
-
- 获取调用当前能力的能力的捆绑包名称(Promise形式)
-
-- 参数描述
-
- Null
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-import featureAbility from '@ohos.ability.featureAbility'
-var context = featureAbility.getContext();
-context.getCallingBundle().then((void) => {
- console.info("==========================>getCallingBundleCallback=======================>");
-});
-```
-
+# Context模块(JS端SDK接口)
+
+#### 支持设备
+
+| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 |
+| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ |
+| Context.getOrCreateLocalDir(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getOrCreateLocalDir() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.verifyPermission(permission: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.verifyPermission(permission: string, options?: PermissionOptions) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.requestPermissionsFromUser(permissions: Array\, requestCode: number, resultCallback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getApplicationInfo(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getApplicationInfo() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getBundleName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getBundleName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getProcessInfo(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getProcessInfo() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getElementName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getElementName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getProcessName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getProcessName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getCallingBundle(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+| Context.getCallingBundle() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
+
+#### 权限列表
+
+**ohos.permission.RUNNING_LOCK permission**
+
+#### 导入模块
+
+```
+import featureAbility from '@ohos.ability.featureAbility'
+import bundle from '@ohos.bundle'
+```
+
+#### Context.getOrCreateLocalDir(callback: AsyncCallback\)
+
+- 接口说明
+
+ 获取应用程序的本地根目录。如果是第一次调用,将创建目录(callback形式)
+
+- getOrCreateLocalDir参数描述
+
+
+| 名称 | 读写属性 | 类型 | 必填 | 描述 |
+| -------- | -------- | ----------------------- | ---- | ---------------- |
+| callback | 只读 | AsyncCallback\) | 是 | 被指定的回调方法 |
+
+- 返回值
+
+ 根目录
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getOrCreateLocalDir()
+```
+
+
+
+#### Context.getOrCreateLocalDir()
+
+- 接口说明
+
+ 获取应用程序的本地根目录。如果是第一次调用,将创建目录(Promise形式)
+
+- 返回值
+
+ 根目录
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getOrCreateLocalDir().then((void) => {
+ console.info("==========================>getOrCreateLocalDirCallback=======================>");
+});
+```
+
+
+
+#### Context.verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\)
+
+- 接口说明
+
+ 验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)
+
+- verifyPermission参数描述
+
+
+| 名称 | 读写属性 | 类型 | 必填 | 描述 |
+| ---------- | -------- | ---------------------- | ---- | ---------------- |
+| permission | 只读 | string | 是 | 指定权限的名称 |
+| options | 只读 | PermissionOptions | 是 | 进程id |
+| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 |
+
+- PermissionOptions类型说明
+
+| 名称 | 读写属性 | 类型 | 必填 | 描述 |
+| ---- | -------- | ------ | ---- | ------ |
+| pid | 只读 | number | 否 | 进程id |
+| uid | 只读 | number | 否 | 用户id |
+
+- 返回值
+
+ 如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+import bundle from '@ohos.bundle'
+var context = featureAbility.getContext();
+var datainfo = await bundle.getBundleInfo('com.context.test',1);
+context.verifyPermission("com.example.permission",datainfo.uid,)
+
+```
+
+
+
+#### Context.verifyPermission(permission: string, callback: AsyncCallback\)
+
+- 接口说明
+
+ 验证系统中运行的特定pid和uid是否允许指定的权限(callback形式)
+
+- 参数描述
+
+
+| 名称 | 读写属性 | 类型 | 必填 | 描述 |
+| ---------- | -------- | ----------------------- | ---- | ---------------- |
+| permission | 只读 | string | 是 | 指定权限的名称 |
+| callback | 只读 | AsyncCallback\) | 是 | 被指定的回调方法 |
+
+- 返回值
+
+ 如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.verifyPermission("com.example.permission")
+```
+
+
+
+#### Context.verifyPermission(permission: string, options?: PermissionOptions)
+
+- 接口说明
+
+ 验证系统中运行的特定pid和uid是否允许指定的权限(Promise形式)
+- verifyPermission参数描述
+
+
+| 名称 | 读写属性 | 类型 | 必填 | 描述 |
+| ---------- | -------- | ----------------- | ---- | -------------- |
+| permission | 只读 | string | 是 | 指定权限的名称 |
+| options | 只读 | PermissionOptions | 否 | 进程id |
+
+- PermissionOptions类型说明
+
+| 名称 | 读写属性 | 类型 | 必填 | 描述 |
+| ---- | -------- | ------ | ---- | ------ |
+| pid | 只读 | number | 否 | 进程id |
+| uid | 只读 | number | 否 | 用户id |
+
+- 返回值
+
+ 如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+var Permission = context.PermissionOptions(1,1);
+context.getOrCreateLocalDir('com.context.permission',Permission).then((void) => {
+ console.info("==========================>verifyPermissionCallback=======================>");
+});
+```
+
+
+
+#### Context.requestPermissionsFromUser(permissions: Array\, requestCode: number, resultCallback: AsyncCallback\)
+
+- 接口说明
+
+ 从系统请求某些权限(callback形式)
+
+- requestPermissionsFromUser参数描述
+
+
+| 名称 | 读写属性 | 类型 | 必填 | 描述 |
+| -------------- | -------- | ---------------------------------------- | ---- | --------------------------------------------- |
+| permissions | 只读 | Array\ | 是 | 指示要请求的权限列表。此参数不能为null |
+| requestCode | 只读 | number | 是 | 指示要传递给PermissionRequestResult的请求代码 |
+| resultCallback | 只读 | AsyncCallback\) | 是 | 被指定的回调方法 |
+- PermissionRequestResult类型说明
+
+| 名称 | 读写属性 | 类型 | 必填 | 描述 |
+| ----------- | -------- | -------------- | ---- | ------------------ |
+| requestCode | 只读 | number | 是 | 用户传入的请求代码 |
+| permissions | 只读 | Array\ | 是 | 用户传入的权限 |
+| authResults | 只读 | Array\ | 是 | 求权限的结果 |
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getOrCreateLocalDir(
+ ["com.example.permission1",
+ "com.example.permission2",
+ "com.example.permission3",
+ "com.example.permission4",
+ "com.example.permission5"],
+ 1,
+)
+```
+
+
+
+#### Context.getApplicationInfo(callback: AsyncCallback\)
+
+- 接口说明
+
+ 获取有关当前应用程序的信息(callback形式)
+
+- 参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | -------- | -------- | ------------------------------- | ---- | -------------------- |
+ | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getApplicationInfo()
+```
+
+
+
+#### Context.getApplicationInfo()
+
+- 接口说明
+
+ 获取有关当前应用程序的信息(Promise形式)
+
+- 参数描述
+
+ Null
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getApplicationInfo().then((void) => {
+ console.info("==========================>getApplicationInfoCallback=======================>");
+});
+```
+
+
+
+#### Context.getBundleName(callback: AsyncCallback\)
+
+- 接口说明
+
+ 获取当前ability的捆绑包名称(callback形式)
+
+- 参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | -------- | -------- | ---------------------- | ---- | -------------------- |
+ | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getBundleName()
+```
+
+
+
+#### Context.getBundleName()
+
+- 接口说明
+
+ 获取当前ability的捆绑包名称(Promise形式)
+
+- 参数描述
+
+ Null
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getBundleName().then((void) => {
+ console.info("==========================>getBundleNameCallback=======================>");
+});
+```
+
+
+
+#### Context.getProcessInfo(callback: AsyncCallback\)
+
+- 接口说明
+
+ 获取有关当前进程的信息,包括进程ID和名称(callback形式)
+
+- 参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | -------- | -------- | --------------------------- | ---- | -------------------- |
+ | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getProcessInfo()
+```
+
+
+
+#### Context.getProcessInfo()
+
+- 接口说明
+
+ 获取有关当前进程的信息,包括进程ID和名称(Promise形式)
+
+- 参数描述
+
+ Null
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getProcessInfo().then((void) => {
+ console.info("==========================>getProcessInfoCallback=======================>");
+});
+```
+
+
+
+#### Context.getElementName(callback: AsyncCallback\)
+
+- 接口说明
+
+ 获取当前能力的ohos.bundle.ElementName对象。此方法仅适用于页面功能(callback形式)
+
+- 参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | -------- | -------- | --------------------------- | ---- | -------------------- |
+ | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getElementName()
+```
+
+
+
+#### Context.getElementName()
+
+- 接口说明
+
+ 获取当前能力的ohos.bundle.ElementName对象。此方法仅适用于页面功能(Promise形式)
+
+- 参数描述
+
+ Null
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getElementName().then((void) => {
+ console.info("==========================>getElementNameCallback=======================>");
+});
+```
+
+####
+
+#### Context.getProcessName(callback: AsyncCallback\)
+
+- 接口说明
+
+ 获取当前进程的名称(callback形式)
+
+- 参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | -------- | -------- | ---------------------- | ---- | -------------------- |
+ | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getProcessName()
+```
+
+
+
+#### Context.getProcessName()
+
+- 接口说明
+
+ 获取当前进程的名称(Promise形式)
+
+- 参数描述
+
+ Null
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getProcessName().then((void) => {
+ console.info("==========================>getProcessNameCallback=======================>");
+});
+```
+
+
+
+#### Context.getCallingBundle(callback: AsyncCallback\)
+
+- 接口说明
+
+ 获取调用当前能力的能力的捆绑包名称(callback形式)
+
+- 参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | -------- | -------- | ---------------------- | ---- | -------------------- |
+ | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 |
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getCallingBundle()
+```
+
+
+
+#### Context.getCallingBundle()
+
+- 接口说明
+
+ 获取调用当前能力的能力的捆绑包名称(Promise形式)
+
+- 参数描述
+
+ Null
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+import featureAbility from '@ohos.ability.featureAbility'
+var context = featureAbility.getContext();
+context.getCallingBundle().then((void) => {
+ console.info("==========================>getCallingBundleCallback=======================>");
+});
+```
+
diff --git a/zh-cn/application-dev/js-reference/DataUriUtils.md b/zh-cn/application-dev/js-reference/apis/js-apis-DataUriUtils.md
similarity index 95%
rename from zh-cn/application-dev/js-reference/DataUriUtils.md
rename to zh-cn/application-dev/js-reference/apis/js-apis-DataUriUtils.md
index b48444381fb7f1847dd65432d10efdfb0b892a63..876057ea7d8dc0889f376ed4badf779fa424a5e8 100644
--- a/zh-cn/application-dev/js-reference/DataUriUtils.md
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-DataUriUtils.md
@@ -1,122 +1,122 @@
-### DataUriUtils模块(JS端SDK接口)
-
-#### 权限列表
-
-ohos.permission.RUNNING_LOCK permission
-
-#### 导入模块
-
-```js
-import notify from '@ohos.ability.dataUriUtils';
-```
-
-#### DataUriUtils.getId(uri: string)
-
-- 接口说明
-
- 获取附加到给定uri的路径组件末尾的ID
-
-- 参数描述
-
-
-| 名称 | 读写属性 | 类型 | 必填 | 描述 |
-| ---- | -------- | ------ | ---- | ------------------------- |
-| uri | 只读 | string | 是 | 指示要从中获取ID的uri对象 |
-
-- 返回值
-
- 附加到路径组件末尾的ID
-
-- 示例
-
-```js
-import dataUriUtils from '@ohos.ability.datauriutils'
-dataUriUtils.getIdSync("com.example.dataUriUtils/1221")
-```
-
-
-
-#### DataUriUtils.attachId(uri: string, id: number)
-
-- 接口说明
-
- 将给定ID附加到给定uri的路径组件的末尾
-
-- 参数描述
-
-
-| 名称 | 读写属性 | 类型 | 必填 | 描述 |
-| ---- | -------- | ------ | ---- | ------------------------- |
-| uri | 只读 | string | 是 | 指示要从中获取ID的uri对象 |
-| id | 只读 | number | 是 | 指示要附加的ID |
-
-- 返回值
-
- 附加给定ID的uri对象
-
-- 示例
-
-```js
-import dataUriUtils from '@ohos.ability.datauriutils'
-var idint = 1122;
-dataUriUtils.attachId(
- "com.example.dataUriUtils"
- idint,
-)
-```
-
-
-
-#### DataUriUtils.deleteId(uri: string)
-
-- 接口说明
-
- 从给定uri的路径组件的末尾删除ID
-
-- 参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---- | -------- | ------ | ---- | ------------------------- |
- | uri | 只读 | string | 是 | 指示要从中删除ID的uri对象 |
-
-- 返回值
-
- ID已删除的uri对象
-
-- 示例
-
-```js
-import dataUriUtils from '@ohos.ability.datauriutils'
-dataUriUtils.deleteId("com.example.dataUriUtils/1221")
-```
-
-
-
-#### DataUriUtils.updateId(uri: string, id: number)
-
-- 接口说明
-
- 更新指定uri中的ID
-
-- updateId参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---- | -------- | ------ | ---- | ------------------- |
- | uri | 只读 | string | 是 | 指示要更新的uri对象 |
- | id | 只读 | number | 是 | 指示新ID |
-
-- 返回值
-
- 更新的uri对象
-
-- 示例
-
-```js
-import dataUriUtils from '@ohos.ability.datauriutils'
-var idint = 1122;
-dataUriUtils.updateId(
- "com.example.dataUriUtils"
- idint,
-)
-```
-
+### DataUriUtils模块(JS端SDK接口)
+
+#### 权限列表
+
+ohos.permission.RUNNING_LOCK permission
+
+#### 导入模块
+
+```js
+import notify from '@ohos.ability.dataUriUtils';
+```
+
+#### DataUriUtils.getId(uri: string)
+
+- 接口说明
+
+ 获取附加到给定uri的路径组件末尾的ID
+
+- 参数描述
+
+
+| 名称 | 读写属性 | 类型 | 必填 | 描述 |
+| ---- | -------- | ------ | ---- | ------------------------- |
+| uri | 只读 | string | 是 | 指示要从中获取ID的uri对象 |
+
+- 返回值
+
+ 附加到路径组件末尾的ID
+
+- 示例
+
+```js
+import dataUriUtils from '@ohos.ability.datauriutils'
+dataUriUtils.getIdSync("com.example.dataUriUtils/1221")
+```
+
+
+
+#### DataUriUtils.attachId(uri: string, id: number)
+
+- 接口说明
+
+ 将给定ID附加到给定uri的路径组件的末尾
+
+- 参数描述
+
+
+| 名称 | 读写属性 | 类型 | 必填 | 描述 |
+| ---- | -------- | ------ | ---- | ------------------------- |
+| uri | 只读 | string | 是 | 指示要从中获取ID的uri对象 |
+| id | 只读 | number | 是 | 指示要附加的ID |
+
+- 返回值
+
+ 附加给定ID的uri对象
+
+- 示例
+
+```js
+import dataUriUtils from '@ohos.ability.datauriutils'
+var idint = 1122;
+dataUriUtils.attachId(
+ "com.example.dataUriUtils"
+ idint,
+)
+```
+
+
+
+#### DataUriUtils.deleteId(uri: string)
+
+- 接口说明
+
+ 从给定uri的路径组件的末尾删除ID
+
+- 参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ---- | -------- | ------ | ---- | ------------------------- |
+ | uri | 只读 | string | 是 | 指示要从中删除ID的uri对象 |
+
+- 返回值
+
+ ID已删除的uri对象
+
+- 示例
+
+```js
+import dataUriUtils from '@ohos.ability.datauriutils'
+dataUriUtils.deleteId("com.example.dataUriUtils/1221")
+```
+
+
+
+#### DataUriUtils.updateId(uri: string, id: number)
+
+- 接口说明
+
+ 更新指定uri中的ID
+
+- updateId参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | ---- | -------- | ------ | ---- | ------------------- |
+ | uri | 只读 | string | 是 | 指示要更新的uri对象 |
+ | id | 只读 | number | 是 | 指示新ID |
+
+- 返回值
+
+ 更新的uri对象
+
+- 示例
+
+```js
+import dataUriUtils from '@ohos.ability.datauriutils'
+var idint = 1122;
+dataUriUtils.updateId(
+ "com.example.dataUriUtils"
+ idint,
+)
+```
+
diff --git a/zh-cn/application-dev/js-reference/apis/js-apis-ability.md b/zh-cn/application-dev/js-reference/apis/js-apis-ability.md
new file mode 100644
index 0000000000000000000000000000000000000000..08fbf6e592c0c8259b604ecea5ad08354276ef31
--- /dev/null
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-ability.md
@@ -0,0 +1,10 @@
+# Ability框架
+
+- [FeatureAbility模块](js-apis-featureAbility.md)
+- [ParticleAbility模块](js-apis-particleAbility.md)
+- [DataAbilityHelper模块](js-apis-dataAbilityHelper.md)
+- [DataUriUtils模块](js-apis-DataUriUtils.md)
+- [Bundle模块](js-apis-Bundle.md)
+- [CommonEvent模块](js-apis-commonEvent.md)
+- [Notification模块](js-apis-notification.md)
+- [Context模块](js-apis-Context.md)
\ No newline at end of file
diff --git a/zh-cn/application-dev/js-reference/apis/js-apis-animator.md b/zh-cn/application-dev/js-reference/apis/js-apis-animator.md
new file mode 100644
index 0000000000000000000000000000000000000000..4868bf20bda099ef032eb2960dd5c0607c292d6b
--- /dev/null
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-animator.md
@@ -0,0 +1,429 @@
+# 动画
+
+> **说明:**
+>从API Version 6 开始支持。
+
+## 导入模块
+
+requestAnimationFrame:无需导入
+
+cancelAnimationFrame:无需导入
+
+createAnimator:
+
+```
+import animator from '@ohos.animator';
+```
+
+## 权限列表
+
+无
+
+## requestAnimationFrame
+
+requestAnimationFrame\(handler\[, \[ ...args\]\]\): number
+
+请求动画帧,逐帧回调JS函数。
+
+- 参数
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ handler
+
+ Function
+
+ 是
+
+ 表示要逐帧回调的函数。requestAnimationFrame函数回调handler函数时会在第一个参数位置传入timestamp时间戳。它表示requestAnimationFrame开始去执行回调函数的时刻。
+
+
+ ...args
+
+ Array<any>
+
+ 否
+
+ 附加参数,函数回调时,他们会作为参数传递给handler。
+
+
+
+
+
+- 返回值
+
+
+ 类型
+
+ 说明
+
+
+
+ number
+
+ requestID请求的ID。
+
+
+
+
+
+- 示例
+
+ ```
+ data: {
+ requestId: 0,
+ startTime: 0,
+ },
+ beginAnimation() {
+ cancelAnimationFrame(this.requestId);
+ this.requestId = requestAnimationFrame(this.runAnimation);
+ },
+ runAnimation(timestamp) {
+ if (this.startTime == 0) {
+ this.startTime = timestamp;
+ }
+ var elapsed = timestamp - this.startTime;
+ if (elapsed < 500) {
+ console.log('callback handler timestamp: ' + timestamp);
+ this.requestId = requestAnimationFrame(this.runAnimation);
+ }
+ }
+ ```
+
+
+## cancelAnimationFrame
+
+cancelAnimationFrame\(requestId: number\): void
+
+取消动画帧,取消逐帧回调请求。
+
+- 参数
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ requestId
+
+ number
+
+ 是
+
+ 逐帧回调函数的标识id。
+
+
+
+
+
+- 示例
+
+ ```
+ data: {
+ requestId: 0,
+ startTime: 0,
+ },
+ beginAnimation() {
+ cancelAnimationFrame(this.requestId);
+ this.requestId = requestAnimationFrame(this.runAnimation);
+ },
+ runAnimation(timestamp) {
+ if (this.startTime == 0) {
+ this.startTime = timestamp;
+ }
+ var elapsed = timestamp - this.startTime;
+ if (elapsed < 500) {
+ console.log('callback handler timestamp: ' + timestamp);
+ this.requestId = requestAnimationFrame(this.runAnimation);
+ }
+ },
+ stopAnimation() {
+ cancelAnimationFrame(this.requestId);
+ }
+ ```
+
+
+## createAnimator
+
+createAnimator\(options\[...\]\): void
+
+创建动画对象。
+
+- 参数
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ options
+
+ Object
+
+ 是
+
+ 表示待创建Animator对象的属性,详情见下表options说明。
+
+
+
+
+
+- options说明
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ duration
+
+ number
+
+ 否
+
+ 动画播放的时长,单位毫秒,默认为0。
+
+
+ easing
+
+ string
+
+ 否
+
+ 动画插值曲线,默认为' ease '。
+
+
+ delay
+
+ number
+
+ 否
+
+ 动画延时播放时长,单位毫秒,默认为0,即不延时。
+
+
+ fill
+
+ string
+
+ 否
+
+ 动画启停模式,默认值none,详情见:animation-fill-mode
+
+
+ direction
+
+ string
+
+ 否
+
+ 动画播放模式,默认值normal,详情见:animation-direction
+
+
+ iterations
+
+ number
+
+ 否
+
+ 动画播放次数,默认值1,设置为0时不播放,设置为-1时无限次播放。
+
+
+ begin
+
+ number
+
+ 否
+
+ 动画插值起点,不设置时默认为0。
+
+
+ end
+
+ number
+
+ 否
+
+ 动画插值终点,不设置时默认为1。
+
+
+
+
+
+- animator支持的接口
+
+
+ 参数名
+
+ 类型
+
+ 说明
+
+
+
+ update
+
+ options
+
+ 过程中可以使用这个接口更新动画参数,入参与createAnimator一致。
+
+
+ play
+
+ -
+
+ 开始动画。
+
+
+ finish
+
+ -
+
+ 结束动画。
+
+
+ pause
+
+ -
+
+ 暂停动画。
+
+
+ cancel
+
+ -
+
+ 取消动画。
+
+
+ reverse
+
+ -
+
+ 倒播动画。
+
+
+
+
+
+
+- animator支持的事件:
+
+
+ 参数名
+
+ 类型
+
+ 说明
+
+
+
+ frame
+
+ number
+
+ 逐帧插值回调事件,入参为当前帧的插值
+
+
+ cancel
+
+ -
+
+ 动画被强制取消
+
+
+ finish
+
+ -
+
+ 动画播放完成
+
+
+ repeat
+
+ -
+
+ 动画重新播放
+
+
+
+
+
+- 示例
+
+ ```
+
+
+ ```
+
+ ```
+ // js
+ import Animator from "@ohos.animator";
+ export default {
+ data : {
+ divWidth: 200,
+ divHeight: 200,
+ animator: null
+ },
+ onInit() {
+ var options = {
+ duration: 1500,
+ easing: 'friction',
+ fill: 'forwards',
+ iterations: 2,
+ begin: 200.0,
+ end: 400.0
+ };
+ this.animator = Animator.createAnimator(options);
+ },
+ Show() {
+ var options1 = {
+ duration: 2000,
+ easing: 'friction',
+ fill: 'forwards',
+ iterations: 1,
+ begin: 200.0,
+ end: 400.0
+ };
+ this.animator.update(options1);
+ var _this = this;
+ this.animator.onframe = function(value) {
+ _this.divWidth = value;
+ _this.divHeight = value;
+ };
+ this.animator.play();
+ }
+ }
+ ```
+
+
diff --git a/zh-cn/application-dev/js-reference/apis/js-apis-audio.md b/zh-cn/application-dev/js-reference/apis/js-apis-audio.md
new file mode 100644
index 0000000000000000000000000000000000000000..bf78babb935e443924178790ea1b1b84b49f7501
--- /dev/null
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-audio.md
@@ -0,0 +1,2036 @@
+# 音频管理
+
+## 导入模块
+
+```
+import audio from '@ohos.multimedia.audio';
+```
+
+## 权限
+
+无
+
+## getAudioManager\(\): AudioManager
+
+获取音频管理器。
+
+**返回值:**
+
+
+
+
+**示例:**
+
+```
+var audioManager = audio.getAudioManager();
+```
+
+## AudioVolumeType
+
+枚举,音频流类型。
+
+
+ 名称
+
+ 默认值
+
+ 描述
+
+
+
+ RINGTONE
+
+ 2
+
+ 表示铃声。
+
+
+ MEDIA
+
+ 3
+
+ 表示媒体。
+
+
+
+
+
+## DeviceFlag
+
+枚举,可获取的设备种类。
+
+
+ 名称
+
+ 默认值
+
+ 描述
+
+
+
+ OUTPUT_DEVICES_FLAG
+
+ 1
+
+ 表示输出设备种类。
+
+
+ INPUT_DEVICES_FLAG
+
+ 2
+
+ 表示输入设备种类。
+
+
+ ALL_DEVICES_FLAG
+
+ 3
+
+ 表示所有设备种类。
+
+
+
+
+
+## DeviceRole
+
+枚举,设备角色。
+
+
+ 名称
+
+ 默认值
+
+ 描述
+
+
+
+ INPUT_DEVICE
+
+ 1
+
+ 输入设备角色。
+
+
+ OUTPUT_DEVICE
+
+ 2
+
+ 输出设备角色。
+
+
+
+
+
+## DeviceType
+
+枚举,设备类型。
+
+
+ 名称
+
+ 默认值
+
+ 描述
+
+
+
+ INVALID
+
+ 0
+
+ 无效设备。
+
+
+ SPEAKER
+
+ 1
+
+ 扬声器。
+
+
+ WIRED_HEADSET
+
+ 2
+
+ 有线耳机。
+
+
+ BLUETOOTH_SCO
+
+ 3
+
+ SCO(Synchronous Connection Oriented Link)蓝牙设备。
+
+
+ BLUETOOTH_A2DP
+
+ 4
+
+ A2DP(Advanced Audio Distribution Profile )蓝牙设备。
+
+
+ MIC
+
+ 5
+
+ 麦克风。
+
+
+
+
+
+## AudioRingMode7+
+
+枚举,铃声模式。
+
+
+ 名称
+
+ 默认值
+
+ 描述
+
+
+
+ RINGER_MODE_SILENT
+
+ 0
+
+ 静音模式
+
+
+ RINGER_MODE_VIBRATE
+
+ 1
+
+ 震动模式
+
+
+ RINGER_MODE_NORMAL
+
+ 2
+
+ 响铃模式
+
+
+
+
+
+## AudioManager
+
+管理音频音量和音频设备。
+
+### setVolume\(volumeType: AudioVolumeType, volume: number, callback: AsyncCallback\): void
+
+设置指定流的音量,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+ volume
+
+ number
+
+ 是
+
+ 音量等级,可设置范围通过getMinVolume和getMaxVolume获取。
+
+
+ callback
+
+ AsyncCallback<void>
+
+ 是
+
+ 回调表示成功还是失败。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10, (err)=>{
+ if (err) {
+ console.error('Failed to set the volume. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate a successful volume setting.');
+})
+```
+
+### setVolume\(volumeType: AudioVolumeType, volume: number\): Promise
+
+设置指定流的音量,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+ volume
+
+ number
+
+ 是
+
+ 音量等级,可设置范围通过getMinVolume和getMaxVolume获取。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<void>
+
+ Promise回调表示成功还是失败。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.setVolume(audio.AudioVolumeType.MEDIA, 10).then(()=>
+ console.log('Promise returned to indicate a successful volume setting.');
+)
+```
+
+### getVolume\(volumeType: AudioVolumeType, callback: AsyncCallback\): void
+
+获取指定流的音量,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+ callback
+
+ AsyncCallback<number>
+
+ 是
+
+ 回调返回音量大小。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.getVolume(audio.AudioVolumeType.MEDIA, (err, value) => {
+ if (err) {
+ console.error('Failed to obtain the volume. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the volume is obtained.');
+})
+```
+
+### getVolume\(volumeType: AudioVolumeType\): Promise
+
+获取指定流的音量,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<number>
+
+ Promise回调返回音量大小。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.getVolume(audio.AudioVolumeType.MEDIA).then((value) =>
+ console.log('Promise returned to indicate that the volume is obtained.' + value);
+)
+```
+
+### getMinVolume\(volumeType: AudioVolumeType, callback: AsyncCallback\): void
+
+获取指定流的最小音量,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+ callback
+
+ AsyncCallback<number>
+
+ 是
+
+ 回调返回最小音量。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.getMinVolume(audio.AudioVolumeType.MEDIA, (err, value) => {
+ if (err) {
+ console.error('Failed to obtain the minimum volume. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the minimum volume is obtained.' + value);
+})
+```
+
+### getMinVolume\(volumeType: AudioVolumeType\): Promise
+
+获取指定流的最小音量,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<number>
+
+ Promise回调返回最小音量。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.getMinVolume(audio.AudioVolumeType.MEDIA).then((value) =>
+ console.log('Promised returned to indicate that the minimum volume is obtained.' + value);
+)
+```
+
+### getMaxVolume\(volumeType: AudioVolumeType, callback: AsyncCallback\): void
+
+获取指定流的最大音量,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+ callback
+
+ AsyncCallback<number>
+
+ 是
+
+ 回调返回最大音量大小。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA, (err, value) => {
+ if (err) {
+ console.error('Failed to obtain the maximum volume. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the maximum volume is obtained.' + value);
+})
+```
+
+### getMaxVolume\(volumeType: AudioVolumeType\): Promise
+
+获取指定流的最大音量,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<number>
+
+ Promise回调返回最大音量大小。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.getMaxVolume(audio.AudioVolumeType.MEDIA).then((data)=>
+ console.log('Promised returned to indicate that the maximum volume is obtained.');
+)
+```
+
+### mute\(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback\): void7+
+
+设置指定音量流静音,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+ mute
+
+ boolean
+
+ 是
+
+ 静音状态,true为静音,false为非静音。
+
+
+ callback
+
+ AsyncCallback<void>
+
+ 是
+
+ 回调表示成功还是失败。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.mute(audio.AudioVolumeType.MEDIA, true, (err) => {
+ if (err) {
+ console.error('Failed to mute the stream. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the stream is muted.');
+})
+```
+
+### mute\(volumeType: AudioVolumeType, mute: boolean\): Promise7+
+
+设置指定音量流静音,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+ mute
+
+ boolean
+
+ 是
+
+ 静音状态,true为静音,false为非静音。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<void>
+
+ Promise回调表示成功还是失败。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.mute(audio.AudioVolumeType.MEDIA, true).then(() =>
+ console.log('Promise returned to indicate that the stream is muted.');
+)
+```
+
+### isMute\(volumeType: AudioVolumeType, callback: AsyncCallback\): void7+
+
+获取指定音量流是否被静音,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+ callback
+
+ AsyncCallback<boolean>
+
+ 是
+
+ 回调返回流静音状态,true为静音,false为非静音。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.isMute(audio.AudioVolumeType.MEDIA, (err, value) => {
+ if (err) {
+ console.error('Failed to obtain the mute status. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the mute status of the stream is obtained.' + value);
+})
+```
+
+### isMute\(volumeType: AudioVolumeType\): Promise7+
+
+获取指定音量流是否被静音,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<boolean>
+
+ Promise回调返回流静音状态,true为静音,false为非静音。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.isMute(audio.AudioVolumeType.MEDIA).then((value) =>
+ console.log('Promise returned to indicate that the mute status of the stream is obtained.' + value);
+)
+```
+
+### isActive\(volumeType: AudioVolumeType, callback: AsyncCallback\): void7+
+
+获取指定音量流是否为活跃状态,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+ callback
+
+ AsyncCallback<boolean>
+
+ 是
+
+ 回调返回流的活跃状态,true为活跃,false为不活跃。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.isActive(audio.AudioVolumeType.MEDIA, (err, value) => {
+ if (err) {
+ console.error('Failed to obtain the active status of the stream. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the active status of the stream is obtained.' + value);
+})
+```
+
+### isActive\(volumeType: AudioVolumeType\): Promise7+
+
+获取指定音量流是否为活跃状态,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ volumeType
+
+AudioVolumeType
+
+ 是
+
+ 音量流类型。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<boolean>
+
+ Promise回调返回流的活跃状态,true为活跃,false为不活跃。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.isActive(audio.AudioVolumeType.MEDIA).then((value) =>
+ console.log('Promise returned to indicate that the active status of the stream is obtained.' + value);
+)
+```
+
+### setRingerMode\(mode: AudioRingMode, callback: AsyncCallback\): void7+
+
+设置铃声模式,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ mode
+
+AudioRingMode
+
+ 是
+
+ 音频铃声模式。
+
+
+ callback
+
+ AsyncCallback<void>
+
+ 是
+
+ 回调返回设置成功或失败。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL, (err) => {
+ if (err) {
+ console.error('Failed to set the ringer mode. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate a successful setting of the ringer mode.');
+})
+```
+
+### setRingerMode\(mode: AudioRingMode\): Promise7+
+
+设置铃声模式,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ mode
+
+AudioRingMode
+
+ 是
+
+ 音频铃声模式。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<void>
+
+ Promise回调返回设置成功或失败。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.setRingerMode(audio.AudioRingMode.RINGER_MODE_NORMAL).then(() =>
+ console.log('Promise returned to indicate a successful setting of the ringer mode.');
+)
+```
+
+### getRingerMode\(callback: AsyncCallback\): void7+
+
+获取铃声模式,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ callback
+
+ AsyncCallback<AudioRingMode >
+
+ 是
+
+ 回调返回系统的铃声模式。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.getRingerMode((err, value) => {
+ if (err) {
+ console.error('Failed to obtain the ringer mode. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the ringer mode is obtained.' + value);
+})
+```
+
+### getRingerMode\(\): Promise7+
+
+获取铃声模式,使用promise方式返回异步结果。
+
+**参数:**
+
+无
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<AudioRingMode >
+
+ Promise回调返回系统的铃声模式。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.getRingerMode().then((value) =>
+ console.log('Promise returned to indicate that the ringer mode is obtained.' + value);
+)
+```
+
+### setAudioParameter\(key: string, value: string, callback: AsyncCallback\): void7+
+
+音频参数设置,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ key
+
+ string
+
+ 是
+
+ 被设置的音频参数的键。
+
+
+ value
+
+ string
+
+ 是
+
+ 被设置的音频参数的值。
+
+
+ callback
+
+ AsyncCallback<void>
+
+ 是
+
+ 回调返回设置成功或失败。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.setAudioParameter('PBits per sample', '8 bit', (err) => {
+ if (err) {
+ console.error('Failed to set the audio parameter. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate a successful setting of the audio parameter.');
+})
+```
+
+### setAudioParameter\(key: string, value: string\): Promise7+
+
+音频参数设置,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ key
+
+ string
+
+ 是
+
+ 被设置的音频参数的键。
+
+
+ value
+
+ string
+
+ 是
+
+ 被设置的音频参数的值。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<void>
+
+ Promise回调返回设置成功或失败。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.setAudioParameter('PBits per sample', '8 bit').then(() =>
+ console.log('Promise returned to indicate a successful setting of the audio parameter.');
+)
+```
+
+### getAudioParameter\(key: string, callback: AsyncCallback\): void7+
+
+获取指定音频参数值,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ key
+
+ string
+
+ 是
+
+ 待获取的音频参数的键。
+
+
+ callback
+
+ AsyncCallback<string>
+
+ 是
+
+ 回调返回获取的音频参数的值。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.getAudioParameter('PBits per sample', (err, value) => {
+ if (err) {
+ console.error('Failed to obtain the value of the audio parameter. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the value of the audio parameter is obtained.' + value);
+})
+```
+
+### getAudioParameter\(key: string\): Promise7+
+
+获取指定音频参数值,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ key
+
+ string
+
+ 是
+
+ 待获取的音频参数的键。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<string>
+
+ Promise回调返回获取的音频参数的值。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.getAudioParameter('PBits per sample').then((value) =>
+ console.log('Promise returned to indicate that the value of the audio parameter is obtained.' + value);
+)
+```
+
+### getDevices\(deviceFlag: DeviceFlag, callback: AsyncCallback\): void
+
+获取音频设备列表,使用callback方式返回异步结果。
+
+**参数:**
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (err, value)=>{
+ if (err) {
+ console.error('Failed to obtain the device list. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the device list is obtained.');
+})
+```
+
+### getDevices\(deviceFlag: DeviceFlag\): Promise
+
+获取音频设备列表,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ deviceFlag
+
+DeviceFlag
+
+ 是
+
+ 设备类型的flag。
+
+
+
+
+
+**返回值:**
+
+
+
+
+**示例:**
+
+```
+audioManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data)=>
+ console.log('Promise returned to indicate that the device list is obtained.');
+)
+```
+
+### setDeviceActive\(deviceType: DeviceType, active: boolean, callback: AsyncCallback\): void7+
+
+设置设备激活状态,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ deviceType
+
+DeviceType
+
+ 是
+
+ 音频设备类型。
+
+
+ active
+
+ boolean
+
+ 是
+
+ 设备激活状态。
+
+
+ callback
+
+ AsyncCallback<void>
+
+ 是
+
+ 回调返回设置成功或失败。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.setDeviceActive(audio.DeviceType.SPEAKER, true, (err)=> {
+ if (err) {
+ console.error('Failed to set the active status of the device. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the device is set to the active status.');
+})
+```
+
+### setDeviceActive\(deviceType: DeviceType, active: boolean\): Promise7+
+
+设置设备激活状态,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ deviceType
+
+DeviceType
+
+ 是
+
+ 音频设备类型。
+
+
+ active
+
+ boolean
+
+ 是
+
+ 设备激活状态。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<void>
+
+ Promise回调返回设置成功或失败。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.setDeviceActive(audio.DeviceType.SPEAKER, true).then(()=>
+ console.log('Promise returned to indicate that the device is set to the active status.');
+)
+```
+
+### isDeviceActive\(deviceType: DeviceType, callback: AsyncCallback\): void7+
+
+获取指定设备激活状态,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ deviceType
+
+DeviceType
+
+ 是
+
+ 音频设备类型。
+
+
+ callback
+
+ AsyncCallback<boolean>
+
+ 是
+
+ 回调返回设备的激活状态。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.isDeviceActive(audio.DeviceType.SPEAKER, (err, value) => {
+ if (err) {
+ console.error('Failed to obtain the active status of the device. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the active status of the device is obtained.');
+})
+```
+
+### isDeviceActive\(deviceType: DeviceType\): Promise7+
+
+获取指定设备激活状态,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ deviceType
+
+DeviceType
+
+ 是
+
+ 音频设备类型。
+
+
+
+
+
+**返回值:**
+
+
+ Type
+
+ Description
+
+
+
+ Promise<boolean>
+
+ Promise回调返回设备的激活状态。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.isDeviceActive(audio.DeviceType.SPEAKER).then((value) =>
+ console.log('Promise returned to indicate that the active status of the device is obtained.' + value);
+)
+```
+
+### setMicrophoneMute\(mute: boolean, callback: AsyncCallback\): void7+
+
+设置麦克风静音状态,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ mute
+
+ boolean
+
+ 是
+
+ 待设置的静音状态,true为静音,false为非静音。
+
+
+ callback
+
+ AsyncCallback<void>
+
+ 是
+
+ 回调返回设置成功或失败。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.setMicrophoneMute(true, (err) => {
+ if (err) {
+ console.error('Failed to mute the microphone. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the microphone is muted.');
+})
+```
+
+### setMicrophoneMute\(mute: boolean\): Promise7+
+
+设置麦克风静音状态,使用promise方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ mute
+
+ boolean
+
+ 是
+
+ 待设置的静音状态,true为静音,false为非静音。
+
+
+
+
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<void>
+
+ Promise回调返回设置成功或失败。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.setMicrophoneMute(true).then(() =>
+ console.log('Promise returned to indicate that the microphone is muted.');
+)
+```
+
+### isMicrophoneMute\(callback: AsyncCallback\): void7+
+
+获取麦克风静音状态,使用callback方式返回异步结果。
+
+**参数:**
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ callback
+
+ AsyncCallback<boolean>
+
+ 是
+
+ 回调返回系统麦克风静音状态,true为静音,false为非静音。
+
+
+
+
+
+**返回值:**
+
+无
+
+**示例:**
+
+```
+audioManager.isMicrophoneMute((err, value) => {
+ if (err) {
+ console.error('Failed to obtain the mute status of the microphone. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the mute status of the microphone is obtained.' + value);
+})
+```
+
+### isMicrophoneMute\(\): Promise7+
+
+获取麦克风静音状态,使用promise方式返回异步结果。
+
+**参数:**
+
+无
+
+**返回值:**
+
+
+ 类型
+
+ 说明
+
+
+
+ Promise<boolean>
+
+ Promise回调返回系统麦克风静音状态,true为静音,false为非静音。
+
+
+
+
+
+**示例:**
+
+```
+audioManager.isMicrophoneMute().then((value) =>
+ console.log('Promise returned to indicate that the mute status of the microphone is obtained.', + value);
+)
+```
+
+## AudioDeviceDescriptor
+
+描述音频设备。
+
+### 属性
+
+
+ 名称
+
+ 参数型
+
+ 可读
+
+ 可写
+
+ 说明
+
+
+
+ deviceRole
+
+DeviceRole
+
+ 是
+
+ 否
+
+ 设备角色。
+
+
+ deviceType
+
+DeviceType
+
+ 是
+
+ 否
+
+ 设备类型。
+
+
+
+
+
+## AudioDeviceDescriptors
+
+
+ 名称
+
+ 描述
+
+
+
+ 设备属性数组
+
+ AudioDeviceDescriptor的数组,只读。
+
+
+
+
+
diff --git a/zh-cn/application-dev/js-reference/apis/js-apis-basic-features-logs.md b/zh-cn/application-dev/js-reference/apis/js-apis-basic-features-logs.md
new file mode 100644
index 0000000000000000000000000000000000000000..ce8bcaee8af066587fb212f05a4ae3c7b4e532d9
--- /dev/null
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-basic-features-logs.md
@@ -0,0 +1,186 @@
+# 日志打印
+
+## 导入模块
+
+无需导入。
+
+## 权限列表
+
+无
+
+## console.debug
+
+debug\(message: string\): void
+
+打印debug级别的日志信息。
+
+- 参数
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ message
+
+ string
+
+ 是
+
+ 表示要打印的文本信息。
+
+
+
+
+
+
+## console.log
+
+log\(message: string\): void
+
+打印log级别的日志信息。
+
+- 参数
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ message
+
+ string
+
+ 是
+
+ 表示要打印的文本信息。
+
+
+
+
+
+ > **说明:**
+ >console.log\(\)打印的是debug级别日志信息。
+
+
+## console.info
+
+info\(message: string\): void
+
+打印info级别的日志信息。
+
+- 参数
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ message
+
+ string
+
+ 是
+
+ 表示要打印的文本信息。
+
+
+
+
+
+
+## console.warn
+
+warn\(message: string\): void
+
+打印warn级别的日志信息。
+
+- 参数
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ message
+
+ string
+
+ 是
+
+ 表示要打印的文本信息。
+
+
+
+
+
+
+## console.error
+
+error\(message: string\): void
+
+打印error级别的日志信息。
+
+- 参数
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ message
+
+ string
+
+ 是
+
+ 表示要打印的文本信息。
+
+
+
+
+
+
+## 示例
+
+```
+var versionCode = 1;
+console.info('Hello World. The current version code is ' + versionCode);
+console.log(`versionCode: ${versionCode}`)
+console.log('versionCode:%d.', versionCode);6+
+```
+
+在DevEco Studio的底部,切换到“HiLog”窗口。选择当前的设备及进程,日志级别选择Info,搜索内容设置为“Hello World”。此时窗口仅显示符合条件的日志,效果如图所示:
+
+
+
diff --git a/zh-cn/application-dev/js-reference/apis/js-apis-basic-features.md b/zh-cn/application-dev/js-reference/apis/js-apis-basic-features.md
new file mode 100644
index 0000000000000000000000000000000000000000..e18a036a49a1b98a2418616f2b0b7a5050cea455
--- /dev/null
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-basic-features.md
@@ -0,0 +1,23 @@
+# 基本功能
+
+- **[应用上下文](js-apis-system-app.md)**
+
+- **[日志打印](js-apis-basic-features-logs.md)**
+
+- **[页面路由](js-apis-system-router.md)**
+
+- **[弹窗](js-apis-system-prompt.md)**
+
+- **[应用配置](js-apis-system-configuration.md)**
+
+- **[定时器](js-apis-system-timer.md)**
+
+- **[动画](js-apis-animator.md)**
+
+- **[应用打点](js-apis-hiappevent.md)**
+
+- **[性能打点](js-apis-bytrace.md)**
+
+- **[分布式帐号管理](js-apis-distributedaccount.md)**
+
+
diff --git a/zh-cn/application-dev/js-reference/apis/js-apis-batteryinfo.md b/zh-cn/application-dev/js-reference/apis/js-apis-batteryinfo.md
new file mode 100644
index 0000000000000000000000000000000000000000..632edd0ec78b845f0e68b7de6ba101c6c48fa405
--- /dev/null
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-batteryinfo.md
@@ -0,0 +1,245 @@
+# 电池和充电属性
+
+> **说明:**
+>从 API Version 6 开始支持。
+
+## 导入模块
+
+```
+import batteryInfo from '@ohos.batteryinfo';
+```
+
+## batteryInfo
+
+描述电池信息。
+
+
+ 名称
+
+ 读写属性
+
+ 类型
+
+ 描述
+
+
+
+ batterySOC
+
+ 只读
+
+ number
+
+ 表示当前设备剩余电池容量。
+
+
+ chargingStatus
+
+ 只读
+
+ BatteryChargeState
+
+ 表示当前设备电池的充电状态。
+
+
+ healthStatus
+
+ 只读
+
+ BatteryHealthState
+
+ 表示当前设备电池的健康状态。
+
+
+ pluggedType
+
+ 只读
+
+ BatteryPluggedType
+
+ 表示当前设备连接的充电器类型。
+
+
+ voltage
+
+ 只读
+
+ number
+
+ 表示当前设备电池的电压。
+
+
+ technology
+
+ 只读
+
+ string
+
+ 表示当前设备电池的技术型号。
+
+
+ batteryTemperature
+
+ 只读
+
+ number
+
+ 表示当前设备电池的温度。
+
+
+
+
+
+**示例**:
+
+```
+import batteryInfo from '@ohos.batteryInfo';
+var batterySoc = batteryInfo.batterySOC;
+```
+
+## BatteryPluggedType
+
+表示连接的充电器类型的枚举。
+
+
+ 名称
+
+ 默认值
+
+ 描述
+
+
+
+ NONE
+
+ 0
+
+ 表示连接充电器类型未知。
+
+
+ AC
+
+ 1
+
+ 表示连接的充电器类型为交流充电器。
+
+
+ USB
+
+ 2
+
+ 表示连接的充电器类型为USB。
+
+
+ WIRELESS
+
+ 3
+
+ 表示连接的充电器类型为无线充电器。
+
+
+
+
+
+## BatteryChargeState
+
+表示电池充电状态的枚举。
+
+
+ 名称
+
+ 默认值
+
+ 描述
+
+
+
+ NONE
+
+ 0
+
+ 表示电池充电状态未知。
+
+
+ ENABLE
+
+ 1
+
+ 表示电池充电状态为使能状态。
+
+
+ DISABLE
+
+ 2
+
+ 表示电池充电状态为停止状态。
+
+
+ FULL
+
+ 3
+
+ 表示电池充电状态为已充满状态。
+
+
+
+
+
+## BatteryHealthState
+
+表示电池的健康状态的枚举。
+
+
+ 名称
+
+ 默认值
+
+ 描述
+
+
+
+ UNKNOWN
+
+ 0
+
+ 表示电池健康状态未知。
+
+
+ GOOD
+
+ 1
+
+ 表示电池健康状态为正常。
+
+
+ OVERHEAT
+
+ 2
+
+ 表示电池健康状态为过热。
+
+
+ OVERVOLTAGE
+
+ 3
+
+ 表示电池健康状态为过压。
+
+
+ COLD
+
+ 4
+
+ 表示电池健康状态为低温。
+
+
+ DEAD
+
+ 5
+
+ 表示电池健康状态为僵死状态。
+
+
+
+
+
diff --git a/zh-cn/application-dev/js-reference/apis/js-apis-brightness.md b/zh-cn/application-dev/js-reference/apis/js-apis-brightness.md
new file mode 100644
index 0000000000000000000000000000000000000000..7302062af737f7788e9fa8864e7a13a0507ab0d5
--- /dev/null
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-brightness.md
@@ -0,0 +1,50 @@
+# 设置系统屏幕亮度
+
+> **说明:**
+>从 API Version 7 开始支持。
+
+## 导入模块
+
+```
+import brightness from '@ohos.brightness.d.ts'.
+```
+
+## brightness.setValue
+
+setValue\(value: number\)
+
+设置系统的屏幕亮度。
+
+- 参数:
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ value
+
+ number
+
+ 是
+
+ 亮度的值 (0~255)
+
+
+
+
+
+- 示例:
+
+ ```
+ import brightness from '@ohos.brightness.d.ts'
+ brightness.setValue(128);
+ ```
+
+
diff --git a/zh-cn/application-dev/js-reference/apis/js-apis-bytrace.md b/zh-cn/application-dev/js-reference/apis/js-apis-bytrace.md
new file mode 100644
index 0000000000000000000000000000000000000000..271d508aa47ce675fb44baaebafa2e3da60ab1ab
--- /dev/null
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-bytrace.md
@@ -0,0 +1,176 @@
+# 性能打点
+
+> **说明:**
+>从 API Version 7 开始支持。
+
+## 导入模块
+
+```
+import bytrace from '@ohos.bytrace';
+```
+
+## 权限
+
+无
+
+## bytrace.startTrace
+
+startTrace\(name: string, taskId: number, expectedTime?: number\): void
+
+标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。
+
+- 参数:
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ name
+
+ string
+
+ 是
+
+ 要追踪的任务名称
+
+
+ taskId
+
+ number
+
+ 是
+
+ 任务id
+
+
+ expectedTime
+
+ number
+
+ 否
+
+ 期望的耗时时间,单位:ms
+
+
+
+
+
+ > **说明:**
+ >如果多个要追踪任务的name相同,taskId必须不一致。通过name和taskId来唯一标识一个任务。
+
+- 示例:
+
+ ```
+ bytrace.startTrace("myTestFunc", 1);
+ bytrace.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms
+ ```
+
+
+## bytrace.finishTrace
+
+finishTrace\(name: string, taskId: number\): void
+
+标记一个预追踪耗时任务的结束。
+
+- 参数:
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ name
+
+ string
+
+ 是
+
+ 要追踪的任务名称
+
+
+ taskId
+
+ number
+
+ 是
+
+ 任务id
+
+
+
+
+
+ > **说明:**
+ >finishTrace的name和taskId必须与流程开始的startTrace对应参数值一致。
+
+- 示例:
+
+ ```
+ bytrace.finishTrace("myTestFunc", 1);
+ ```
+
+
+## bytrace.traceByValue
+
+traceByValue\(name: string, count: number\): void
+
+用来标记一个预追踪的数值变量,该变量的数值会不断变化。
+
+- 参数:
+
+
+ 参数名
+
+ 类型
+
+ 必填
+
+ 说明
+
+
+
+ name
+
+ string
+
+ 是
+
+ 要追踪的数值变量名称
+
+
+ count
+
+ number
+
+ 是
+
+ 变量的值
+
+
+
+
+
+- 示例:
+
+ ```
+ let traceCount = 3;
+ bytrace.traceByValue("myTestCount", traceCount);
+ ......
+ traceCount = 5;
+ bytrace.traceByValue("myTestCount", traceCount);
+ ```
+
+
diff --git a/zh-cn/application-dev/js-reference/CommonEvent.md b/zh-cn/application-dev/js-reference/apis/js-apis-commonEvent.md
similarity index 98%
rename from zh-cn/application-dev/js-reference/CommonEvent.md
rename to zh-cn/application-dev/js-reference/apis/js-apis-commonEvent.md
index afe70d6ead54ab64790743a74ba6ee779413034f..dd7dc23cbbdbc2538c2720380f728795872e21b2 100644
--- a/zh-cn/application-dev/js-reference/CommonEvent.md
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-commonEvent.md
@@ -1,508 +1,508 @@
-CommonEvent模块(JS端SDK接口)
-
-#### 支持设备
-
-| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 |
-| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- |
-| CommonEvent.publish(event: string, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 |
-| CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 |
-| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 |
-| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo) | 支持 | 支持 | 支持 | 支持 | 不支持 |
-| CommonEvent.subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 |
-| CommonEvent.unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 |
-
-#### 权限列表
-
-| 系统公共事件宏 | 系统公共事件名称 | 订阅者所需权限 |
-| ------------------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------ |
-| COMMON_EVENT_BOOT_COMPLETED | usual.event.BOOT_COMPLETED | ohos.permission.RECEIVER_STARTUP_COMPLETED |
-| COMMON_EVENT_LOCKED_BOOT_COMPLETED | usual.event.LOCKED_BOOT_COMPLETED | ohos.permission.RECEIVER_STARTUP_COMPLETED |
-| COMMON_EVENT_SHUTDOWN | usual.event.SHUTDOWN | 无 |
-| COMMON_EVENT_BATTERY_CHANGED | usual.event.BATTERY_CHANGED | 无 |
-| COMMON_EVENT_BATTERY_LOW | usual.event.BATTERY_LOW | 无 |
-| COMMON_EVENT_BATTERY_OKAY | usual.event.BATTERY_OKAY | 无 |
-| COMMON_EVENT_POWER_CONNECTED | usual.event.POWER_CONNECTED | 无 |
-| COMMON_EVENT_POWER_DISCONNECTED | usual.event.POWER_DISCONNECTED | 无 |
-| COMMON_EVENT_SCREEN_OFF | usual.event.SCREEN_OFF | 无 |
-| COMMON_EVENT_SCREEN_ON | usual.event.SCREEN_ON | 无 |
-| COMMON_EVENT_USER_PRESENT | usual.event.USER_PRESENT | 无 |
-| COMMON_EVENT_TIME_TICK | usual.event.TIME_TICK | 无 |
-| COMMON_EVENT_TIME_CHANGED | usual.event.TIME_CHANGED | 无 |
-| COMMON_EVENT_DATE_CHANGED | usual.event.DATE_CHANGED | 无 |
-| COMMON_EVENT_TIMEZONE_CHANGED | usual.event.TIMEZONE_CHANGED | 无 |
-| COMMON_EVENT_CLOSE_SYSTEM_DIALOGS | usual.event.CLOSE_SYSTEM_DIALOGS | 无 |
-| COMMON_EVENT_PACKAGE_ADDED | usual.event.PACKAGE_ADDED | 无 |
-| COMMON_EVENT_PACKAGE_REPLACED | usual.event.PACKAGE_REPLACED | 无 |
-| COMMON_EVENT_MY_PACKAGE_REPLACED | usual.event.MY_PACKAGE_REPLACED | 无 |
-| COMMON_EVENT_PACKAGE_REMOVED | usual.event.PACKAGE_REMOVED | 无 |
-| COMMON_EVENT_PACKAGE_FULLY_REMOVED | usual.event.PACKAGE_FULLY_REMOVED | 无 |
-| COMMON_EVENT_PACKAGE_CHANGED | usual.event.PACKAGE_CHANGED | 无 |
-| COMMON_EVENT_PACKAGE_RESTARTED | usual.event.PACKAGE_RESTARTED | 无 |
-| COMMON_EVENT_PACKAGE_DATA_CLEARED | usual.event.PACKAGE_DATA_CLEARED | 无 |
-| COMMON_EVENT_PACKAGES_SUSPENDED | usual.event.PACKAGES_SUSPENDED | 无 |
-| COMMON_EVENT_PACKAGES_UNSUSPENDED | usual.event.PACKAGES_UNSUSPENDED | 无 |
-| COMMON_EVENT_MY_PACKAGE_SUSPENDED | usual.event.MY_PACKAGE_SUSPENDED | 无 |
-| COMMON_EVENT_MY_PACKAGE_UNSUSPENDED | usual.event.MY_PACKAGE_UNSUSPENDED | 无 |
-| COMMON_EVENT_UID_REMOVED | usual.event.UID_REMOVED | 无 |
-| COMMON_EVENT_PACKAGE_FIRST_LAUNCH | usual.event.PACKAGE_FIRST_LAUNCH | 无 |
-| COMMON_EVENT_PACKAGE_NEEDS_VERIFICATION | usual.event.PACKAGE_NEEDS_VERIFICATION | 无 |
-| COMMON_EVENT_PACKAGE_VERIFIED | usual.event.PACKAGE_VERIFIED | 无 |
-| COMMON_EVENT_EXTERNAL_APPLICATIONS_AVAILABLE | usual.event.EXTERNAL_APPLICATIONS_AVAILABLE | 无 |
-| COMMON_EVENT_EXTERNAL_APPLICATIONS_UNAVAILABLE | usual.event.EXTERNAL_APPLICATIONS_UNAVAILABLE | 无 |
-| COMMON_EVENT_CONFIGURATION_CHANGED | usual.event.CONFIGURATION_CHANGED | 无 |
-| COMMON_EVENT_LOCALE_CHANGED | usual.event.LOCALE_CHANGED | 无 |
-| COMMON_EVENT_MANAGE_PACKAGE_STORAGE | usual.event.MANAGE_PACKAGE_STORAGE | 无 |
-| COMMON_EVENT_DRIVE_MODE | common.event.DRIVE_MODE | 无 |
-| COMMON_EVENT_HOME_MODE | common.event.HOME_MODE | 无 |
-| COMMON_EVENT_OFFICE_MODE | common.event.OFFICE_MODE | 无 |
-| COMMON_EVENT_USER_STARTED | usual.event.USER_STARTED | 无 |
-| COMMON_EVENT_USER_BACKGROUND | usual.event.USER_BACKGROUND | 无 |
-| COMMON_EVENT_USER_FOREGROUND | usual.event.USER_FOREGROUND | 无 |
-| COMMON_EVENT_USER_SWITCHED | usual.event.USER_SWITCHED | ohos.permission.MANAGE_USERS |
-| COMMON_EVENT_USER_STARTING | usual.event.USER_STARTING | ohos.permission.INTERACT_ACROSS_USERS |
-| COMMON_EVENT_USER_UNLOCKED | usual.event.USER_UNLOCKED | 无 |
-| COMMON_EVENT_USER_STOPPING | usual.event.USER_STOPPING | ohos.permission.INTERACT_ACROSS_USERS |
-| COMMON_EVENT_USER_STOPPED | usual.event.USER_STOPPED | 无 |
-| COMMON_EVENT_HWID_LOGIN | common.event.HWID_LOGIN | 无 |
-| COMMON_EVENT_HWID_LOGOUT | common.event.HWID_LOGOUT | 无 |
-| COMMON_EVENT_HWID_TOKEN_INVALID | common.event.HWID_TOKEN_INVALID | 无 |
-| COMMON_EVENT_HWID_LOGOFF | common.event.HWID_LOGOFF | 无 |
-| COMMON_EVENT_WIFI_POWER_STATE | usual.event.wifi.POWER_STATE | 无 |
-| COMMON_EVENT_WIFI_SCAN_FINISHED | usual.event.wifi.SCAN_FINISHED | ohos.permission.LOCATION |
-| COMMON_EVENT_WIFI_RSSI_VALUE | usual.event.wifi.RSSI_VALUE | ohos.permission.GET_WIFI_INFO |
-| COMMON_EVENT_WIFI_CONN_STATE | usual.event.wifi.CONN_STATE | 无 |
-| COMMON_EVENT_WIFI_HOTSPOT_STATE | usual.event.wifi.HOTSPOT_STATE | 无 |
-| COMMON_EVENT_WIFI_AP_STA_JOIN | usual.event.wifi.WIFI_HS_STA_JOIN | ohos.permission.GET_WIFI_INFO |
-| COMMON_EVENT_WIFI_AP_STA_LEAVE | usual.event.wifi.WIFI_HS_STA_LEAVE | ohos.permission.GET_WIFI_INFO |
-| COMMON_EVENT_WIFI_MPLINK_STATE_CHANGE | usual.event.wifi.mplink.STATE_CHANGE | ohos.permission.MPLINK_CHANGE_STATE |
-| COMMON_EVENT_WIFI_P2P_CONN_STATE | usual.event.wifi.p2p.CONN_STATE_CHANGE | ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION |
-| COMMON_EVENT_WIFI_P2P_STATE_CHANGED | usual.event.wifi.p2p.STATE_CHANGE | ohos.permission.GET_WIFI_INFO |
-| COMMON_EVENT_WIFI_P2P_PEERS_STATE_CHANGED | usual.event.wifi.p2p.DEVICES_CHANGE | ohos.permission.GET_WIFI_INFO |
-| COMMON_EVENT_WIFI_P2P_PEERS_DISCOVERY_STATE_CHANGED | usual.event.wifi.p2p.PEER_DISCOVERY_STATE_CHANGE | ohos.permission.GET_WIFI_INFO |
-| COMMON_EVENT_WIFI_P2P_CURRENT_DEVICE_STATE_CHANGED | usual.event.wifi.p2p.CURRENT_DEVICE_CHANGE | ohos.permission.GET_WIFI_INFO |
-| COMMON_EVENT_WIFI_P2P_GROUP_STATE_CHANGED | usual.event.wifi.p2p.GROUP_STATE_CHANGED | ohos.permission.GET_WIFI_INFO |
-| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_CONNECT_STATE_UPDATE | usual.event.bluetooth.handsfree.ag.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_CURRENT_DEVICE_UPDATE | usual.event.bluetooth.handsfree.ag.CURRENT_DEVICE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_AUDIO_STATE_UPDATE | usual.event.bluetooth.handsfree.ag.AUDIO_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsource.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CURRENT_DEVICE_UPDATE | usual.event.bluetooth.a2dpsource.CURRENT_DEVICE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_PLAYING_STATE_UPDATE | usual.event.bluetooth.a2dpsource.PLAYING_STATE_UPDATE" | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_AVRCP_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsource.AVRCP_CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CODEC_VALUE_UPDATE | usual.event.bluetooth.a2dpsource.CODEC_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_DISCOVERED | usual.event.bluetooth.remotedevice.DISCOVERED | ohos.permission.USE_BLUETOOTH and ohos.permission.LOCATION |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CLASS_VALUE_UPDATE | usual.event.bluetooth.remotedevice.CLASS_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_ACL_CONNECTED | usual.event.bluetooth.remotedevice.ACL_CONNECTED | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_ACL_DISCONNECTED | usual.event.bluetooth.remotedevice.ACL_DISCONNECTED | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_NAME_UPDATE | usual.event.bluetooth.remotedevice.NAME_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIR_STATE | usual.event.bluetooth.remotedevice.PAIR_STATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_BATTERY_VALUE_UPDATE | usual.event.bluetooth.remotedevice.BATTERY_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_SDP_RESULT | usual.event.bluetooth.remotedevice.SDP_RESULT | 无 |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_UUID_VALUE | usual.event.bluetooth.remotedevice.UUID_VALUE | ohos.permission.DISCOVER_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIRING_REQ | usual.event.bluetooth.remotedevice.PAIRING_REQ | ohos.permission.DISCOVER_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIRING_CANCEL | usual.event.bluetooth.remotedevice.PAIRING_CANCEL | 无 |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_REQ | usual.event.bluetooth.remotedevice.CONNECT_REQ | 无 |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_REPLY | usual.event.bluetooth.remotedevice.CONNECT_REPLY | 无 |
-| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_CANCEL | usual.event.bluetooth.remotedevice.CONNECT_CANCEL | 无 |
-| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_CONNECT_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.CONNECT_STATE_UPDATE | 无 |
-| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AUDIO_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.AUDIO_STATE_UPDATE | 无 |
-| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AG_COMMON_EVENT | usual.event.bluetooth.handsfreeunit.AG_COMMON_EVENT | 无 |
-| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AG_CALL_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.AG_CALL_STATE_UPDATE | 无 |
-| COMMON_EVENT_BLUETOOTH_HOST_STATE_UPDATE | usual.event.bluetooth.host.STATE_UPDATE | 无 |
-| COMMON_EVENT_BLUETOOTH_HOST_REQ_DISCOVERABLE | usual.event.bluetooth.host.REQ_DISCOVERABLE | 无 |
-| COMMON_EVENT_BLUETOOTH_HOST_REQ_ENABLE | usual.event.bluetooth.host.REQ_ENABLE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_HOST_REQ_DISABLE | usual.event.bluetooth.host.REQ_DISABLE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_HOST_SCAN_MODE_UPDATE | usual.event.bluetooth.host.SCAN_MODE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_HOST_DISCOVERY_STARTED | usual.event.bluetooth.host.DISCOVERY_STARTED | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_HOST_DISCOVERY_FINISHED | usual.event.bluetooth.host.DISCOVERY_FINISHED | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_HOST_NAME_UPDATE | usual.event.bluetooth.host.NAME_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_A2DPSINK_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsink.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_A2DPSINK_PLAYING_STATE_UPDATE | usual.event.bluetooth.a2dpsink.PLAYING_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_BLUETOOTH_A2DPSINK_AUDIO_STATE_UPDATE | usual.event.bluetooth.a2dpsink.AUDIO_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
-| COMMON_EVENT_NFC_ACTION_ADAPTER_STATE_CHANGED | usual.event.nfc.action.ADAPTER_STATE_CHANGED | 无 |
-| COMMON_EVENT_NFC_ACTION_RF_FIELD_ON_DETECTED | usual.event.nfc.action.RF_FIELD_ON_DETECTED | ohos.permission.MANAGE_SECURE_SETTINGS |
-| COMMON_EVENT_NFC_ACTION_RF_FIELD_OFF_DETECTED | usual.event.nfc.action.RF_FIELD_OFF_DETECTED | ohos.permission.MANAGE_SECURE_SETTINGS |
-| COMMON_EVENT_DISCHARGING | usual.event.DISCHARGING | 无 |
-| COMMON_EVENT_CHARGING | usual.event.CHARGING | 无 |
-| COMMON_EVENT_DEVICE_IDLE_MODE_CHANGED | usual.event.DEVICE_IDLE_MODE_CHANGED | 无 |
-| COMMON_EVENT_POWER_SAVE_MODE_CHANGED | usual.event.POWER_SAVE_MODE_CHANGED | 无 |
-| COMMON_EVENT_USER_ADDED | usual.event.USER_ADDED | ohos.permission.MANAGE_USERS |
-| COMMON_EVENT_USER_REMOVED | usual.event.USER_REMOVED | ohos.permission.MANAGE_USERS |
-| COMMON_EVENT_ABILITY_ADDED | common.event.ABILITY_ADDED | ohos.permission.LISTEN_BUNDLE_CHANGE |
-| COMMON_EVENT_ABILITY_REMOVED | common.event.ABILITY_REMOVED | ohos.permission.LISTEN_BUNDLE_CHANGE |
-| COMMON_EVENT_ABILITY_UPDATED | common.event.ABILITY_UPDATED | ohos.permission.LISTEN_BUNDLE_CHANGE |
-| COMMON_EVENT_LOCATION_MODE_STATE_CHANGED | usual.event.location.MODE_STATE_CHANGED | 无 |
-| COMMON_EVENT_IVI_SLEEP | common.event.IVI_SLEEP | 无 |
-| COMMON_EVENT_IVI_PAUSE | common.event.IVI_PAUSE | 无 |
-| COMMON_EVENT_IVI_STANDBY | common.event.IVI_STANDBY | 无 |
-| COMMON_EVENT_IVI_LASTMODE_SAVE | common.event.IVI_LASTMODE_SAVE | 无 |
-| COMMON_EVENT_IVI_VOLTAGE_ABNORMAL | common.event.IVI_VOLTAGE_ABNORMAL | 无 |
-| COMMON_EVENT_IVI_HIGH_TEMPERATURE | common.event.IVI_HIGH_TEMPERATURE | 无 |
-| COMMON_EVENT_IVI_EXTREME_TEMPERATURE | common.event.IVI_EXTREME_TEMPERATURE | 无 |
-| COMMON_EVENT_IVI_TEMPERATURE_ABNORMAL | common.event.IVI_TEMPERATURE_ABNORMAL | 无 |
-| COMMON_EVENT_IVI_VOLTAGE_RECOVERY | common.event.IVI_VOLTAGE_RECOVERY | 无 |
-| COMMON_EVENT_IVI_TEMPERATURE_RECOVERY | common.event.IVI_TEMPERATURE_RECOVERY | 无 |
-| COMMON_EVENT_IVI_ACTIVE | common.event.IVI_ACTIVE | 无 |
-| COMMON_EVENT_USB_DEVICE_ATTACHED | usual.event.hardware.usb.action.USB_DEVICE_ATTACHED | 无 |
-| COMMON_EVENT_USB_DEVICE_DETACHED | usual.event.hardware.usb.action.USB_DEVICE_DETACHED | 无 |
-| COMMON_EVENT_USB_ACCESSORY_ATTACHED | usual.event.hardware.usb.action.USB_ACCESSORY_ATTACHED | 无 |
-| COMMON_EVENT_USB_ACCESSORY_DETACHED | usual.event.hardware.usb.action.USB_ACCESSORY_DETACHED | 无 |
-| COMMON_EVENT_DISK_REMOVED | usual.event.data.DISK_REMOVED | ohos.permission.WRITE_USER_STORAGE or ohos.permission.READ_USER_STORAGE |
-| COMMON_EVENT_DISK_UNMOUNTED | usual.event.data.DISK_UNMOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
-| COMMON_EVENT_DISK_MOUNTED | usual.event.data.DISK_MOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
-| COMMON_EVENT_DISK_BAD_REMOVAL | usual.event.data.DISK_BAD_REMOVAL | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
-| COMMON_EVENT_DISK_UNMOUNTABLE | usual.event.data.DISK_UNMOUNTABLE | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
-| COMMON_EVENT_DISK_EJECT | usual.event.data.DISK_EJECT | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
-| COMMON_EVENT_VISIBLE_ACCOUNTS_UPDATED | usual.event.data.VISIBLE_ACCOUNTS_UPDATED | ohos.permission.GET_APP_ACCOUNTS |
-| COMMON_EVENT_ACCOUNT_DELETED | usual.event.data.ACCOUNT_DELETED | ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS |
-| COMMON_EVENT_FOUNDATION_READY | common.event.FOUNDATION_READY | ohos.permission.RECEIVER_STARTUP_COMPLETED |
-| COMMON_EVENT_AIRPLANE_MODE_CHANGED | usual.event.AIRPLANE_MODE | 无 |
-
-#### 导入模块
-
-```js
-import CommonEvent from '@ohos.commonevent';
-```
-
-
-
-#### CommonEvent.publish(event: string, callback: AsyncCallback)
-
-- 接口说明
-
- 发布公共事件(callback形式)
-
-* publish参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | -------- | -------- | ------------------- | ---- | -------------------- |
- | event | 只读 | string | 是 | 表示要发送的公共事件 |
- | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |
-
-* 返回值
-
- void
-
-* 示例
-
-```js
-//发布公共事件回调
-function PublishCallBack(err) {
- console.info("==========================>PublishCallBack=======================>");
- console.info("==========================>err:=======================>", err.code);
-}
-//发布公共事件
-CommonEvent.publish("publish_event", PublishCallBack);
-```
-
-
-
-#### CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback)
-
-- 接口说明
-
- 发布公共事件指定发布信息(callback形式)
-
-- publish参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | -------- | -------- | ---------------------- | ---- | ---------------------- |
- | event | 只读 | string | 是 | 表示要发布的公共事件 |
- | options | 只读 | CommonEventPublishData | 是 | 表示发布公共事件的属性 |
- | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |
-
-- CommonEventPublishData类型说明
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | --------------------- | -------- | -------------------- | ---- | ---------------------------- |
- | bundleName | 只读 | string | 否 | 表示包名称 |
- | code | 只读 | int | 否 | 表示公共事件的结果代码 |
- | data | 只读 | string | 否 | 表示公共事件的自定义结果数据 |
- | subscriberPermissions | 只读 | Array | 否 | 表示订阅者的权限 |
- | isOrdered | 只读 | bool | 否 | 表示是否是有序事件 |
- | parameters | 只读 | {[key: string]: any} | 否 | 表示公共事件的附加信息 |
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-//公共事件相关信息
-var options = {
- code: 0; //公共事件的初始代码
- data: "initial data";//公共事件的初始数据
- isOrdered: true; //有序公共事件
-}
-//发布公共事件回调
-function PublishCallBack(err) {
- console.info("==========================>PublishCallBack=======================>");
-}
-//发布公共事件
-CommonEvent.publish("publish_event", options, PublishCallBack);
-```
-
-
-
-#### CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback)
-
-- 接口说明
-
- 创建订阅者(callback形式)
-
-- createSubscriber参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ------------- | -------- | ------------------------------------ | ---- | ------------------------ |
- | subscribeInfo | 只读 | CommonEventSubscribeInfo | 是 | 表示订阅信息 |
- | callback | 只读 | AsyncCallback | 是 | 表示创建订阅者的回调方法 |
-
-- CommonEventSubscriber 类说明
-
- | 名称 | 参数 | 返回值 | 描述 |
- | --------------------- | --------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------ |
- | getCode | callback: AsyncCallback | void | 获取公共事件的结果代码(callback形式) |
- | getCode | void | Promise | 获取公共事件的结果代码(Promise形式) |
- | setCode | code: number, callback: AsyncCallback | void | 设置公共事件的结果代码(callback形式) |
- | setCode | code: number | Promise | 设置公共事件的结果代码(Promise形式) |
- | getData | callback: AsyncCallback | void | 获取公共事件的结果数据(callback形式) |
- | getData | void | Promise | 获取公共事件的结果数据(Promise形式) |
- | setData | data: string, callback: AsyncCallback | void | 设置公共事件的结果数据(callback形式) |
- | setData | data: string | Promise | 设置公共事件的结果数据(Promise形式) |
- | setCodeAndData | code: number, data: string, callback: AsyncCallback | void | 设置公共事件的结果代码和结果数据(callback形式) |
- | setCodeAndData | code: number, data: string | Promise | 设置公共事件的结果代码和结果数据(Promise形式) |
- | isOrderedCommonEvent | callback: AsyncCallback | void | 查询当前公共事件的是否为有序公共事件,返回true代表是有序公共事件,false代表不是有序公共事件(callback形式) |
- | isOrderedCommonEvent | void | Promise | 查询当前公共事件的是否为有序公共事件,返回true代表是有序公共事件,false代表不是有序公共事件(Promise形式) |
- | abortCommonEvent | callback: AsyncCallback | void | 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(callback形式) |
- | abortCommonEvent | void | Promise | 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(Promise形式) |
- | clearAbortCommonEvent | callback: AsyncCallback | void | 清除当前有序公共事件abort状态(callback形式) |
- | clearAbortCommonEvent | void | Promise | 清除当前有序公共事件abort状态(Promise形式) |
- | getAbortCommonEvent | callback: AsyncCallback | void | 获取当前有序公共事件是否取消的状态(callback形式) |
- | getAbortCommonEvent | void | Promise | 获取当前有序公共事件是否取消的状态Promise形式) |
- | getSubscribeInfo | callback: AsyncCallback | void | 获取订阅者的订阅信息(callback形式) |
- | getSubscribeInfo | void | Promise | 获取订阅者的订阅信息(Promise形式) |
-
-- CommonEventSubscribeInfo类型说明
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ------------------- | -------- | ------------- | ---- | ------------------------------------------------------------ |
- | events | 只读 | Array | 是 | 表示要订阅的公共事件 |
- | publisherPermission | 只读 | string | 否 | 表示发布者的权限 |
- | publisherDeviceId | 只读 | int | 否 | 表示设备ID,该值必须是同一ohos网络上的现有设备ID |
- | userId | 只读 | int | 否 | 表示用户ID。此参数是可选的,默认值当前用户的ID。如果指定了此参数,则该值必须是系统中现有的用户ID。 |
- | priority | 只读 | int | 否 | 表示订阅者的优先级,范围为-100~1000。 |
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
-//订阅者信息
-var subscribeInfo = {
- events: ["event"]
-};
-//创建订阅者回调
-function CreateSubscriberCallBack(err, data) {
- console.info("==========================>CreateSubscriberCallBack=======================>");
- subscriber = data;
-}
-//创建订阅者
-CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack);
-```
-
-
-
-#### CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo)
-
-- 接口说明
-
- 创建订阅者(Promise形式)
-
-- createSubscriber参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ------------- | -------- | ------------------------ | ---- | ------------ |
- | subscribeInfo | 只读 | CommonEventSubscribeInfo | 是 | 表示订阅信息 |
-
-- CommonEventSubscribeInfo类型说明
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ------------------- | -------- | ------------- | ---- | ------------------------------------------------------------ |
- | events | 只读 | Array | 是 | 表示要发送的公共事件 |
- | publisherPermission | 只读 | string | 否 | 表示发布者的权限 |
- | publisherDeviceId | 只读 | int | 否 | 表示设备ID,该值必须是同一ohos网络上的现有设备ID |
- | userId | 只读 | int | 否 | 表示用户ID。此参数是可选的,默认值当前用户的ID。如果指定了此参数,则该值必须是系统中现有的用户ID。 |
- | priority | 只读 | int | 否 | 表示订阅者的优先级。值的范围是-100到1000 |
-
-- 返回值
-
- Promise
-
-- 示例
-
-```js
-var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
-//订阅者信息
-var subscribeInfo = {
- events: ["event"]
-};
-//创建订阅者
-CommonEvent.createSubscriber(subscribeInfo).then((data) => {
- console.info("==========================>createSubscriberPromise=======================>");
- subscriber = data;
-});
-```
-
-
-
-#### CommonEvent.subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback)
-
-- 接口说明
-
- 订阅公共事件(callback形式)
-
-- subscribe参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---------- | -------- | ------------------------------ | ---- | ------------------------------ |
- | subscriber | 只读 | CommonEventSubscriber | 是 | 表示订阅者对象 |
- | callback | 只读 | AsyncCallback | 是 | 表示接收公共事件数据的回调函数 |
-
-- CommonEventData类型说明
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---------- | -------- | -------------------- | ---- | ------------------------------------------------------- |
- | event | 只读 | string | 是 | 表示当前接收的公共事件名称 |
- | bundleName | 只读 | string | 否 | 表示包名称 |
- | code | 只读 | int | 否 | 表示公共事件的结果代码,用于传递int类型的数据 |
- | data | 只读 | string | 否 | 表示公共事件的自定义结果数据,用于传递string 类型的数据 |
- | parameters | 只读 | {[key: string]: any} | 否 | 表示公共事件的附加信息 |
-
-- 返回值
-
- void
-
-- 示例
-
- * 无序事件:
-
- ```js
- var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
- //订阅者信息
- var subscribeInfo = {
- events: ["event"]
- };
- //订阅公共事件回调
- function SubscribeCallBack(err, data) {
- console.info("==========================>SubscribeCallBack=======================>");
- }
- //创建订阅者回调
- function CreateSubscriberCallBack(err, data) {
- console.info("==========================>CreateSubscriberCallBack=======================>");
- subscriber = data;
- //订阅公共事件
- CommonEvent.subscribe(subscriber, SubscribeCallBack);
- }
- //创建订阅者
- CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack);
- ```
-
- * 有序事件
-
- ```js
- var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
- //订阅者信息
- var subscribeInfo = {
- events: ["event"]
- };
-
- //设置有序公共事件的结果代码回调
- function SetCodeCallBack(err) {
- console.info("==========================>SetCodeCallBack=======================>");
- }
- //设置有序公共事件的结果数据回调
- function SetDataCallBack(err) {
- console.info("==========================>SetDataCallBack=======================>");
- }
- //完成本次有序公共事件处理回调
- function FinishCommonEventCallBack(err) {
- console.info("==========================>FinishCommonEventCallBack=======================>");
- }
- //订阅公共事件回调
- function SubscribeCallBack(err, data) {
- console.info("==========================>SubscribeCallBack=======================>");
- //设置有序公共事件的结果代码
- subscriber.setCode(0, SetCodeCallBack);
- //设置有序公共事件的结果数据
- subscriber.setData("publish_data_changed", SetDataCallBack);
- //完成本次有序公共事件处理
- subscriber.finishCommonEvent(FinishCommonEventCallBack)
- }
-
- //创建订阅者回调
- function CreateSubscriberCallBack(err, data) {
- console.info("==========================>CreateSubscriberCallBack=======================>");
- subscriber = data;
- //订阅公共事件
- CommonEvent.subscribe(subscriber, SubscribeCallBack);
- }
-
- //创建订阅者
- CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack);
- ```
-
-
-
-#### CommonEvent.unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback)
-
-- 接口说明
-
- 取消订阅公共事件(callback形式)
-
-- unsubscribe参数描述
-
- | 名称 | 读写属性 | 类型 | 必填 | 描述 |
- | ---------- | -------- | --------------------- | ---- | ---------------------- |
- | subscriber | 只读 | CommonEventSubscriber | 是 | 表示订阅者对象 |
- | callback | 只读 | AsyncCallback | 是 | 表示取消订阅的回调方法 |
-
-- 返回值
-
- void
-
-- 示例
-
-```js
-var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
-//订阅者信息
-var subscribeInfo = {
- events: ["event"]
-};
-//订阅公共事件回调
-function SubscribeCallBack(err, data) {
- console.info("==========================>SubscribeCallBack=======================>");
-}
-//创建订阅者回调
-function CreateSubscriberCallBack(err, data) {
- console.info("==========================>CreateSubscriberCallBack=======================>");
- subscriber = data;
- //订阅公共事件
- CommonEvent.subscribe(subscriber, SubscribeCallBack);
-}
-//取消订阅公共事件回调
-function UnsubscribeCallBack(err) {
- console.info("==========================>UnsubscribeCallBack=======================>");
-}
-//创建订阅者
-CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack);
-//取消订阅公共事件
-CommonEvent.unsubscribe(subscriber, UnsubscribeCallBack);
-```
-
-
-
-
-
+# CommonEvent模块(JS端SDK接口)
+
+#### 支持设备
+
+| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 |
+| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- |
+| CommonEvent.publish(event: string, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 |
+| CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 |
+| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 |
+| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo) | 支持 | 支持 | 支持 | 支持 | 不支持 |
+| CommonEvent.subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 |
+| CommonEvent.unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 |
+
+#### 权限列表
+
+| 系统公共事件宏 | 系统公共事件名称 | 订阅者所需权限 |
+| ------------------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------ |
+| COMMON_EVENT_BOOT_COMPLETED | usual.event.BOOT_COMPLETED | ohos.permission.RECEIVER_STARTUP_COMPLETED |
+| COMMON_EVENT_LOCKED_BOOT_COMPLETED | usual.event.LOCKED_BOOT_COMPLETED | ohos.permission.RECEIVER_STARTUP_COMPLETED |
+| COMMON_EVENT_SHUTDOWN | usual.event.SHUTDOWN | 无 |
+| COMMON_EVENT_BATTERY_CHANGED | usual.event.BATTERY_CHANGED | 无 |
+| COMMON_EVENT_BATTERY_LOW | usual.event.BATTERY_LOW | 无 |
+| COMMON_EVENT_BATTERY_OKAY | usual.event.BATTERY_OKAY | 无 |
+| COMMON_EVENT_POWER_CONNECTED | usual.event.POWER_CONNECTED | 无 |
+| COMMON_EVENT_POWER_DISCONNECTED | usual.event.POWER_DISCONNECTED | 无 |
+| COMMON_EVENT_SCREEN_OFF | usual.event.SCREEN_OFF | 无 |
+| COMMON_EVENT_SCREEN_ON | usual.event.SCREEN_ON | 无 |
+| COMMON_EVENT_USER_PRESENT | usual.event.USER_PRESENT | 无 |
+| COMMON_EVENT_TIME_TICK | usual.event.TIME_TICK | 无 |
+| COMMON_EVENT_TIME_CHANGED | usual.event.TIME_CHANGED | 无 |
+| COMMON_EVENT_DATE_CHANGED | usual.event.DATE_CHANGED | 无 |
+| COMMON_EVENT_TIMEZONE_CHANGED | usual.event.TIMEZONE_CHANGED | 无 |
+| COMMON_EVENT_CLOSE_SYSTEM_DIALOGS | usual.event.CLOSE_SYSTEM_DIALOGS | 无 |
+| COMMON_EVENT_PACKAGE_ADDED | usual.event.PACKAGE_ADDED | 无 |
+| COMMON_EVENT_PACKAGE_REPLACED | usual.event.PACKAGE_REPLACED | 无 |
+| COMMON_EVENT_MY_PACKAGE_REPLACED | usual.event.MY_PACKAGE_REPLACED | 无 |
+| COMMON_EVENT_PACKAGE_REMOVED | usual.event.PACKAGE_REMOVED | 无 |
+| COMMON_EVENT_PACKAGE_FULLY_REMOVED | usual.event.PACKAGE_FULLY_REMOVED | 无 |
+| COMMON_EVENT_PACKAGE_CHANGED | usual.event.PACKAGE_CHANGED | 无 |
+| COMMON_EVENT_PACKAGE_RESTARTED | usual.event.PACKAGE_RESTARTED | 无 |
+| COMMON_EVENT_PACKAGE_DATA_CLEARED | usual.event.PACKAGE_DATA_CLEARED | 无 |
+| COMMON_EVENT_PACKAGES_SUSPENDED | usual.event.PACKAGES_SUSPENDED | 无 |
+| COMMON_EVENT_PACKAGES_UNSUSPENDED | usual.event.PACKAGES_UNSUSPENDED | 无 |
+| COMMON_EVENT_MY_PACKAGE_SUSPENDED | usual.event.MY_PACKAGE_SUSPENDED | 无 |
+| COMMON_EVENT_MY_PACKAGE_UNSUSPENDED | usual.event.MY_PACKAGE_UNSUSPENDED | 无 |
+| COMMON_EVENT_UID_REMOVED | usual.event.UID_REMOVED | 无 |
+| COMMON_EVENT_PACKAGE_FIRST_LAUNCH | usual.event.PACKAGE_FIRST_LAUNCH | 无 |
+| COMMON_EVENT_PACKAGE_NEEDS_VERIFICATION | usual.event.PACKAGE_NEEDS_VERIFICATION | 无 |
+| COMMON_EVENT_PACKAGE_VERIFIED | usual.event.PACKAGE_VERIFIED | 无 |
+| COMMON_EVENT_EXTERNAL_APPLICATIONS_AVAILABLE | usual.event.EXTERNAL_APPLICATIONS_AVAILABLE | 无 |
+| COMMON_EVENT_EXTERNAL_APPLICATIONS_UNAVAILABLE | usual.event.EXTERNAL_APPLICATIONS_UNAVAILABLE | 无 |
+| COMMON_EVENT_CONFIGURATION_CHANGED | usual.event.CONFIGURATION_CHANGED | 无 |
+| COMMON_EVENT_LOCALE_CHANGED | usual.event.LOCALE_CHANGED | 无 |
+| COMMON_EVENT_MANAGE_PACKAGE_STORAGE | usual.event.MANAGE_PACKAGE_STORAGE | 无 |
+| COMMON_EVENT_DRIVE_MODE | common.event.DRIVE_MODE | 无 |
+| COMMON_EVENT_HOME_MODE | common.event.HOME_MODE | 无 |
+| COMMON_EVENT_OFFICE_MODE | common.event.OFFICE_MODE | 无 |
+| COMMON_EVENT_USER_STARTED | usual.event.USER_STARTED | 无 |
+| COMMON_EVENT_USER_BACKGROUND | usual.event.USER_BACKGROUND | 无 |
+| COMMON_EVENT_USER_FOREGROUND | usual.event.USER_FOREGROUND | 无 |
+| COMMON_EVENT_USER_SWITCHED | usual.event.USER_SWITCHED | ohos.permission.MANAGE_USERS |
+| COMMON_EVENT_USER_STARTING | usual.event.USER_STARTING | ohos.permission.INTERACT_ACROSS_USERS |
+| COMMON_EVENT_USER_UNLOCKED | usual.event.USER_UNLOCKED | 无 |
+| COMMON_EVENT_USER_STOPPING | usual.event.USER_STOPPING | ohos.permission.INTERACT_ACROSS_USERS |
+| COMMON_EVENT_USER_STOPPED | usual.event.USER_STOPPED | 无 |
+| COMMON_EVENT_HWID_LOGIN | common.event.HWID_LOGIN | 无 |
+| COMMON_EVENT_HWID_LOGOUT | common.event.HWID_LOGOUT | 无 |
+| COMMON_EVENT_HWID_TOKEN_INVALID | common.event.HWID_TOKEN_INVALID | 无 |
+| COMMON_EVENT_HWID_LOGOFF | common.event.HWID_LOGOFF | 无 |
+| COMMON_EVENT_WIFI_POWER_STATE | usual.event.wifi.POWER_STATE | 无 |
+| COMMON_EVENT_WIFI_SCAN_FINISHED | usual.event.wifi.SCAN_FINISHED | ohos.permission.LOCATION |
+| COMMON_EVENT_WIFI_RSSI_VALUE | usual.event.wifi.RSSI_VALUE | ohos.permission.GET_WIFI_INFO |
+| COMMON_EVENT_WIFI_CONN_STATE | usual.event.wifi.CONN_STATE | 无 |
+| COMMON_EVENT_WIFI_HOTSPOT_STATE | usual.event.wifi.HOTSPOT_STATE | 无 |
+| COMMON_EVENT_WIFI_AP_STA_JOIN | usual.event.wifi.WIFI_HS_STA_JOIN | ohos.permission.GET_WIFI_INFO |
+| COMMON_EVENT_WIFI_AP_STA_LEAVE | usual.event.wifi.WIFI_HS_STA_LEAVE | ohos.permission.GET_WIFI_INFO |
+| COMMON_EVENT_WIFI_MPLINK_STATE_CHANGE | usual.event.wifi.mplink.STATE_CHANGE | ohos.permission.MPLINK_CHANGE_STATE |
+| COMMON_EVENT_WIFI_P2P_CONN_STATE | usual.event.wifi.p2p.CONN_STATE_CHANGE | ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION |
+| COMMON_EVENT_WIFI_P2P_STATE_CHANGED | usual.event.wifi.p2p.STATE_CHANGE | ohos.permission.GET_WIFI_INFO |
+| COMMON_EVENT_WIFI_P2P_PEERS_STATE_CHANGED | usual.event.wifi.p2p.DEVICES_CHANGE | ohos.permission.GET_WIFI_INFO |
+| COMMON_EVENT_WIFI_P2P_PEERS_DISCOVERY_STATE_CHANGED | usual.event.wifi.p2p.PEER_DISCOVERY_STATE_CHANGE | ohos.permission.GET_WIFI_INFO |
+| COMMON_EVENT_WIFI_P2P_CURRENT_DEVICE_STATE_CHANGED | usual.event.wifi.p2p.CURRENT_DEVICE_CHANGE | ohos.permission.GET_WIFI_INFO |
+| COMMON_EVENT_WIFI_P2P_GROUP_STATE_CHANGED | usual.event.wifi.p2p.GROUP_STATE_CHANGED | ohos.permission.GET_WIFI_INFO |
+| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_CONNECT_STATE_UPDATE | usual.event.bluetooth.handsfree.ag.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_CURRENT_DEVICE_UPDATE | usual.event.bluetooth.handsfree.ag.CURRENT_DEVICE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_AUDIO_STATE_UPDATE | usual.event.bluetooth.handsfree.ag.AUDIO_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsource.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CURRENT_DEVICE_UPDATE | usual.event.bluetooth.a2dpsource.CURRENT_DEVICE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_PLAYING_STATE_UPDATE | usual.event.bluetooth.a2dpsource.PLAYING_STATE_UPDATE" | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_AVRCP_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsource.AVRCP_CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CODEC_VALUE_UPDATE | usual.event.bluetooth.a2dpsource.CODEC_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_DISCOVERED | usual.event.bluetooth.remotedevice.DISCOVERED | ohos.permission.USE_BLUETOOTH and ohos.permission.LOCATION |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CLASS_VALUE_UPDATE | usual.event.bluetooth.remotedevice.CLASS_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_ACL_CONNECTED | usual.event.bluetooth.remotedevice.ACL_CONNECTED | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_ACL_DISCONNECTED | usual.event.bluetooth.remotedevice.ACL_DISCONNECTED | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_NAME_UPDATE | usual.event.bluetooth.remotedevice.NAME_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIR_STATE | usual.event.bluetooth.remotedevice.PAIR_STATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_BATTERY_VALUE_UPDATE | usual.event.bluetooth.remotedevice.BATTERY_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_SDP_RESULT | usual.event.bluetooth.remotedevice.SDP_RESULT | 无 |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_UUID_VALUE | usual.event.bluetooth.remotedevice.UUID_VALUE | ohos.permission.DISCOVER_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIRING_REQ | usual.event.bluetooth.remotedevice.PAIRING_REQ | ohos.permission.DISCOVER_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIRING_CANCEL | usual.event.bluetooth.remotedevice.PAIRING_CANCEL | 无 |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_REQ | usual.event.bluetooth.remotedevice.CONNECT_REQ | 无 |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_REPLY | usual.event.bluetooth.remotedevice.CONNECT_REPLY | 无 |
+| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_CANCEL | usual.event.bluetooth.remotedevice.CONNECT_CANCEL | 无 |
+| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_CONNECT_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.CONNECT_STATE_UPDATE | 无 |
+| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AUDIO_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.AUDIO_STATE_UPDATE | 无 |
+| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AG_COMMON_EVENT | usual.event.bluetooth.handsfreeunit.AG_COMMON_EVENT | 无 |
+| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AG_CALL_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.AG_CALL_STATE_UPDATE | 无 |
+| COMMON_EVENT_BLUETOOTH_HOST_STATE_UPDATE | usual.event.bluetooth.host.STATE_UPDATE | 无 |
+| COMMON_EVENT_BLUETOOTH_HOST_REQ_DISCOVERABLE | usual.event.bluetooth.host.REQ_DISCOVERABLE | 无 |
+| COMMON_EVENT_BLUETOOTH_HOST_REQ_ENABLE | usual.event.bluetooth.host.REQ_ENABLE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_HOST_REQ_DISABLE | usual.event.bluetooth.host.REQ_DISABLE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_HOST_SCAN_MODE_UPDATE | usual.event.bluetooth.host.SCAN_MODE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_HOST_DISCOVERY_STARTED | usual.event.bluetooth.host.DISCOVERY_STARTED | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_HOST_DISCOVERY_FINISHED | usual.event.bluetooth.host.DISCOVERY_FINISHED | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_HOST_NAME_UPDATE | usual.event.bluetooth.host.NAME_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_A2DPSINK_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsink.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_A2DPSINK_PLAYING_STATE_UPDATE | usual.event.bluetooth.a2dpsink.PLAYING_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_BLUETOOTH_A2DPSINK_AUDIO_STATE_UPDATE | usual.event.bluetooth.a2dpsink.AUDIO_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
+| COMMON_EVENT_NFC_ACTION_ADAPTER_STATE_CHANGED | usual.event.nfc.action.ADAPTER_STATE_CHANGED | 无 |
+| COMMON_EVENT_NFC_ACTION_RF_FIELD_ON_DETECTED | usual.event.nfc.action.RF_FIELD_ON_DETECTED | ohos.permission.MANAGE_SECURE_SETTINGS |
+| COMMON_EVENT_NFC_ACTION_RF_FIELD_OFF_DETECTED | usual.event.nfc.action.RF_FIELD_OFF_DETECTED | ohos.permission.MANAGE_SECURE_SETTINGS |
+| COMMON_EVENT_DISCHARGING | usual.event.DISCHARGING | 无 |
+| COMMON_EVENT_CHARGING | usual.event.CHARGING | 无 |
+| COMMON_EVENT_DEVICE_IDLE_MODE_CHANGED | usual.event.DEVICE_IDLE_MODE_CHANGED | 无 |
+| COMMON_EVENT_POWER_SAVE_MODE_CHANGED | usual.event.POWER_SAVE_MODE_CHANGED | 无 |
+| COMMON_EVENT_USER_ADDED | usual.event.USER_ADDED | ohos.permission.MANAGE_USERS |
+| COMMON_EVENT_USER_REMOVED | usual.event.USER_REMOVED | ohos.permission.MANAGE_USERS |
+| COMMON_EVENT_ABILITY_ADDED | common.event.ABILITY_ADDED | ohos.permission.LISTEN_BUNDLE_CHANGE |
+| COMMON_EVENT_ABILITY_REMOVED | common.event.ABILITY_REMOVED | ohos.permission.LISTEN_BUNDLE_CHANGE |
+| COMMON_EVENT_ABILITY_UPDATED | common.event.ABILITY_UPDATED | ohos.permission.LISTEN_BUNDLE_CHANGE |
+| COMMON_EVENT_LOCATION_MODE_STATE_CHANGED | usual.event.location.MODE_STATE_CHANGED | 无 |
+| COMMON_EVENT_IVI_SLEEP | common.event.IVI_SLEEP | 无 |
+| COMMON_EVENT_IVI_PAUSE | common.event.IVI_PAUSE | 无 |
+| COMMON_EVENT_IVI_STANDBY | common.event.IVI_STANDBY | 无 |
+| COMMON_EVENT_IVI_LASTMODE_SAVE | common.event.IVI_LASTMODE_SAVE | 无 |
+| COMMON_EVENT_IVI_VOLTAGE_ABNORMAL | common.event.IVI_VOLTAGE_ABNORMAL | 无 |
+| COMMON_EVENT_IVI_HIGH_TEMPERATURE | common.event.IVI_HIGH_TEMPERATURE | 无 |
+| COMMON_EVENT_IVI_EXTREME_TEMPERATURE | common.event.IVI_EXTREME_TEMPERATURE | 无 |
+| COMMON_EVENT_IVI_TEMPERATURE_ABNORMAL | common.event.IVI_TEMPERATURE_ABNORMAL | 无 |
+| COMMON_EVENT_IVI_VOLTAGE_RECOVERY | common.event.IVI_VOLTAGE_RECOVERY | 无 |
+| COMMON_EVENT_IVI_TEMPERATURE_RECOVERY | common.event.IVI_TEMPERATURE_RECOVERY | 无 |
+| COMMON_EVENT_IVI_ACTIVE | common.event.IVI_ACTIVE | 无 |
+| COMMON_EVENT_USB_DEVICE_ATTACHED | usual.event.hardware.usb.action.USB_DEVICE_ATTACHED | 无 |
+| COMMON_EVENT_USB_DEVICE_DETACHED | usual.event.hardware.usb.action.USB_DEVICE_DETACHED | 无 |
+| COMMON_EVENT_USB_ACCESSORY_ATTACHED | usual.event.hardware.usb.action.USB_ACCESSORY_ATTACHED | 无 |
+| COMMON_EVENT_USB_ACCESSORY_DETACHED | usual.event.hardware.usb.action.USB_ACCESSORY_DETACHED | 无 |
+| COMMON_EVENT_DISK_REMOVED | usual.event.data.DISK_REMOVED | ohos.permission.WRITE_USER_STORAGE or ohos.permission.READ_USER_STORAGE |
+| COMMON_EVENT_DISK_UNMOUNTED | usual.event.data.DISK_UNMOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
+| COMMON_EVENT_DISK_MOUNTED | usual.event.data.DISK_MOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
+| COMMON_EVENT_DISK_BAD_REMOVAL | usual.event.data.DISK_BAD_REMOVAL | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
+| COMMON_EVENT_DISK_UNMOUNTABLE | usual.event.data.DISK_UNMOUNTABLE | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
+| COMMON_EVENT_DISK_EJECT | usual.event.data.DISK_EJECT | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE |
+| COMMON_EVENT_VISIBLE_ACCOUNTS_UPDATED | usual.event.data.VISIBLE_ACCOUNTS_UPDATED | ohos.permission.GET_APP_ACCOUNTS |
+| COMMON_EVENT_ACCOUNT_DELETED | usual.event.data.ACCOUNT_DELETED | ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS |
+| COMMON_EVENT_FOUNDATION_READY | common.event.FOUNDATION_READY | ohos.permission.RECEIVER_STARTUP_COMPLETED |
+| COMMON_EVENT_AIRPLANE_MODE_CHANGED | usual.event.AIRPLANE_MODE | 无 |
+
+#### 导入模块
+
+```js
+import CommonEvent from '@ohos.commonevent';
+```
+
+
+
+#### CommonEvent.publish(event: string, callback: AsyncCallback)
+
+- 接口说明
+
+ 发布公共事件(callback形式)
+
+* publish参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | -------- | -------- | ------------------- | ---- | -------------------- |
+ | event | 只读 | string | 是 | 表示要发送的公共事件 |
+ | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |
+
+* 返回值
+
+ void
+
+* 示例
+
+```js
+//发布公共事件回调
+function PublishCallBack(err) {
+ console.info("==========================>PublishCallBack=======================>");
+ console.info("==========================>err:=======================>", err.code);
+}
+//发布公共事件
+CommonEvent.publish("publish_event", PublishCallBack);
+```
+
+
+
+#### CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback)
+
+- 接口说明
+
+ 发布公共事件指定发布信息(callback形式)
+
+- publish参数描述
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | -------- | -------- | ---------------------- | ---- | ---------------------- |
+ | event | 只读 | string | 是 | 表示要发布的公共事件 |
+ | options | 只读 | CommonEventPublishData | 是 | 表示发布公共事件的属性 |
+ | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |
+
+- CommonEventPublishData类型说明
+
+ | 名称 | 读写属性 | 类型 | 必填 | 描述 |
+ | --------------------- | -------- | -------------------- | ---- | ---------------------------- |
+ | bundleName | 只读 | string | 否 | 表示包名称 |
+ | code | 只读 | int | 否 | 表示公共事件的结果代码 |
+ | data | 只读 | string | 否 | 表示公共事件的自定义结果数据 |
+ | subscriberPermissions | 只读 | Array | 否 | 表示订阅者的权限 |
+ | isOrdered | 只读 | bool | 否 | 表示是否是有序事件 |
+ | parameters | 只读 | {[key: string]: any} | 否 | 表示公共事件的附加信息 |
+
+- 返回值
+
+ void
+
+- 示例
+
+```js
+//公共事件相关信息
+var options = {
+ code: 0; //公共事件的初始代码
+ data: "initial data";//公共事件的初始数据
+ isOrdered: true; //有序公共事件
+}
+//发布公共事件回调
+function PublishCallBack(err) {
+ console.info("==========================>PublishCallBack=======================>");
+}
+//发布公共事件
+CommonEvent.publish("publish_event", options, PublishCallBack);
+```
+
+
+
+#### CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback