diff --git a/zh-cn/application-dev/quick-start/module-structure.md b/zh-cn/application-dev/quick-start/module-structure.md index c00812c7ce915d20c2ad0e60512d69dde2cac302..16ecee50c1b50129089bb7009671d123dacf3539 100644 --- a/zh-cn/application-dev/quick-start/module-structure.md +++ b/zh-cn/application-dev/quick-start/module-structure.md @@ -109,6 +109,8 @@ module.json示例: "voip", "taskKeeping" ], + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:red" } ], "abilities": [ @@ -141,6 +143,8 @@ module.json示例: "voip", "taskKeeping" ], + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:red" } ], "requestPermissions": [ @@ -313,6 +317,8 @@ abilities描述ability的配置信息,标签值为数组类型。 | continuable | 该标签标识ability是否可以迁移,为布尔类型,true表示可以被迁移, false表示不可以被迁移。 | 布尔值 | 该标签可缺省,缺省值为false。 | | skills | 该标签标识ability能够接收的意图的特征集,为数组格式。
配置规则 : entry包可以配置多个具有入口能力的skills标签(配置了action.system.home和entity.system.home)的ability,其中第一个配置了skills标签的ability中的label和icon作为OpenHarmony服务或应用的label和icon。
OpenHarmony服务的Feature包不能配置具有入口能力的skills标签。
OpenHarmony应用的Feature包可以配置具有入口能力的skills标签。
skills内部结构参考[skills对象内部结构](#skills对象内部结构)。 | 数组 | 该标签可缺省,缺省值为空。 | | backgroundModes | 该标签标识ability长时任务集合。指定用于满足特定类型的长时任务。
长时任务类型有如下 :
dataTransfer :通过网络/对端设备进行数据下载、备份、分享、传输等业务。
audioPlayback :音频输出业务。
audioRecording :音频输入业务。
location :定位、导航业务。
bluetoothInteraction :蓝牙扫描、连接、传输业务(穿戴)。
multiDeviceConnection :多设备互联业务。
wifiInteraction :Wifi扫描、连接、传输业务(克隆 多屏)。
voip :音视频电话,VOIP业务。
taskKeeping :计算业务。
| 字符串 | 可缺省,缺省为空。 | +| startWindowIcon | 表示该Ability启动页面图标资源文件的索引。取值示例:$media:icon。 | 字符串 | 不可缺省。 | +| startWindowBackground | 表示该Ability启动页面背景颜色资源文件的索引。取值示例:$color:red。 | 字符串 | 不可缺省。 | abilities示例 @@ -345,6 +351,8 @@ abilities示例 "voip", "taskKeeping" ], + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:red" }], } ``` @@ -439,7 +447,7 @@ skills示例 | description | 该标签标识extensionAbility的描述,标签值是是字符串类型或对描述内容的资源索引,以支持多语言。 | 字符串 | 该标签可缺省,缺省值为空。 | | icon | 该标签标识extensionAbility图标,标签值为资源文件的索引。如果extensionAbility被配置为MainElement,该标签必须配置。 | 字符串 | 该标签可缺省,缺省值为空。 | | label | 该标签标识extensionAbility对用户显示的名称,标签值配置为该名称的资源索引以支持多语言。
如果extensionAbility被配置为MainElement,该标签必须配置,且应用内唯一。 | 字符串 | 该标签不可缺省。 | -| type | 该标签标识extensionAbility的类型,取值为form、workScheduler、inputMethod、service、accessibility、dataShare、fileShare、staticSubscriber、wallpaper其中之一。 | 字符串 | 该标签不可缺省。 | +| type | 该标签标识extensionAbility的类型,取值为form、workScheduler、inputMethod、service、accessibility、dataShare、fileShare、staticSubscriber、wallpaper、backup其中之一。 | 字符串 | 该标签不可缺省。 | | permissions | 该标签标识被其它应用的ability调用时需要申请的权限的集合,字符串数组类型,每个数组元素为一个权限名称,通常采用反向域名方式表示(最大255字节),可以是系统预定义的权限,也可以是该应用自定义的权限。如果是后者,需与defPermissions标签中定义的某个权限的name标签值一致。 | 字符串数组 | 该标签可缺省,缺省值为空。 | | uri | 该标签标识ability提供的数据uri,为字符数组类型(最大长度255),用反向域名的格式表示。该标签在type为dataShare类型的extensionAbility时,不可缺省。 | 字符串 | 该标签可缺省,缺省值为空。 | | skills | 该标签标识ability能够接收的意图的特征集,为数组格式。
配置规则 : entry包可以配置多个具有入口能力的skills标签(配置了action.system.home和entity.system.home)的ability,其中第一个配置了skills标签的ability中的label和icon作为OpenHarmony服务或应用的label和icon。
OpenHarmony服务的Feature包不能配置具有入口能力的skills标签。
OpenHarmony应用的Feature包可以配置具有入口能力的skills标签。
skills内部结构参考[skills对象内部结构](#skills对象内部结构)。 | 数组 | 该标签可缺省,缺省值为空。 | diff --git a/zh-cn/application-dev/quick-start/package-structure.md b/zh-cn/application-dev/quick-start/package-structure.md index 738f0a1c76f91ae32634a1adf8f42737985dc915..6aad24ced20ebad13d35fd06e611ea5c710a7150 100644 --- a/zh-cn/application-dev/quick-start/package-structure.md +++ b/zh-cn/application-dev/quick-start/package-structure.md @@ -373,6 +373,8 @@ metaData示例: | srcLanguage | Ability开发语言的类型。 | 字符串 | 取值为java、js或ets | | srcPath | 该标签表示Ability对应的JS组件代码路径 | 字符串 | 可缺省,缺省值为空。 | | uriPermission | 表示该Ability有权访问的应用程序数据。此属性由模式和路径子属性组成。此属性仅对类型提供者的能力有效。运行OHOS的设备不支持此属性。参考表18。 | 对象 | 可缺省,缺省值为空。 | +| startWindowIcon | 表示该Ability启动页面图标资源文件的索引。取值示例:$media:icon。 | 字符串 | 可缺省,缺省值为空。 | +| startWindowBackground | 表示该Ability启动页面背景颜色资源文件的索引。取值示例:$color:red。 | 字符串 | 可缺省,缺省值为空。 | 表18 uriPermission对象的内部结构说明 @@ -411,7 +413,9 @@ abilities示例: "fontSize", "orientation" ], - "type": "page" + "type": "page", + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:red" }, { "name": ".PlayService", diff --git a/zh-cn/application-dev/reference/apis/js-apis-Bundle.md b/zh-cn/application-dev/reference/apis/js-apis-Bundle.md index c23ceab70b67d5ca9524c206215842e1c0846865..81f4b27bdc844fd77c96e6cc4f6c5c299f3049c2 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-Bundle.md +++ b/zh-cn/application-dev/reference/apis/js-apis-Bundle.md @@ -568,6 +568,85 @@ bundle.getAbilityInfo(bundleName, abilityName, (err, data) => { console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` +## bundle.getAbilityInfo9+ + +getAbilityInfo(bundleName: string, moduleName: string, abilityName: string): Promise\ + +通过包名称、moduleName和abilityName获取Ability信息,使用Promise形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | ---------------- | +| bundleName | string | 是 | 应用程序包名。 | +| moduleName | string | 是 | Module名称。 | +| abilityName | string | 是 | Ability名称。 | + +**返回值:** + +| 类型 | 说明 | +| --------------------- | --------------------- | +| Promise\ | Promise形式返回Ability信息。 | + +**示例:** + +```js +let bundleName = "com.example.myapplication"; +let moduleName = "entry"; +let abilityName = "com.example.myapplication.MainAbility"; +bundle.getAbilityInfo(bundleName, moduleName, abilityName) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}) +``` + +## bundle.getAbilityInfo9+ + +getAbilityInfo(bundleName: string, moduleName: string, abilityName: string, callback: AsyncCallback\): void; + +通过包名称、moduleName和abilityName获取Ability信息,使用callback形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------------ | ---- | ---------------- | +| bundleName | string | 是 | 应用程序包名。 | +| moduleName | string | 是 | Module名称。 | +| abilityName | string | 是 | Ability名称。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数,返回Ability信息。 | + +**示例:** + +```js +let bundleName = "com.example.myapplication"; +let moduleName = "entry"; +let abilityName = "com.example.myapplication.MainAbility"; +bundle.getAbilityInfo(bundleName, moduleName, abilityName, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) +``` ## bundle.getAbilityLabel8+ @@ -644,6 +723,85 @@ bundle.getAbilityLabel(bundleName, abilityName, (err, data) => { console.info('Operation successful. Data:' + JSON.stringify(data)); }) ``` +## bundle.getAbilityLabel9+ + +getAbilityLabel(bundleName: string, moduleName: string, abilityName: string): Promise\ + +通过包名称、moduleName和abilityName获取应用名称,使用Promise形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | ---------------- | +| bundleName | string | 是 | 应用程序包名。 | +| moduleName | string | 是 | Module名称。 | +| abilityName | string | 是 | Ability名称。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------- | ------------------ | +| Promise\ | Promise形式返回应用名称信息。 | + +**示例:** + +```js +let bundleName = "com.example.myapplication"; +let moduleName = "entry"; +let abilityName = "com.example.myapplication.MainAbility"; +bundle.getAbilityLabel(bundleName, moduleName, abilityName) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}) +``` + +## bundle.getAbilityLabel9+ + +getAbilityLabel(bundleName: string, moduleName: string, abilityName: string, callback : AsyncCallback\): void + +通过包名称、moduleName和abilityName获取应用名称,使用callback形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ---------------------- | ---- | ---------------- | +| bundleName | string | 是 | 应用程序包名。 | +| moduleName | string | 是 | Module名称。 | +| abilityName | string | 是 | Ability名称。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数,返回应用名称信息。 | + +**示例:** + +```js +let bundleName = "com.example.myapplication"; +let moduleName = "entry"; +let abilityName = "com.example.myapplication.MainAbility"; +bundle.getAbilityLabel(bundleName, moduleName, abilityName, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) +``` ## bundle.isAbilityEnabled8+ @@ -1081,8 +1239,8 @@ SystemCapability.BundleManager.BundleFramework **示例:** ```js -let bundleName = com.example.myapplication; -let abilityName = com.example.myapplication.MainAbility; +let bundleName = "com.example.myapplication"; +let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityIcon(bundleName, abilityName) .then((data) => { console.info('Operation successful. Data: ' + JSON.stringify(data)); @@ -1116,8 +1274,8 @@ SystemCapability.BundleManager.BundleFramework **示例:** ```js -let bundleName = com.example.myapplication; -let abilityName = com.example.myapplication.MainAbility; +let bundleName = "com.example.myapplication"; +let abilityName = "com.example.myapplication.MainAbility"; bundle.getAbilityIcon(bundleName, abilityName, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + JSON.stringify(err)); @@ -1127,6 +1285,84 @@ bundle.getAbilityIcon(bundleName, abilityName, (err, data) => { }) ``` +## bundle.getAbilityIcon9+ + +getAbilityIcon(bundleName: string, moduleName: string, abilityName: string): Promise\; + +以异步方法通过bundleName、moduleName和abilityName获取对应Icon的[PixelMap](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-image.md),使用Promise形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED, ohos.permission.GET_BUNDLE_INFO + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ---------------------------------------- | ---- | ---------------------------------------- | +| bundleName | string | 是 | 要查询的bundleName。 | +| moduleName | string | 是 | moduleName。 | +| abilityName | string | 是 | 要查询的abilityName。 | + +**返回值:** +| 类型 | 说明 | +| --------------------- | ------------------------------------------------------------ | +| Promise\ | 返回值为[PixelMap](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-image.md)。 | + +**示例:** + +```js +let bundleName = "com.example.myapplication"; +let moduleName = "entry"; +let abilityName = "com.example.myapplication.MainAbility"; +bundle.getAbilityIcon(bundleName, moduleName, abilityName) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}) +``` + +## bundle.getAbilityIcon9+ + +getAbilityIcon(bundleName: string, moduleName: string, abilityName: string, callback: AsyncCallback\): void; + +以异步方法通过bundleName、moduleName和abilityName获取对应Icon的[PixelMap](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-image.md),使用callback形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED, ohos.permission.GET_BUNDLE_INFO + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ---------------------------------------- | ---- | ---------------------------------------- | +| bundleName | string | 是 | 要查询的bundleName。 | +| moduleName | string | 是 | moduleName。 | +| abilityName | string | 是 | 要查询的abilityName。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数,返回指定[PixelMap](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-image.md)。 | + +**示例:** + +```js +let bundleName = "com.example.myapplication"; +let moduleName = "entry"; +let abilityName = "com.example.myapplication.MainAbility"; +bundle.getAbilityIcon(bundleName, moduleName, abilityName, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) +``` ## bundle.queryExtensionAbilityInfosByWant9+ @@ -1451,6 +1687,7 @@ Hap模块信息 | --------- | --------- | ---- | ---- | ---------- | | name | string | 是 | 是 | 需要使用的权限名称 | | reason | string | 是 | 是 | 描述申请权限的原因 | +| reasonId9+ | number | 是 | 是 | 描述申请权限的原因ID | | usedScene | UsedScene | 是 | 是 | 权限使用的场景和时机 | ## UsedScene @@ -1568,7 +1805,8 @@ ExtensionAbility的类型 | FILE_SHARE9+ | 6 | ExtensionAbility的类型包括文件共享 | | STATIC_SUBSCRIBER9+ | 7 | ExtensionAbility的类型包括订阅者 | | WALLPAPER9+ | 8 | ExtensionAbility的类型包括墙纸 | -| UNSPECIFIED9+ | 9 | ExtensionAbility未指定类型 | +| BACKUP9+ | 9 | ExtensionAbility的类型包括数据备份恢复 | +| UNSPECIFIED9+ | 20 | ExtensionAbility未指定类型 | ## ExtensionFlag9+