提交 e710276e 编写于 作者: IT_newip's avatar IT_newip

Merge branch 'master' of https://gitee.com/openharmony/docs

......@@ -14,17 +14,18 @@
## 接口说明
进行坐标和地理编码信息的相互转化,所使用的接口说明如下,详细信息参见:[位置服务](../reference/apis/js-apis-geoLocationManager.md)
进行坐标和地理编码信息的相互转化,所使用的接口说明如下,详细信息参见:[位置服务](../reference/apis/js-apis-geolocation.md)
**表1** 地理编码转化能力和逆地理编码转化能力的API功能介绍
| 接口名 | 功能描述 |
| -------- | -------- |
| isGeocoderAvailable(): boolean; | 判断(逆)地理编码服务状态。 |
| getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>): void | 调用逆地理编码服务,将坐标转换为地理描述,使用callback回调异步返回结果。 |
| getAddressesFromLocation(request: ReverseGeoCodeRequest): Promise<Array<GeoAddress>> | 调用逆地理编码服务,将坐标转换为地理描述,使用Promise方式异步返回结果。 |
| getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>): void | 调用地理编码服务,将地理描述转换为具体坐标,使用callback回调异步返回结果。 |
| getAddressesFromLocationName(request: GeoCodeRequest): Promise<Array<GeoAddress>> | 调用地理编码服务,将地理描述转换为具体坐标,使用Promise方式异步返回结果。 |
| isGeoServiceAvailable(callback: AsyncCallback<boolean>) : void | 判断(逆)地理编码服务状态,使用callback回调异步返回结果。 |
| isGeoServiceAvailable() : Promise<boolean> | 判断(逆)地理编码服务状态,使用Promise方式异步返回结果。 |
| getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>) : void | 调用逆地理编码服务,将坐标转换为地理描述,使用callback回调异步返回结果。 |
| getAddressesFromLocation(request: ReverseGeoCodeRequest) : Promise<Array<GeoAddress>> | 调用逆地理编码服务,将坐标转换为地理描述,使用Promise方式异步返回结果。 |
| getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>) : void | 调用地理编码服务,将地理描述转换为具体坐标,使用callback回调异步返回结果。 |
| getAddressesFromLocationName(request: GeoCodeRequest) : Promise<Array<GeoAddress>> | 调用地理编码服务,将地理描述转换为具体坐标,使用Promise方式异步返回结果。 |
## 开发步骤
......@@ -32,22 +33,23 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> GeoConvert需要访问后端服务,请确保设备联网,以进行信息获取。
1. 导入geoLocationManager模块,所有与(逆)地理编码转化能力相关的功能API,都是通过该模块提供的。
1. 导入geolocation模块,所有与(逆)地理编码转化能力相关的功能API,都是通过该模块提供的。
```ts
import geoLocationManager from '@ohos.geoLocationManager';
import geolocation from '@ohos.geolocation';
```
2. 查询geoCoder服务是否可用。
- 调用isGeoServiceAvailable查询geoCoder服务是否可用,如果服务可用再继续进行步骤3。
```ts
import geoLocationManager from '@ohos.geoLocationManager';
try {
var isAvailable = geoLocationManager.isGeocoderAvailable();
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
geolocation.isGeoServiceAvailable((err, data) => {
if (err) {
console.log('isGeoServiceAvailable err: ' + JSON.stringify(err));
} else {
console.log('isGeoServiceAvailable data: ' + JSON.stringify(data));
}
});
```
3. 获取转化结果。
......@@ -55,7 +57,7 @@
```ts
var reverseGeocodeRequest = {"latitude": 31.12, "longitude": 121.11, "maxItems": 1};
geoLocationManager.getAddressesFromLocation(reverseGeocodeRequest, (err, data) => {
geolocation.getAddressesFromLocation(reverseGeocodeRequest, (err, data) => {
if (err) {
console.log('getAddressesFromLocation err: ' + JSON.stringify(err));
} else {
......@@ -64,12 +66,12 @@
});
```
参考接口API说明[位置服务](../reference/apis/js-apis-geoLocationManager.md),应用可以获得与此坐标匹配的GeoAddress列表,应用可以根据实际使用需求,读取相应的参数数据。
参考接口API说明[位置服务](../reference/apis/js-apis-geolocation.md),应用可以获得与此坐标匹配的GeoAddress列表,应用可以根据实际使用需求,读取相应的参数数据。
- 调用getAddressesFromLocationName位置描述转化坐标。
```ts
var geocodeRequest = {"description": "上海市浦东新区xx路xx号", "maxItems": 1};
geoLocationManager.getAddressesFromLocationName(geocodeRequest, (err, data) => {
geolocation.getAddressesFromLocationName(geocodeRequest, (err, data) => {
if (err) {
console.log('getAddressesFromLocationName err: ' + JSON.stringify(err));
} else {
......@@ -78,6 +80,6 @@
});
```
参考接口API说明[位置服务](../reference/apis/js-apis-geoLocationManager.md),应用可以获得与位置描述相匹配的GeoAddress列表,其中包含对应的坐标数据,请参考API使用。
参考接口API说明[位置服务](../reference/apis/js-apis-geolocation.md),应用可以获得与位置描述相匹配的GeoAddress列表,其中包含对应的坐标数据,请参考API使用。
如果需要查询的位置描述可能出现多地重名的请求,可以设置GeoCodeRequest,通过设置一个经纬度范围,以高效地获取期望的准确结果。
......@@ -10,12 +10,12 @@
## 接口说明
获取设备的位置信息,所使用的接口说明参见:[位置服务](../reference/apis/js-apis-geoLocationManager.md)
获取设备的位置信息,所使用的接口说明参见:[位置服务](../reference/apis/js-apis-geolocation.md)
## 开发步骤
如需要获取设备位置相关接口信息,请参考[位置服务](../reference/apis/js-apis-geoLocationManager.md)
如需要获取设备位置相关接口信息,请参考[位置服务](../reference/apis/js-apis-geolocation.md)
1. 应用在使用系统能力前,需要检查是否已经获取用户授权访问设备位置信息。如未获得授权,可以向用户申请需要的位置权限,申请方式请参考下文。
系统提供的定位权限有:
......@@ -42,10 +42,10 @@
开发者可以在应用配置文件中声明所需要的权限,具体可参考[授权申请指导](../security/accesstoken-guidelines.md)
2. 导入geoLocationManager模块,所有与基础定位能力相关的功能API,都是通过该模块提供的。
2. 导入geolocation模块,所有与基础定位能力相关的功能API,都是通过该模块提供的。
```ts
import geoLocationManager from '@ohos.geoLocationManager';
```
import geolocation from '@ohos.geolocation';
```
3. 实例化LocationRequest对象,用于告知系统该向应用提供何种类型的位置服务,以及位置结果上报的频率。<br/>
......@@ -78,8 +78,8 @@
以导航场景为例,实例化方式如下:
```ts
var requestInfo = {'scenario': geoLocationManager.LocationRequestScenario.NAVIGATION, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
```
var requestInfo = {'scenario': geolocation.LocationRequestScenario.NAVIGATION, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
```
**方式二:**
......@@ -108,7 +108,7 @@
以定位精度优先策略为例,实例化方式如下:
```ts
var requestInfo = {'priority': geoLocationManager.LocationRequestPriority.ACCURACY, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
var requestInfo = {'priority': geolocation.LocationRequestPriority.ACCURACY, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
```
4. 实例化Callback对象,用于向系统提供位置上报的途径。
......@@ -123,24 +123,25 @@
5. 启动定位。
```ts
geoLocationManager.on('locationChange', requestInfo, locationChange);
geolocation.on('locationChange', requestInfo, locationChange);
```
6. (可选)结束定位。
```ts
geoLocationManager.off('locationChange', locationChange);
geolocation.off('locationChange', locationChange);
```
如果应用使用场景不需要实时的设备位置,可以获取系统缓存的最近一次历史定位结果。
```ts
import geoLocationManager from '@ohos.geoLocationManager';
try {
var location = geoLocationManager.getLastLocation();
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
geolocation.getLastLocation((err, data) => {
if (err) {
console.log('getLastLocation: err: ' + JSON.stringify(err));
} else {
console.log('getLastLocation: data: ' + JSON.stringify(data));
}
});
```
此接口的使用需要应用向用户申请ohos.permission.LOCATION权限。
\ No newline at end of file
......@@ -10,7 +10,7 @@
表1 配置文件的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ------------ | ------------------------------------------------------------ | -------- | ---------- |
| app | 标识应用的全局配置信息。同一个应用的不同HAP包的app配置必须保持一致。参考[app对象内部结构](#app对象内部结构)。 | 对象 | 不可缺省。 |
| deviceConfig | 标识应用在具体设备上的配置信息。参考[deviceConfig对象内部结构](#deviceconfig对象的内部结构)。 | 对象 | 不可缺省。 |
......@@ -24,25 +24,24 @@ config.json示例:
"bundleName": "com.example.myapplication",
"vendor": "example",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 4,
"target": 5,
"releaseType": "Beta1"
"code": 1000000,
"name": "1.0.0"
}
},
"deviceConfig": {},
"module": {
"package": "com.example.myapplication.entrymodule",
"name": ".MyApplication",
"package": "com.example.myapplication",
"name": ".entry",
"mainAbility": ".MainAbility",
"deviceType": [
"default"
"default",
"tablet"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
"moduleType": "entry",
"installationFree": false
},
"abilities": [
{
......@@ -56,20 +55,33 @@ config.json示例:
]
}
],
"name": "com.example.myapplication.entrymodule.MainAbility",
"orientation": "unspecified",
"formsEnabled": false,
"name": ".MainAbility",
"srcLanguage": "ets",
"srcPath": "MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:app_name",
"description": "$string:ability_desc",
"label": "$string:ability_label",
"type": "page",
"visible": true,
"launchType": "standard"
}
],
"js": [
{
"mode": {
"syntax": "ets",
"type": "pageAbility"
},
"pages": [
"pages/index/index"
"pages/LoginPage",
"pages/MinePage",
"pages/RegistrationSuccessPage",
"pages/PrivacyPage",
"pages/CustomerServicePage"
],
"name": "default",
"name": ".MainAbility",
"window": {
"designWidth": 720,
"autoDesignWidth": false
......@@ -86,46 +98,48 @@ app对象包含应用全局配置信息,内部结构说明参见表2。
表2 app对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ----------------- | ------------------------------------------------------------ | -------- | --------------------------- |
| bundleName | 标识应用的包名,用于标识应用的唯一性。包名是由字母、数字、下划线(_)和点号(.)组成的字符串,必须以字母开头。支持的字符串长度为7~127字节。包名通常采用反向域名形式表示(例如,"com.example.myapplication")。建议第一级为域名后缀"com",第二级为厂商/个人名,也可以采用多级。 | 字符串 | 不可缺省。 |
| bundleName | 标识应用的包名,用于标识应用的唯一性。包名是由字母、数字、下划线(_)和点号(.)组成的字符串,必须以字母开头。支持的字符串长度为7~127字节。</br>包名通常采用反向域名形式表示(例如,"com.example.myapplication")。建议第一级为域名后缀"com",第二级为厂商/个人名,也可以采用多级。 | 字符串 | 不可缺省。 |
| vendor | 标识对应用开发厂商的描述。字符串长度不超过255字节。 | 字符串 | 可缺省,缺省值为空。 |
| version | 标识应用的版本信息。参考表3。 | 对象 | |
| version | 标识应用的版本信息。参考表3。 | 对象 | 不可缺省。 |
| apiVersion | 标识应用程序所依赖的OpenHarmony API版本。参考表4。 | 对象 | 可缺省,缺省值为空。 |
| smartWindowSize | 标识应用在模拟器中运行时使用的屏幕尺寸。 | 字符串 | 可缺省,缺省值为空。 |
| smartWindowDeviceType | 标识应用在模拟器中运行时可以模拟的设备。 | 字符串数组 | 可缺省,缺省值为空。 |
表3 version内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ------------------------ | ------------------------------------------------------------ | -------- | -------------------------- |
| name | 标识应用的版本号,用于向应用的终端用户呈现。取值可以自定义,长度不超过127字节。自定义规则如下:<br />API5及更早的版本:推荐使用三段数字版本号(也兼容两段式版本号),如A.B.C(也兼容A.B),其中A、B、C取值为0-999范围内的整数。除此之外不支持其他格式。<br /> A段,一般表示主版本号(Major)。<br /> B段,一般表示次版本号(Minor)。<br /> C段,一般表示修订版本号(Patch)。<br />API6版本起:推荐采用四段式数字版本号,如A.B.C.D,其中A、B、C取值为0-99范围内的整数,D的取值为0-999范围内的整数。<br /> A段,一般表示主版本号(Major)。<br /> B段,一般表示次版本号(Minor)。<br /> C段,一般表示特性版本号(Feature)。<br /> D段,一般表示修订版本号(Patch)。 | 数值 | 不可缺省。 |
| code | 标识应用的版本号,仅用于OpenHarmony管理该应用,不对应用的终端用户呈现。取值规则如下:<br />API5及更早版本:二进制32位以内的非负整数,需要从version.name的值转换得到。转换规则为:<br /> code值=A * 1,000,000 + B * 1,000 + C 例如,version.name字段取值为2.2.1,则code值为2002001。<br /> API6版本起:code的取值不与version.name字段的取值关联,开发者可自定义code取值,取值范围为2^31以内的非负整数,但是每次应用版本的更新,均需要更新code字段的值,新版本code取值必须大于旧版本code的值。 | 数值 | 不可缺省。 |
| code | 标识应用的版本号,仅用于OpenHarmony管理该应用,不对应用的终端用户呈现。取值规则如下:<br />API5及更早版本:二进制32位以内的非负整数,需要从version.name的值转换得到。转换规则为:<br /> code值=A * 1,000,000 + B * 1,000 + C 例如,version.name字段取值为2.2.1,则code值为2002001。<br /> API6版本起:code的取值不与version.name字段的取值关联,开发者可自定义code取值,取值范围为2^31以内的非负整数,<br />但是每次应用版本的更新,均需要更新code字段的值,新版本code取值必须大于旧版本code的值。 | 数值 | 不可缺省。 |
| minCompatibleVersionCode | 标识应用可兼容的最低版本号,用于跨设备场景下,判断其他设备上该应用的版本是否兼容。<br /> 格式与version.code字段的格式要求相同。 | 数值 | 可缺省,缺省值为code标签值。 |
表4 apiVersion内部结构
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ----------- | ----------------------------------------------------------- | -------- | ---------- |
| compatible | 运行应用所需要的最低API版本,取值范围为0~2147483647。 | 数值 | 配置在build.profile中,打包时由IDE填充到config.json中。 |
| target | 用于标识应用运行所需的目标API版本,取值范围为0~2147483647。 | 数值 | 配置在build.profile中,打包时由IDE填充到config.json中。 |
| releaseType | 用于标识应用运行所需的目标API版本的类型。 | 字符串 | 配置在build.profile中,打包时由IDE填充到config.json中。 |
| releaseType | 用于标识应用运行时SDK的状态。<br />canary:面向特定开发者早期预览版本,不承诺质量,不承诺API稳定。<br />beta:公开发布的Beta版本,早期Beta版本不承诺API稳定,经历若干次发布后,通过Release Notes对开发者声明该Beta版本为API稳定里程碑,后续版本的API冻结。<br />release:正式发布版本,承诺质量,API不可变更。当版本处于此状态时版本号中不呈现Stage字段。 | 字符串 | 配置在build.profile中,打包时由IDE填充到config.json中。 |
app实例:
```json
"app": {
{
"app": {
"bundleName": "com.example.myapplication",
"vendor": "example",
"version": {
"code": 8,
"name": "8.0.1"
"code": 1000000,
"name": "1.0.0"
},
"apiVersion": {
"compatible": 8,
"target": 9,
"releaseType": "Beta1"
"compatible": 9,
"target": 9,
"releaseType": "Beta1"
}
}
}
```
......@@ -147,12 +161,12 @@ default、tablet、tv、car、wearable等对象的内部结构说明如下:
表6 deviceConfig设备对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ------------------ | ------------------------------------------------------------ | -------- | ----------------------- |
| process | 标识应用或者Ability的进程名。如果在deviceConfig标签下配置了process标签,则该应用的所有Ability都运行在这个进程中。如果在abilities标签下也为某个Ability配置了process标签,则该Ability就运行在这个进程中。该标签仅适用于默认设备、平板、智慧屏、车机、智慧穿戴。该标签最大长度为31。 | 字符串 | 可缺省,缺省值为空。 |
| keepAlive | 标识应用是否始终保持运行状态,仅支持系统应用配置,三方应用配置不生效。该标签为布尔类型,可缺省,缺省值为false,如果配置为true,应用将始终保持为运行状态,并在系统启动的时候被系统驱动起来,应用进程退出后,系统也会重新启动应用进程。 | 布尔值 | 可缺省,缺省值为false。 |
| supportBackup | 标识应用是否支持备份和恢复。如果配置为"false",则不支持为该应用执行备份或恢复操作。<br /> 该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 布尔值 | 可缺省,缺省值为false。 |
| compressNativeLibs | 标识libs库是否以压缩存储的方式打包到HAP包。如果配置为"false",则libs库以不压缩的方式存储,HAP包在安装时无需解压libs,运行时会直接从HAP内加载libs库。<br /> 该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 布尔值 | 可缺省,缺省值为false。 |
| process | 标识应用或者Ability的进程名。如果在deviceConfig标签下配置了process标签,则该应用的所有Ability都运行在这个进程中。如果在abilities标签下也为某个Ability配置了process标签,<br />则该Ability就运行在这个进程中。该标签最大长度为31。 | 字符串 | 可缺省,缺省值为空。 |
| keepAlive | 标识应用是否始终保持运行状态,仅支持系统应用配置,三方应用配置不生效。该标签为布尔类型,可缺省,缺省值为false,如果配置为true,应用将始终保持为运行状态,<br />并在系统启动的时候被系统驱动起来,应用进程退出后,系统也会重新启动应用进程。 | 布尔值 | 可缺省,缺省值为false。 |
| supportBackup | 标识应用是否支持备份和恢复。如果配置为false,则不支持为该应用执行备份或恢复操作。 | 布尔值 | 可缺省,缺省值为false。 |
| compressNativeLibs | 标识libs库是否以压缩存储的方式打包到HAP包。如果配置为false,则libs库以不压缩的方式存储,HAP包在安装时无需解压libs,运行时会直接从HAP内加载libs库。 | 布尔值 | 可缺省,缺省值为false。 |
| network | 标识网络安全性配置。该标签允许应用通过配置文件的安全声明来自定义其网络安全,无需修改应用代码。参考表7。 | 对象 | 可缺省,缺省值为空。 |
表7 network对象的内部结构说明
......@@ -164,34 +178,36 @@ default、tablet、tv、car、wearable等对象的内部结构说明如下:
表8 securityConfig对象的内部结构说明
| 属性名称 | 子属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 子属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------------- | ------------------ | ------------------------------------------------------------ | -------- | ---------------- |
| domainSettings | - | 标识自定义的网域范围的安全配置,支持多层嵌套,即一个domainSettings对象中允许嵌套更小网域范围的domainSettings对象。 | 对象 | 可缺省,缺省值为空。 |
| | cleartextPermitted | 标识自定义的网域范围内是否允许明文流量传输。当cleartextTraffic和security同时存在时,自定义网域是否允许明文流量传输以cleartextPermitted的取值为准。<br />true:允许明文流量传输。<br />false:拒绝明文流量传输。 | 布尔值 | 可缺省,缺省值为空。 |
| | domains | 标识域名配置信息,包含两个参数:subdomains和name。<br /> subdomains(布尔类型):表示是否包含子域名。如果为"true",此网域规则将与相应网域及所有子网域(包括子网域的子网域)匹配。否则,该规则仅适用于精确匹配项。<br /> name(字符串):表示域名名称。 | 对象数组 | 可缺省,缺省值为空。 |
| | domains | 标识域名配置信息,包含两个参数:subdomains和name。<br /> subdomains(布尔类型):表示是否包含子域名。如果为true,此网域规则将与相应网域及所有子网域(包括子网域的子网域)匹配。<br />否则,该规则仅适用于精确匹配项。name(字符串):表示域名名称。 | 对象数组 | 可缺省,缺省值为空。 |
deviceConfig示例:
```json
"deviceConfig": {
{
"deviceConfig": {
"default": {
"process": "com.example.test.example",
"supportBackup": false,
"network": {
"cleartextTraffic": true,
"securityConfig": {
"domainSettings": {
"cleartextPermitted": true,
"domains": [
{
"subdomains": true,
"name": "example.ohos.com"
}
]
}
}
"process": "com.example.myapplication",
"supportBackup": false,
"network": {
"cleartextTraffic": true,
"securityConfig": {
"domainSettings": {
"cleartextPermitted": true,
"domains": [
{
"subdomains": true,
"name": "example.ohos.com"
}
]
}
}
}
}
}
}
```
......@@ -201,63 +217,96 @@ module对象包含HAP包的配置信息,内部结构说明参见表9。
表9 module对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ----------------- | ------------------------------------------------------------ | ---------- | ------------------------------------------------------------ |
| mainAbility | 服务中心图标露出的ability,常驻进程拉起时会启动mainAbility。 | 字符串 | 可缺省,缺省值为空。 |
| package | 标识HAP的包结构名称,在应用内保证唯一性。采用反向域名格式(建议与HAP的工程目录保持一致)。字符串长度为1-127个字节。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 字符串 | 不可缺省。 |
| name | 标识HAP的类名。采用反向域名方式标识,前缀要与同级的package标签指定的包名一致,也可采用"."开头的命名方式。字符串长度不超过255字节。<br /> 该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为空。 |
| description | 标识HAP的描述信息。字符串长度不超过255字节。如果字符串超出长度或者需要支持多语言,可以采用资源索引的方式添加描述内容。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为空。 |
| package | 标识HAP的包结构名称,在应用内保证唯一性。采用反向域名格式(建议与HAP的工程目录保持一致)。字符串长度为1-127个字节。 | 字符串 | 不可缺省。 |
| name | 标识HAP的类名。采用反向域名方式标识,前缀要与同级的package标签指定的包名一致,也可采用"."开头的命名方式。字符串长度不超过255字节。 | 字符串 | 可缺省,缺省值为空。 |
| description | 标识HAP的描述信息。字符串长度不超过255字节。如果字符串超出长度或者需要支持多语言,可以采用资源索引的方式添加描述内容。 | 字符串 | 可缺省,缺省值为空。 |
| supportedModes | 标识应用支持的运行模式,当前只定义了驾驶模式(drive)。该标签只适用于车机。 | 字符串数组 | 可缺省,缺省值为空。 |
| deviceType | 标识允许Ability运行的设备类型。系统预定义的设备类型包括:tablet(平板)、tv(智慧屏)、car(车机)、wearable(智能穿戴)等。 | 字符串数组 | 不可缺省。 |
| distro | 标识HAP发布的具体描述。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。参考表10。 | 对象 | 不可缺省。 |
| distro | 标识HAP发布的具体描述。参考表10。 | 对象 | 不可缺省。 |
| metaData | 标识HAP的元信息。参考表11。 | 对象 | 可缺省,缺省值为空。 |
| abilities | 标识当前模块内的所有Ability。采用对象数据格式。参考表15。 | 对象数组 | 可缺省,缺省值为空。 |
| js | 标识基于ArkUI框架开发的JS模块集合,其中的每个元素代表一个JS模块的信息。参考表21。 | 对象数组 | 可缺省,缺省值为空。 |
| shortcuts | 标识应用的快捷方式信息。采用对象数组格式,其中的每个元素表示一个快捷方式对象。参考表24。 | 对象数组 | 可缺省,缺省值为空。 |
| reqPermissions | 标识应用运行时向系统申请的权限。参考表19。 | 对象数组 | 可缺省,缺省值为空。 |
| colorMode | 标识应用自身的颜色模式。<br /> dark:表示按照深色模式选取资源。<br /> light:表示按照浅色模式选取资源。<br /> auto:表示跟随系统的颜色模式值选取资源。<br /> 该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为"auto"。 |
| distroFilter | 标识应用的分发规则。<br /> 该标签用于定义HAP包对应的细分设备规格的分发策略,以便在应用市场进行云端分发应用包时做精准匹配。该标签可配置的分发策略维度包括API Version、屏幕形状、屏幕分辨率。在进行分发时,通过deviceType与这三个属性的匹配关系,唯一确定一个用于分发到设备的HAP。参考表28。 | 对象 | 可缺省,缺省值为空。但当应用中包含多个entry模块时,必须配置该标签。 |
| commonEvents | 定义了公共事件静态订阅者的信息,该字段中需要声明静态订阅者的名称、权限要求及订阅事件列表信息,当订阅的公共事件发送时,该公共事件静态订阅者将被拉起。这里的静态订阅者区分于常用的动态订阅者,前者无需在业务代码中主动调用订阅事件的接口,在公共事件发布时可能未被拉起,而动态订阅者则在业务代码中主动调用公共事件订阅的相关API,因此需要应用处于活动状态。参考表34。 | 对象数组 | 可缺省,缺省值为空。 |
| colorMode | 标识应用自身的颜色模式。<br /> dark:表示按照深色模式选取资源。<br /> light:表示按照浅色模式选取资源。<br /> auto:表示跟随系统的颜色模式值选取资源。 | 字符串 | 可缺省,缺省值为"auto"。 |
| distroFilter | 标识应用的分发规则。<br /> 该标签用于定义HAP包对应的细分设备规格的分发策略,以便在应用市场进行云端分发应用包时做精准匹配。该标签可配置的分发策略维度包括<br />API Version、屏幕形状、屏幕尺寸、屏幕分辨率、国家和地区码。<br />在进行分发时,通过deviceType与这五个属性的匹配关系,唯一确定一个用于分发到设备的HAP。参考表27。 | 对象 | 可缺省,缺省值为空。但当应用中包含多个entry模块时,必须配置该标签。 |
| commonEvents | 定义了公共事件静态订阅者的信息,该字段中需要声明静态订阅者的名称、权限要求及订阅事件列表信息,当订阅的公共事件发送时,<br />该公共事件静态订阅者将被拉起。这里的静态订阅者区分于常用的动态订阅者,前者无需在业务代码中主动调用订阅事件的接口,<br />在公共事件发布时可能未被拉起,而动态订阅者则在业务代码中主动调用公共事件订阅的相关API,因此需要应用处于活动状态。参考表33。 | 对象数组 | 可缺省,缺省值为空。 |
| entryTheme | 此标签标识OpenHarmony内部主题的关键字。将标记值设置为名称的资源索引。 | 字符串 | 可缺省,缺省值为空。 |
| testRunner | 此标签用于支持对测试框架的配置,参考表35。 | 对象 | 可缺省,缺省值为空。 |
| testRunner | 此标签用于支持对测试框架的配置,参考表34。 | 对象 | 可缺省,缺省值为空。 |
module示例:
```json
"module": {
"mainAbility": "MainAbility",
"package": "com.example.myapplication.entry",
"name": ".MyOHOSAbilityPackage",
"description": "$string:description_application",
"supportModes": [
"drive"
],
{
"module": {
"package": "com.example.myapplication",
"name": ".entry",
"mainAbility": ".MainAbility",
"deviceType": [
"car"
"default",
"tablet"
],
"distro": {
"moduleName": "ohos_entry",
"moduleType": "entry"
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry",
"installationFree": false
},
"abilities": [
...
],
"shortcuts": [
...
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"orientation": "unspecified",
"formsEnabled": false,
"name": ".MainAbility",
"srcLanguage": "ets",
"srcPath": "MainAbility",
"icon": "$media:icon",
"description": "$string:ability_desc",
"label": "$string:ability_label",
"type": "page",
"visible": true,
"launchType": "standard"
}
],
"js": [
...
],
"reqPermissions": [
...
],
"colorMode": "light"
{
"mode": {
"syntax": "ets",
"type": "pageAbility"
},
"pages": [
"pages/LoginPage",
"pages/MinePage",
"pages/RegistrationSuccessPage",
"pages/PrivacyPage",
"pages/CustomerServicePage"
],
"name": ".MainAbility",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
]
}
}
```
表10 distro对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ---------------- | ------------------------------------------------------------ | -------- | ---------- |
| moduleName | 标识当前HAP的名称,最大长度为31个字节。 | 字符串 | 不可缺省。 |
| moduleType | 标识当前HAP的类型,包括三种类型:entry、feature和har。 | 字符串 | 不可缺省。 |
......@@ -267,17 +316,21 @@ module示例:
distro示例:
```json
"distro": {
"moduleName": "ohos_entry",
"moduleType": "entry",
"installationFree": true,
"deliveryWithInstall": true
{
"module": {
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry",
"installationFree": false
}
}
}
```
表11 metaData对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ------------- | ------------------------------------------------------------ | -------- | -------------------- |
| parameters | 标识调用Ability时所有调用参数的元信息。每个调用参数的元信息由以下三个标签组成:description、name、type。参考表12。 | 对象数组 | 可缺省,缺省值为空。 |
| results | 标识Ability返回值的元信息。每个返回值的元信息由以下三个标签组成:description、name、type。参考表13。 | 对象数组 | 可缺省,缺省值为空。 |
......@@ -285,7 +338,7 @@ distro示例:
表12 parameters对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ----------- | ------------------------------------------------------------ | -------- | ------------------ |
| description | 标识对调用参数的描述,可以是表示描述内容的字符串,也可以是对描述内容的资源索引以支持多语言。该标签最大长度为255个字节。 | 字符串 | 可缺省,缺省值为空。 |
| name | 标识调用参数的名称。该标签最大长度为255个字节。 | 字符串 | 可缺省,缺省值为空。 |
......@@ -293,7 +346,7 @@ distro示例:
表13 results对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ----------- | ------------------------------------------------------------ | -------- | -------------------- |
| description | 标识对返回值的描述,可以是表示描述内容的字符串,也可以是对描述内容的资源索引以支持多语言。该标签最大长度为255个字节。 | 字符串 | 可缺省,缺省值为空。 |
| name | 标识返回值的名字。该标签最大长度为255个字节。 | 字符串 | 可缺省,缺省值为空。 |
......@@ -310,53 +363,63 @@ distro示例:
metaData示例:
```json
"metaData": {
"parameters" : [{
"name" : "string",
"type" : "Float",
"description" : "$string:parameters_description"
}],
"results" : [{
"name" : "string",
"type" : "Float",
"description" : "$string:results_description"
}],
"customizeData" : [{
"name" : "string",
"value" : "string",
"extra" : "$string:customizeData_description"
}]
{
"module": {
"metaData": {
"parameters": [
{
"name": "string",
"type": "Float",
"description": "$string:parameters_desc"
}
],
"results": [
{
"name": "string",
"type": "Float",
"description": "$string:results_desc"
}
],
"customizeData": [
{
"name": "string",
"value": "string",
"extra": "$string:customizeData_desc"
}
]
}
}
}
```
表15 abilities对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ---------------- | ------------------------------------------------------------ | ---------- | -------------------------------------------------------- |
| process | 运行应用程序或Ability的进程名称。如果在deviceConfig标记中配置了进程,则应用程序的所有能力都在此进程中运行。您还可以为特定能力设置流程属性,以便该能力可以在此流程中运行。如果此属性设置为与其他应用程序相同的进程名称,则所有这些应用程序可以在同一进程中运行,前提是他们具有相同的联合用户ID和相同的签名。运行OHOS的设备不支持此属性。该标签最大字节数为31个字节。 | 字符串 | 可缺省,缺省值为空。 |
| name | 标识Ability名称。取值可采用反向域名方式表示,由包名和类名组成,如“com.example.myapplication.MainAbility”;也可采用“.”开头的类名方式表示,如“.MainAbility”。<br /> Ability的名称,需在一个应用的范围内保证唯一。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。<br /> 说明:在使用DevEco Studio新建项目时,默认生成首个Ability的配置,即“config.json”中“MainAbility”的配置。如使用其他IDE工具,可自定义名称。该标签最大长度为127。 | 字符串 | 不可缺省。 |
| name | 标识Ability名称。取值可采用反向域名方式表示,由包名和类名组成,如“com.example.myapplication.MainAbility”;也可采用“.”开头的类名方式表示,如“.MainAbility”。<br /> Ability的名称,需在一个应用的范围内保证唯一。<br /> 说明:在使用DevEco Studio新建项目时,默认生成首个Ability的配置,即“config.json”中“MainAbility”的配置。如使用其他IDE工具,可自定义名称。该标签最大长度为127。 | 字符串 | 不可缺省。 |
| description | 标识对Ability的描述。取值可以是描述性内容,也可以是对描述性内容的资源索引,以支持多语言。该标签最大长度为255个字节。 | 字符串 | 可缺省,缺省值为空。 |
| icon | 标识Ability图标资源文件的索引。取值示例:$media:ability_icon。如果在该Ability的skills属性中,actions的取值包含 “action.system.home”,entities取值中包含“entity.system.home”,则该Ability的icon将同时作为应用的icon。如果存在多个符合条件的Ability,则取位置靠前的Ability的icon作为应用的icon。<br /> 说明:应用的“icon”和“label”是用户可感知配置项,需要区别于当前所有已有的应用“icon”或“label”(至少有一个不同)。 | 字符串 | 可缺省,缺省值为空。 |
| label | 标识Ability对用户显示的名称。取值可以是Ability名称,也可以是对该名称的资源索引,以支持多语言。如果在该Ability的skills属性中,actions的取值包含 “action.system.home”,entities取值中包含“entity.system.home”,则该Ability的label将同时作为应用的label。如果存在多个符合条件的Ability,则取位置靠前的Ability的label作为应用的label。<br /> 说明: 应用的“icon”和“label”是用户可感知配置项,需要区别于当前所有已有的应用“icon”或“label”(至少有一个不同)。该标签为资源文件中定义的字符串的引用,或以"{}"包括的字符串。该标签最大长度为255。 | 字符串 | 可缺省,缺省值为空。 |
| uri | 标识Ability的统一资源标识符。该标签最大长度为255。 | 字符串 | 可缺省,对于data类型的Ability不可缺省。 |
| launchType | 标识Ability的启动模式,支持“standard”和“singleton”两种模式:<br />standard:表示该Ability可以有多实例。该模式适用于大多数应用场景。<br />singleton:表示该Ability在所有任务栈中仅可以有一个实例。例如,具有全局唯一性的呼叫来电界面即采用“singleton”模式。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为“singleton”。 |
| visible | 标识Ability是否可以被其他应用调用。<br />true:可以被其他应用调用。<br />false:不能被其他应用调用。 | 布尔值 | 可缺省,缺省值为“false”。 |
| launchType | 标识Ability的启动模式,支持“standard”和“singleton”两种模式:<br />standard:表示该Ability可以有多实例。该模式适用于大多数应用场景。<br />singleton:表示该Ability在所有任务栈中仅可以有一个实例。例如,具有全局唯一性的呼叫来电界面即采用“singleton”模式。 | 字符串 | 可缺省,缺省值为“singleton”。 |
| visible | 标识Ability是否可以被其他应用调用。<br />true:可以被其他应用调用。<br />false:不能被其他应用调用。 | 布尔值 | 可缺省,缺省值为false。 |
| permissions | 标识其他应用的Ability调用此Ability时需要申请的权限集合,一个数组元素为一个权限名称。通常采用反向域名格式(最大255字节),取值为系统预定义的权限。 | 字符串数组 | 可缺省,缺省值为空。 |
| skills | 标识Ability能够接收的want的特征。 | 对象数组 | 可缺省,缺省值为空。 |
| skills | 标识Ability能够接收的want的特征。参考表17。 | 对象数组 | 可缺省,缺省值为空。 |
| deviceCapability | 标识Ability运行时要求设备具有的能力,采用字符串数组的格式表示。该标签为数组,支持最多配置512个元素,单个元素最大字节长度为64。 | 字符串数组 | 可缺省,缺省值为空。 |
| metaData | 元数据,参考表11。 | 对象 | 可缺省,缺省值为空。 |
| type | 标识Ability的类型。取值范围如下:<br />page:表示基于Page模板开发的FA,用于提供与用户交互的能力。<br />service:表示基于Service模板开发的PA,用于提供后台运行任务的能力。<br />data:表示基于Data模板开发的PA,用于对外部提供统一的数据访问抽象。<br />CA:表示支持其他应用以窗口方式调起该Ability。 | 字符串 | 不可缺省。 |
| orientation | 标识该Ability的显示模式。该标签仅适用于page类型的Ability。取值范围如下:<br />unspecified:由系统自动判断显示方向。<br />landscape:横屏模式。<br />portrait:竖屏模式。<br />followRecent:跟随栈中最近的应用。 | 字符串 | 可缺省,缺省值为“unspecified”。 |
| backgroundModes | 标识后台服务的类型,可以为一个服务配置多个后台服务类型。该标签仅适用于service类型的Ability。取值范围如下:<br />dataTransfer:通过网络/对端设备进行数据下载、备份、分享、传输等业务。<br />audioPlayback:音频输出业务。<br />audioRecording:音频输入业务。<br />pictureInPicture:画中画、小窗口播放视频业务。<br />voip:音视频电话、VOIP业务。<br />location:定位、导航业务。<br />bluetoothInteraction:蓝牙扫描、连接、传输业务。<br />wifiInteraction:WLAN扫描、连接、传输业务。<br />screenFetch:录屏、截屏业务。<br />multiDeviceConnection:多设备互联业务 | 字符串数组 | 可缺省,缺省值为空。 |
| grantPermission | 指定是否可以向Ability内任何数据授予权限。 | 布尔值 | 可缺省,缺省值为空。 |
| readPermission | 标识读取Ability的数据所需的权限。该标签仅适用于data类型的Ability。取值为长度不超过255字节的字符串。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为空。 |
| writePermission | 标识向Ability写数据所需的权限。该标签仅适用于data类型的Ability。取值为长度不超过255字节的字符串。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为空。 |
| readPermission | 标识读取Ability的数据所需的权限。该标签仅适用于data类型的Ability。取值为长度不超过255字节的字符串。 | 字符串 | 可缺省,缺省值为空。 |
| writePermission | 标识向Ability写数据所需的权限。该标签仅适用于data类型的Ability。取值为长度不超过255字节的字符串。 | 字符串 | 可缺省,缺省值为空。 |
| configChanges | 标识Ability关注的系统配置集合。当已关注的配置发生变更后,Ability会收到onConfigurationUpdated回调。取值范围:<br />mcc:表示IMSI移动设备国家/地区代码(MCC)发生变更。典型场景:检测到SIM并更新MCC。<br />mnc:IMSI移动设备网络代码(MNC)发生变更。典型场景:检测到SIM并更新MNC。<br />locale:表示语言区域发生变更。典型场景:用户已为设备文本的文本显示选择新的语言类型。<br />layout:表示屏幕布局发生变更。典型场景:当前有不同的显示形态都处于活跃状态。<br />fontSize:表示字号发生变更。典型场景:用户已设置新的全局字号。<br />orientation:表示屏幕方向发生变更。典型场景:用户旋转设备。<br />density:表示显示密度发生变更。典型场景:用户可能指定不同的显示比例,或当前有不同的显示形态同时处于活跃状态。<br />size:显示窗口大小发生变更。<br />smallestSize:显示窗口较短边的边长发生变更。<br />colorMode:颜色模式发生变更。 | 字符串数组 | 可缺省,缺省值为空。 |
| mission | 标识Ability指定的任务栈。该标签仅适用于page类型的Ability。默认情况下应用中所有Ability同属一个任务栈。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省为应用的包名。 |
| targetAbility | 标识当前Ability重用的目标Ability。该标签仅适用于page类型的Ability。如果配置了targetAbility属性,则当前Ability(即别名Ability)的属性中仅name、icon、label、visible、permissions、skills生效,其它属性均沿用targetAbility中的属性值。目标Ability必须与别名Ability在同一应用中,且在配置文件中目标Ability必须在别名之前进行声明。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为空。表示当前Ability不是一个别名Ability。 |
| formsEnabled | 标识Ability是否支持卡片(forms)功能。该标签仅适用于page类型的Ability。<br />true:支持卡片能力。<br />false:不支持卡片能力。 | 布尔值 | 可缺省,缺省值为“false”。 |
| forms | 标识服务卡片的属性。该标签仅当formsEnabled为“true”时,才能生效。参考表26。 | 对象数组 | 可缺省,缺省值为空。 |
| srcLanguage | Ability开发语言的类型,开发者创建工程时由开发者手动选择开发语言。 | 字符串 | 可缺省,取值为js或ets |
| mission | 标识Ability指定的任务栈。该标签仅适用于page类型的Ability。默认情况下应用中所有Ability同属一个任务栈。 | 字符串 | 可缺省,缺省为应用的包名。 |
| targetAbility | 标识当前Ability重用的目标Ability。该标签仅适用于page类型的Ability。如果配置了targetAbility属性,则当前Ability(即别名Ability)的属性中仅name、icon、label、visible、permissions、skills生效,其它属性均沿用targetAbility中的属性值。目标Ability必须与别名Ability在同一应用中,且在配置文件中目标Ability必须在别名之前进行声明。 | 字符串 | 可缺省,缺省值为空。表示当前Ability不是一个别名Ability。 |
| formsEnabled | 标识Ability是否支持卡片(forms)功能。该标签仅适用于page类型的Ability。<br />true表示支持卡片能力,false表示不支持卡片能力。 | 布尔值 | 可缺省,缺省值为false。 |
| forms | 标识服务卡片的属性。该标签仅当formsEnabled为true时,才能生效。参考表26。 | 对象数组 | 可缺省,缺省值为空。 |
| srcLanguage | Ability开发语言的类型,开发者创建工程时由开发者手动选择开发语言。 | 字符串 | 可缺省,取值为"js"或"ets" |
| srcPath | 该标签标识Ability对应的JS组件代码路径,该标签最大长度为127字节。 | 字符串 | 可缺省,缺省值为空。 |
| uriPermission | 标识该Ability有权访问的应用程序数据。此属性由模式和路径子属性组成。此属性仅对类型提供者的能力有效。运行OHOS的设备不支持此属性。参考表16。 | 对象 | 可缺省,缺省值为空。 |
| startWindowIcon | 标识该Ability启动页面图标资源文件的索引。该标签仅适用于page类型的ability。取值示例:$media:icon。 | 字符串 | 可缺省,缺省值为空。|
......@@ -368,82 +431,49 @@ metaData示例:
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ----------------------- | -------- | ------------------------- |
| path | uriPermission标识的路径,该标签最大字节长度为255个字节。 | 字符串 | 不可缺省。 |
| mode | uriPermission的匹配模式 | 字符串 | 可缺省,缺省值为default。 |
| mode | uriPermission的匹配模式 | 字符串 | 可缺省,缺省值为"default"。 |
abilities示例:
```json
"abilities": [
{
"name": ".MainAbility",
"description": "test main ability",
"icon": "$media:ic_launcher",
"label": "$media:example",
"launchType": "standard",
"orientation": "unspecified",
"permissions": [],
"visible": true,
{
"module": {
"abilities": [
{
"skills": [
{
"actions": [
"action.system.home"
],
"entities": [
"entity.system.home"
]
}
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"configChanges": [
"locale",
"layout",
"fontSize",
"orientation"
],
"type": "page",
"startWindowIcon": "$media:icon",
"startWindowBackground": "$color:red",
"removeMissionAfterTerminate": true
},
{
"name": ".PlayService",
"description": "example play ability",
"icon": "$media:ic_launcher",
"label": "$media:example",
"launchType": "standard",
"orientation": "unspecified",
"visible": false,
"skills": [
{
"actions": [
"action.play.music",
"action.stop.music"
],
"entities": [
"entity.audio"
]
}
],
"type": "service",
"backgroundModes": [
"audioPlayback"
]
},
{
"name": ".UserADataAbility",
"type": "data",
"uri": "dataability://com.example.world.test.UserADataAbility",
"visible": true
}
]
"formsEnabled": false,
"name": ".MainAbility",
"srcLanguage": "ets",
"srcPath": "MainAbility",
"icon": "$media:icon",
"description": "$string:ability_desc",
"label": "$string:ability_label",
"type": "page",
"visible": true,
"launchType": "standard"
}
]
}
}
```
表17 skills对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | ---------- | -------------------- |
| actions | 标识能够接收的want的action值,可以包含一个或多个action。取值通常为系统预定义的action值。 | 字符串数组 | 可缺省,缺省值为空。 |
| entities | 标识能够接收的want的Ability的类别(如视频、桌面应用等),可以包含一个或多个entity。 | 字符串数组 | 可缺省,缺省值为空。 |
| uris | 该标签标识向want过滤器添加数据规范集合。该规范可以是只有数据类型(mimeType属性),可以是只有URI,也可以是既有数据类型又有URI。URI由其各个部分的单独属性指定:\<scheme>://\<host>:\<port>/[\<path>\|\<pathStartWith>\|\<pathRegx>]。其中,scheme字段配置为uri时必配;当只设置数据类型(mimeType)时,则scheme字段为非必配项。参考表18。 | 对象数组 | 可缺省,缺省值为空。 |
| uris | 该标签标识向want过滤器添加数据规范集合。该规范可以是只有数据类型(mimeType属性),可以是只有URI,也可以是既有数据类型又有URI。<br />URI由其各个部分的单独属性指定:\<scheme>://\<host>:\<port>/[\<path>\|\<pathStartWith>\|\<pathRegx>]。其中,scheme字段配置为uri时必配;当只设置数据类型(mimeType)时,则scheme字段为非必配项。参考表18。 | 对象数组 | 可缺省,缺省值为空。 |
表18 uris对象的内部结构说明
......@@ -460,30 +490,38 @@ abilities示例:
skills示例:
```json
"skills": [
{
"actions": [
"action.system.home"
],
"entities": [
"entity.system.home"
],
"uris": [
{
{
"module": {
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
],
"uris": [
{
"scheme": "http",
"host": "www.example.com",
"port": "8080",
"path": "query/student/name",
"type": "text/*"
}
}
]
}
]
}
]
}
]
}
}
```
表19 reqPermissions权限申请字段说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ---------- | ------------------------------------------------------------ | -------- | ------------------ |
| name | 需要使用的权限名称。 | 字符串 | 不可缺省。 |
| reason | 描述申请权限的原因。需要做多语种适配。 | 字符串 | 分情况:当申请的权限为user_grant时,必须填写此字段,否则不允许在应用市场上架;其它权限可缺省,缺省值为空。 |
......@@ -492,57 +530,67 @@ skills示例:
表20 usedScene对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ------- | --------------------| -------- | ------ |
| ability | 标识哪些Ability需要此权限,里面配置Ability的名称。| 字符串数组 | 可缺省,缺省表示所有Ability都需要此权限。 |
| when | 标识使用此权限的使用时间:</br>inuse:使用时需要此权限。</br>always:所有时间都需要此权限。 | 枚举值 | 可缺省,缺省值为空。 |
表21 js对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | ------------------------ |
| name | 标识JS Component的名字。该标签不可缺省,默认值为default。 | 字符串 | 不可缺省。 |
| pages | 标识JS Component的页面用于列举JS Component中每个页面的路由信息[页面路径+页面名称]。该标签不可缺省,取值为数组,数组第一个元素代表JS FA首页。 | 字符串数组 | 不可缺省。 |
| window | 用于定义与显示窗口相关的配置。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。参考表22。 | 对象 | 可缺省。 |
| window | 用于定义与显示窗口相关的配置。参考表22。 | 对象 | 可缺省,缺省值参考表22。 |
| type | 标识JS应用的类型。取值范围如下:<br />normal:标识该JS Component为应用实例。<br />form:标识该JS Component为卡片实例。 | 字符串 | 可缺省,缺省值为“normal” |
| mode | 定义JS组件的开发模式。参考表23。 | 对象 | 可缺省,缺省值为空。 |
表22 window对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| --------------- | ------------------------------------------------------------ | -------- | ----------------------- |
| designWidth | 标识页面设计基准宽度。以此为基准,根据实际设备宽度来缩放元素大小。 | 数值 | 可缺省,缺省值为720px。 |
| autoDesignWidth | 标识页面设计基准宽度是否自动计算。当配置为true时,designWidth将会被忽略,设计基准宽度由设备宽度与屏幕密度计算得出。 | 布尔值 | 可缺省,缺省值为“false”。 |
| autoDesignWidth | 标识页面设计基准宽度是否自动计算。当配置为true时,designWidth将会被忽略,设计基准宽度由设备宽度与屏幕密度计算得出。 | 布尔值 | 可缺省,缺省值为false。 |
表23 mode对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------------------- | ----------------------------------- | --------------------------- |
| type | 定义JS组件的功能类型 | 字符串,取值为"pageAbility"、"form" | 可缺省,缺省值为pageAbility。 |
| type | 定义JS组件的功能类型 | 字符串,取值为"pageAbility"、"form" | 可缺省,缺省值为"pageAbility"。 |
| syntax | 定义JS组件的语法类型 | 字符串,取值为"hml","ets" | 可缺省,缺省值为"hml"。 |
js示例:
```json
"js": [
{
"name": "default",
"pages": [
"pages/index/index",
"pages/detail/detail"
],
"window": {
"designWidth": 720,
"autoDesignWidth": false
{
"module": {
"js": [
{
"mode": {
"syntax": "ets",
"type": "pageAbility"
},
"type": "form"
}
]
"pages": [
"pages/LoginPage",
"pages/MinePage",
"pages/RegistrationSuccessPage",
"pages/PrivacyPage",
"pages/CustomerServicePage"
],
"name": ".MainAbility",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
]
}
}
```
表24 shortcuts对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ---------- | ------------------------------------------------------------ | -------- | ------------------ |
| shortcutId | 标识快捷方式的ID。字符串的最大长度为63字节。 | 字符串 | 不可缺省。 |
| label | 标识快捷方式的标签信息,即快捷方式对外显示的文字描述信息。取值可以是描述性内容,也可以是标识label的资源索引。字符串最大长度为63字节。 | 字符串 | 可缺省,缺省值为空。 |
......@@ -559,23 +607,27 @@ js示例:
shortcuts示例:
```json
"shortcuts": [
{
{
"module": {
"shortcuts": [
{
"shortcutId": "id",
"label": "$string:shortcut",
"intents": [
{
"targetBundle": "com.example.world.test",
"targetClass": "com.example.world.test.entry.MainAbility"
}
{
"targetBundle": "com.example.myapplication",
"targetClass": "com.example.myapplication.MainAbility"
}
]
}
]
}
]
}
}
```
表26 forms对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ------------------- | ------------------------------------------------------------ | ---------- | ------------------------ |
| name | 标识卡片的类名。字符串最大长度为127字节。 | 字符串 | 不可缺省。 |
| description | 标识卡片的描述。取值可以是描述性内容,也可以是对描述性内容的资源索引,以支持多语言。字符串最大长度为255字节。 | 字符串 | 可缺省,缺省值为空。 |
......@@ -586,115 +638,115 @@ shortcuts示例:
| defaultDimension | 标识卡片的默认外观规格,取值必须在该卡片supportDimensions配置的列表中。 | 字符串 | 不可缺省。 |
| updateEnabled | 标识卡片是否支持周期性刷新,取值范围:<br />true:表示支持周期性刷新,可以在定时刷新(updateDuration)和定点刷新(scheduledUpdateTime)两种方式任选其一,优先选择定时刷新。<br />false:表示不支持周期性刷新。 | 布尔值 | 不可缺省。 |
| scheduledUpdateTime | 标识卡片的定点刷新的时刻,采用24小时制,精确到分钟。 | 字符串 | 可缺省,缺省值为“0:0”。 |
| updateDuration | 标识卡片定时刷新的更新周期,单位为30分钟,取值为自然数。<br />当取值为0时,表示该参数不生效。<br />当取值为正整数N时,表示刷新周期为30*N分钟。 | 数值 | 可缺省,缺省值为“0”。 |
| updateDuration | 标识卡片定时刷新的更新周期,单位为30分钟,取值为自然数。<br />当取值为0时,表示该参数不生效。<br />当取值为正整数N时,表示刷新周期为30*N分钟。 | 数值 | 可缺省,缺省值为0。 |
| formConfigAbility | 标识用于调整卡片的设施或活动的名称。 | 字符串 | 可缺省,缺省值为空。 |
| formVisibleNotify | 标识是否允许卡片使用卡片可见性通知 | 字符串 | 可缺省,缺省值为空。 |
| jsComponentName | 标识JS卡片的Component名称。字符串最大长度为127字节。仅当卡片类型为JS卡片时,需要配置该标签。 | 字符串 | 不可缺省。 |
| metaData | 标识卡片的自定义信息,包含customizeData数组标签。参考表11。 | 对象 | 可缺省,缺省值为空。 |
| customizeData | 标识自定义的卡片信息。参考表27。 | 对象数组 | 可缺省,缺省值为空。 |
| customizeData | 标识自定义的卡片信息。参考表14。 | 对象数组 | 可缺省,缺省值为空。 |
表27 customizeData对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | --------------------------------------------------- | -------- | -------------------- |
| name | 标识数据项的键名称。字符串最大长度为255字节。 | 字符串 | 可缺省,缺省值为空。 |
| value | 标识数据项的值。字符串最大长度为255字节。 | 字符串 | 可缺省,缺省值为空。 |
| extra | 标识当前custom数据的格式,取值为表示extra的资源值。 | 字符串 | 可缺省,缺省值为空。 |
forms示例:
```json
"forms": [
{
"name": "Form_Js",
"description": "It's Js Form",
"type": "JS",
"jsComponentName": "card",
"colorMode": "auto",
"isDefault": true,
"updateEnabled": true,
"scheduledUpdateTime": "11:00",
"updateDuration": 1,
"defaultDimension": "2*2",
"supportDimensions": [
"2*2",
"2*4",
"4*4"
]
},
{
"name": "Form_Js",
"description": "It's JS Form",
"type": "Js",
"colorMode": "auto",
"isDefault": false,
"updateEnabled": true,
"scheduledUpdateTime": "21:05",
"updateDuration": 1,
"defaultDimension": "1*2",
"supportDimensions": [
"1*2"
],
"landscapeLayouts": [
"$layout:ability_form"
],
"portraitLayouts": [
"$layout:ability_form"
],
"formConfigAbility": "ability://com.example.myapplication.fa/.MainAbility",
"metaData": {
"customizeData": [
{
"module": {
"abilities": [
{
"forms": [
{
"name": "Form_Js",
"description": "It's Js Form",
"type": "JS",
"jsComponentName": "card",
"colorMode": "auto",
"isDefault": true,
"updateEnabled": true,
"scheduledUpdateTime": "11:00",
"updateDuration": 1,
"defaultDimension": "2*2",
"supportDimensions": [
"2*2",
"2*4",
"4*4"
]
},
{
"name": "Form_Js",
"description": "It's JS Form",
"type": "Js",
"colorMode": "auto",
"isDefault": false,
"updateEnabled": true,
"scheduledUpdateTime": "21:05",
"updateDuration": 1,
"defaultDimension": "1*2",
"supportDimensions": [
"1*2"
],
"landscapeLayouts": [
"$layout:ability_form"
],
"portraitLayouts": [
"$layout:ability_form"
],
"formConfigAbility": "ability://com.example.myapplication.fa/.MainAbility",
"metaData": {
"customizeData": [
{
"name": "originWidgetName",
"value": "com.example.weather.testWidget"
"name": "originWidgetName",
"value": "com.example.myapplication.testWidget"
}
]
}
}
]
]
}
}
]
}
}
}
```
表28 distroFilter对象的内部结构说明
表27 distroFilter对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ------------- | ------------------------------------------------------------ | -------- | -------------------- |
| apiVersion | 标识支持的apiVersion范围。参考表29。 | 对象 | 可缺省,缺省值为空。 |
| screenShape | 标识屏幕形状的支持策略。参考表30。 | 对象数组 | 可缺省,缺省值为空。 |
| screenWindow | 标识应用运行时窗口的分辨率支持策略。该字段仅支持对轻量级智能穿戴设备进行配置。参考表31。 | 对象数组 | 可缺省,缺省值为空。 |
| screenDensity | 标识屏幕的像素密度(dpi:Dots Per Inch)。参考表32。 | 对象数组 | 可缺省,缺省值为空。 |
| countryCode | 标识分发应用时的国家码。具体值参考ISO-3166-1的标准,支持多个国家和地区的枚举定义。参考表33。 | 对象数组 | 可缺省,缺省值为空。 |
| apiVersion | 标识支持的apiVersion范围。参考表28。 | 对象 | 可缺省,缺省值为空。 |
| screenShape | 标识屏幕形状的支持策略。参考表29。 | 对象数组 | 可缺省,缺省值为空。 |
| screenWindow | 标识应用运行时窗口的分辨率支持策略。该字段仅支持对轻量级智能穿戴设备进行配置。参考表30。 | 对象数组 | 可缺省,缺省值为空。 |
| screenDensity | 标识屏幕的像素密度(dpi:Dots Per Inch)。参考表31。 | 对象数组 | 可缺省,缺省值为空。 |
| countryCode | 标识分发应用时的国家码。具体值参考ISO-3166-1的标准,支持多个国家和地区的枚举定义。参考表32。 | 对象数组 | 可缺省,缺省值为空。 |
表29 apiVersion对象的内部结构说明
表28 apiVersion对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 支持的取值为API Version存在的整数值,例如4、5、6。场景示例:某应用,针对相同设备型号,同时在网的为使用API 5和API 6开发的两个软件版本,则允许上架2个entry类型的安装包,分别支持到对应设备侧软件版本的分发。 | 数组 | 可缺省,缺省值为空。 |
| value | 支持的取值为API Version存在的整数值,例如4、5、6。场景示例:某应用,针对相同设备型号,<br />同时在网的为使用API 5和API 6开发的两个软件版本,则允许上架2个entry类型的安装包,分别支持到对应设备侧软件版本的分发。 | 数组 | 可缺省,缺省值为空。 |
30 screenShape对象的内部结构说明
29 screenShape对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 支持的取值为circle(圆形)、rect(矩形)。场景示例:针对智能穿戴设备,可为圆形表盘和矩形表盘分别提供不同的HAP。 | 数组 | 可缺省,缺省值为空。 |
表31 screenWindow对象的内部结构说明
表30 screenWindow对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 单个字符串的取值格式为:“宽 * 高”,取值为整数像素值,例如“454 * 454”。 | 数组 | 可缺省,缺省值为空。 |
表32 screenDensity对象的内部结构说明
表31 screenDensity对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 取值范围如下:<br />sdpi:表示小规模的屏幕密度(Small-scale Dots Per Inch),适用于dpi取值为(0,120]的设备。<br />mdpi:表示中规模的屏幕密度(Medium-scale Dots Per Inch),适用于dpi取值为(120,160]的设备。<br />ldpi:表示大规模的屏幕密度(Large-scale Dots Per Inch),适用于dpi取值为(160,240]的设备。<br />xldpi:表示特大规模的屏幕密度(Extra Large-scale Dots Per Inch),适用于dpi取值为(240,320]的设备。<br />xxldpi:表示超大规模的屏幕密度(Extra Extra Large-scale Dots Per Inch),适用于dpi取值为(320,480]的设备。<br />xxxldpi:表示超特大规模的屏幕密度(Extra Extra Extra Large-scale Dots Per Inch),适用于dpi取值为(480,640]的设备。 | 数组 | 可缺省,缺省值为空。 |
表33 countryCode对象的内部结构说明
表32 countryCode对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | ---------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为“exclude”或“include”。“include”表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 该标签标识应用需要分发的国家码,标签为字符串数组,子串表示支持的国家或地区,由两个大写字母表示。 | 字符串数组 | 可缺省,缺省值为空。 |
......@@ -702,31 +754,50 @@ forms示例:
distroFilter示例:
```json
"distroFilter": {
"apiVersion": {
{
"module": {
"distroFilter": {
"apiVersion": {
"policy": "include",
"value": [4,5]
},
"screenShape": {
"value": [
4,
5
]
},
"screenShape": {
"policy": "include",
"value": ["circle","rect"]
},
"screenWindow": {
"value": [
"circle",
"rect"
]
},
"screenWindow": {
"policy": "include",
"value": ["454*454","466*466"]
},
"screenDensity":{
"policy": "exclude",
"value": ["ldpi","xldpi"]
},
"countryCode": {
"policy":"include",
"value":["CN","HK"]
"value": [
"454*454",
"466*466"
]
},
"screenDensity": {
"policy": "exclude",
"value": [
"ldpi",
"xldpi"
]
},
"countryCode": {
"policy": "include",
"value": [
"CN",
"HK"
]
}
}
}
}
```
表34 commonEvents对象的内部结构说明
表33 commonEvents对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------- | ------------------------------------------------------------ | ---------- | ------------------ |
......@@ -739,23 +810,27 @@ distroFilter示例:
commonEvents示例:
```json
"commonEvents": [
{
"name":"MainAbility",
{
"module": {
"commonEvents": [
{
"name": "MainAbility",
"permission": "string",
"data":[
"string",
"string"
"data": [
"string",
"string"
],
"events": [
"string",
"string"
"string",
"string"
]
}
]
}
]
}
}
```
表35 testRunner对象的内部结构说明
表34 testRunner对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | -------------------- | -------- | ---------- |
......@@ -763,21 +838,25 @@ commonEvents示例:
| srcPath | 标识测试框架代码路径,该标签最大长度为255字节。 | 字符串 | 不可缺省。 |
```json
"testRunner": {
"name": "myTestRunnerName",
"srcPath": "etc/test/TestRunner.ts"
{
"module": {
"testRunner": {
"name": "myTestRunnerName",
"srcPath": "etc/test/TestRunner.ts"
}
}
}
```
表36 definePermissions对象内部结构说明
表35 definePermissions对象内部结构说明
definePermission仅支持系统应用配置,三方应用配置不生效。
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ----------------------- | ------------------------------------------------------------ | -------- | ---------- |
| name | 标识权限的名称,该标签最大长度为255字节。 | 字符串 | 不可缺省。 |
| grantMode | 标识权限的授予方式,支持如下两种授予模式:<br />system_grant:安装后系统自动授予该权限。<br />user_grant:使用时动态申请,用户授权后才可使用。 | 字符串 | 可缺省,缺省值为system_grant。 |
| availableLevel | 标识权限限制类别。可选值如下:<br />system_core:系统核心权限。<br />system_basic:系统基础权限。<br />normal:普通权限。所有应用允许申请的权限。 | 字符串 | 可缺省,缺省值为normal。 |
| grantMode | 标识权限的授予方式,支持如下两种授予模式:<br />system_grant:安装后系统自动授予该权限。<br />user_grant:使用时动态申请,用户授权后才可使用。 | 字符串 | 可缺省,缺省值为"system_grant"。 |
| availableLevel | 标识权限限制类别。可选值如下:<br />system_core:系统核心权限。<br />system_basic:系统基础权限。<br />normal:普通权限。所有应用允许申请的权限。 | 字符串 | 可缺省,缺省值为"normal"。 |
| provisionEnable | 标识权限是否支持证书方式申请权限,包括高级别的权限。配置为true标识需要开发者可以通过provision方式申请权限。 | 布尔值 | 可缺省,缺省值为true。 |
| distributedSceneEnabled | 标识权限是否支持分布式场景下使用该权限。 | 布尔值 | 可缺省,缺省值为false。 |
| label | 标识权限的简短描述,配置为对描述内容的资源索引。 | 字符串 | 可缺省,缺省值为空。 |
......
......@@ -6,7 +6,7 @@
## 配置文件内部结构
配置文件由app和module这两个部分组成,缺一不可。配置文件的内部结构参见表1。
配置文件由app.json5和module.json5两部分组成。配置文件的内部结构参见表1。
表1 配置文件的内部结构说明
......@@ -21,7 +21,7 @@
表2 app对象的内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ------------------------------ | ------------------------------------------------------------ | -------- | ------------------------------------------- |
| bundleName | 该标签标识应用的包名,用于标识应用的唯一性。标签的值命名规则 :<br /> 1)字符串以字母、数字、下划线和符号”.”组成;<br /> 2)以字母开头;<br /> 3)最小长度7字节,最大长度127个字节。<br /> 推荐采用反域名形式命名(如 :com.example.xxx,建议第一级为域名后缀com,第二级为厂商/个人名,第三级为应用名,也可以多级)。 | 字符串 | 不可缺省。 |
| debug | 该标签标识应用是否可调试。该标签由IDE编译构建时产生。 | 布尔值 | 可缺省,缺省值为false。 |
......@@ -29,14 +29,14 @@
| label | 该标签标识应用的名称,标签值为字符串资源的索引。 | 字符串 | 不可缺省。 |
| description | 该标签标识App的描述信息,标签值是是字符串类型或对描述内容的字符串资源索引。 | 字符串 | 可缺省,缺省值为空。 |
| vendor | 该标签是对应用开发厂商的描述。最大长度255字节。 | 字符串 | 可缺省,缺省值为空。 |
| versionCode | 该标签标识应用的版本号,该标签值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新,数值越大表示版本越高。开发者可以将该值设置为任何正整数,但是必须确保应用的新版本都使用比旧版本更大的值。versionCode 值应小于2的31次方。 | 数值 | 不可缺省。 |
| versionCode | 该标签标识应用的版本号,该标签值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新,数值越大表示版本越高。<br />开发者可以将该值设置为任何正整数,但是必须确保应用的新版本都使用比旧版本更大的值。versionCode 值应小于2的31次方。 | 数值 | 不可缺省。 |
| versionName | 该标签标识版本号的文字描述,用于向用户展示。<br />该标签仅由数字和点构成,推荐采用“A.B.C.D”四段式的形式。四段式推荐的含义如下所示。<br/>第一段 :主版本号/Major,范围0-99,重大修改的版本,如实现新的大功能或重大变化。<br/>第二段 :次版本号/Minor,范围0-99,表示实现较突出的特点,如新功能添加和大问题修复。<br/>第三段 :特性版本号/Feature,范围0-99,标识规划的新版本特性。<br/>第四段 :修订版本号/Patch,范围0-999,表示维护版本,修复bug。 | 字符串 | 不可缺省。 |
| minCompatibleVersionCode | 该标签标识该app能够兼容的最低历史版本号,用于跨设备兼容性判断。 | 数值 | 可缺省。缺省值等于versionCode标签值。|
| minAPIVersion | 该标签标识应用运行需要的SDK的API最小版本。 | 数值 | 可缺省,缺省值为bundle-profile.json5中的compatibleSdkVersion。|
| targetAPIVersion | 该标签标识应用运行需要的API目标版本。 | 数值 | 可缺省,缺省值为bundle-profile.json5中的compileSdkVersion。|
| apiReleaseType | 该标签标识应用运行需要的API目标版本的类型,采用字符串类型表示。取值为“CanaryN”、“BetaN”或者“Release”,其中,N代表大于零的整数。<br />Canary :受限发布的版本。<br/>Beta :公开发布的Beta版本。<br/>Release :公开发布的正式版本。<br/>该字段由IDE读取当前使用的SDK的stage来生成。 | 字符串 | 可缺省,由IDE生成并覆盖。 |
| distributedNotificationEnabled | 该标签标记该应用是否开启分布式通知。 | 布尔值 | 可缺省,缺省值为true。 |
| entityType | 该标签标记该应用的类别,具体有 :游戏类(game),影音类(media)、社交通信类(communication)、新闻类(news)、出行类(travel)、工具类(utility)、购物类(shopping)、教育类(education)、少儿类(kids)、商务类(business)、拍摄类(photography)。 | 字符串 | 可缺省,缺省值为"unspecified"。 |
| entityType | 该标签标记该应用的类别,具体有 :游戏类(game),影音类(media)、社交通信类(communication)、新闻类(news)、<br />出行类(travel)、工具类(utility)、购物类(shopping)、教育类(education)、少儿类(kids)、商务类(business)、拍摄类(photography)、未指定(unspecified)。 | 字符串 | 可缺省,缺省值为"unspecified"。 |
| multiProjects | 标识当前工程是否支持多工程。 | 布尔值 | 可缺省,缺省值为false。 |
| 设备类型 | 该标签可以配置多个,表示具体设备上的特殊配置信息,具体的设备类型有:"tablet"、"tv"、"wearable"、"car"、"default",可包含的字段有:minAPIVersion、distributedNotificationEnabled。 | 对象 | 可缺省,缺省值使用app下面相关的字段。 |
......@@ -44,26 +44,27 @@ app.json示例 :
```json
{
"app": {
"bundleName": "bundleName",
"vendor": "vendorName",
"versionCode": 1,
"versionName": "1.0",
"minCompatibleVersionCode": 1,
"minAPIVersion": 7,
"targetAPIVersion": 8,
"apiReleaseType": "Release",
"debug": false,
"icon": "$media:app_icon",
"label": "$string:app_label",
"description": "$string:app_description",
"distributedNotificationEnabled": true,
"entityType": "game",
"car": {
"minAPIVersion": 8
}
"app": {
"bundleName": "com.example.myapplication",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.0",
"icon": "$media:app_icon",
"label": "$string:app_name",
"distributedNotificationEnabled": true,
"minCompatibleVersionCode": 9,
"minAPIVersion": 9,
"targetAPIVersion": 9,
"apiReleaseType": "Canary1",
"debug": false,
"description": "$string:app_description",
"entityType": "game",
"car": {
"minAPIVersion": 9
}
}
}
```
### module对象内部结构
......@@ -72,7 +73,7 @@ HAP包的配置信息,该标签下的配置只对当前HAP包生效。
表3 module对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------------------- | ------------------------------------------------------------ | ---------- | ------------------------------------------------------------ |
| name | 该标签标识当前module的名字。module打包成HAP后,表示HAP的名称,标签值采用字符串表示(最大长度31字节),该名称在整个应用要唯一。 | 字符串 | 不可缺省。 |
| type | 该标签标识当前module的类型。类型有两种,分别是entry、feature。 | 字符串 | 不可缺省。 |
......@@ -84,8 +85,8 @@ HAP包的配置信息,该标签下的配置只对当前HAP包生效。
| deliveryWithInstall | 该标签标识当前HAP是否在用户主动安装的时候安装,true表示主动安装时安装,false表示主动安装时不安装。 | 布尔值 | 不可缺省。 |
| installationFree | 标识当前HAP是否支持免安装特性。所有Hap包都需要配置不可缺省。<br/>true :表示支持免安装特性,且符合免安装约束。<br/>false :表示不支持免安装特性。<br/><br/>当entry.hap该字段配置为true时,与该entry.hap相关的所有feature.hap该字段也需要配置为true。<br/>当entry.hap该字段配置为false时,与该entry.hap相关的各feature.hap该字段可按业务需求配置true或false。 | 布尔值 | 不可缺省。 |
| virtualMachine | 该标签用于标识当前HAP运行的目标虚拟机类型,供云端分发使用,如应用市场和分发中心。<br/>该标签值为字符串。如果目标虚拟机类型为方舟虚拟机,则其值为"ark + 版本号"。 该标签由IDE构建HAP的时候自动插入。 | 字符串 | 该标签由IDE构建HAP的时候自动插入。 |
| uiSyntax(deprecated) | syntax定义该JS Component的语法类型。<br />hml标识该JS Component使用hml/css/js进行开发;<br/>ets标识该JS Component使用ets声明式语法进行开发。 | 字符串 | 可缺省,缺省值为hml,该字段从API9开始废弃。 |
| pages | 该标签是一个profile资源,用于列举JS Component中每个页面信息。可以配置window标签定义与显示窗口相关的配置。window参考[window对象内部结构](#window对象内部结构)。 | 字符串 | 在有ability的场景下,不可缺省。 |
| uiSyntax(deprecated) | syntax定义该JS Component的语法类型。<br />hml标识该JS Component使用hml/css/js进行开发;<br/>ets标识该JS Component使用ets声明式语法进行开发。 | 字符串 | 可缺省,缺省值为"hml",该字段从API9开始废弃。 |
| pages | 标识当前Module的profile资源,用于列举JS Component中每个页面信息。该标签最大长度为255个字节。 | 字符串 | 在有ability的场景下,不可缺省。 |
| metadata | 该标签标识Hap的自定义元信息。参考[metadata对象内部结构](#metadata对象内部结构)。 | 对象数组 | 可缺省,缺省值为空。 |
| abilities | 描述元能力的配置信息,该标签下的配置只对当前ability生效。参考[abilities对象内部结构](#abilities对象内部结构)。 | 对象数组 | 可缺省,缺省值为空。 |
| extensionAbilities | 描述extensionAbilities的配置信息,该标签下的配置只对当前extensionAbility生效。参考[extensionAbilities对象内部结构](#extensionabilities对象内部结构)。 | 对象数组 | 可缺省,缺省值为空。 |
......@@ -98,109 +99,107 @@ module.json5示例:
```json
{
"module": {
"name": "moduleName",
"type": "entry",
"srcEntrance" : "./abilityStage.js",
"description" : "$string:description_application",
"mainElement": "MainAbility",
"pages": "$profile:pages_config",
"deviceTypes": [
"tablet",
"tv",
"wearable",
"car"
"module": {
"name": "entry",
"type": "entry",
"description": "$string:module_desc",
"mainElement": "EntryAbility",
"deviceTypes": [
"default",
"tablet"
],
"deliveryWithInstall": true,
"installationFree": false,
"pages": "$profile:main_pages",
"metadata": [
{
"name": "name1",
"value": "value1",
"resource": "$profile:config_file1"
},
{
"name": "name2",
"value": "value2",
"resource": "$profile:config_file2"
}
],
"abilities": [
{
"name": "EntryAbility",
"srcEntrance": "./ets/entryability/EntryAbility.ts",
"description": "$string:ability_desc",
"icon": "$media:icon",
"label": "$string:ability_label",
"startWindowIcon": "$media:icon",
"startWindowBackground": "$color:start_window_background",
"visible": true,
"backgroundModes": [
"dataTransfer",
"audioPlayback",
"audioRecording",
"location",
"bluetoothInteraction",
"multiDeviceConnection",
"wifiInteraction",
"voip",
"taskKeeping"
],
"deliveryWithInstall": true,
"installationFree": false,
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
]
}
],
"requestPermissions": [
{
"name": "permissionName",
"reason": "$string:reason",
"usedScene": {
"abilities": [
"EntryFormAbility"
],
"when": "inuse"
}
}
],
"extensionAbilities": [
{
"name": "EntryFormAbility",
"srcEntrance": "./ets/entryformability/EntryFormAbility.ts",
"label": "$string:EntryFormAbility_label",
"description": "$string:EntryFormAbility_desc",
"type": "form",
"metadata": [
{
"name": "name1",
"value": "value1",
"resource": "$profile:config_file1"
},
{
"name": "name2",
"value": "value2",
"resource": "$profile:config_file2"
}
],
"abilities": [
{
"name": "MainAbility",
"srcEntrance" : "./login/MyMainAbility.ts",
"description": "$string:description_main_ability",
"icon": "$media:icon",
"label": "$string:label",
"visible": true,
"skills": [
{
"actions": [
"action.system.home"
],
"entities": [
"entity.system.home"
],
"uris": []
}
],
"backgroundModes": [
"dataTransfer",
"audioPlayback",
"audioRecording",
"location",
"bluetoothInteraction",
"multiDeviceConnection",
"wifiInteraction",
"voip",
"taskKeeping"
],
"startWindowIcon": "$media:icon",
"startWindowBackground": "$color:red"
},
{
"name": "sampleAbility",
"srcEntrance" : "./login/sampleAbility.ts",
"description": "$string:description_sample_ability",
"icon": "$media:icon",
"label": "$string:label",
"visible": true,
"startWindowIcon": "$media:icon",
"startWindowBackground": "$color:red"
}
],
"requestPermissions": [
{
"name": "permissionName",
"reason": "$string:reason",
"usedScene": {
"abilities": [
"FormAbility"
],
"when": "inuse"
}
}
{
"name": "ohos.extension.form",
"resource": "$profile:form_config"
}
]
}
}
]
}
}
```
pages示例 :
1.在开发视图的resources/base/profile下面定义配置文件pages_config.json(文件名称可由开发者定义):
1.在开发视图的resources/base/profile下面定义配置文件main_pages.json(文件名称可由开发者定义):
```json
{
"src": [
"pages/index/index",
"pages/second/second",
"pages/third/third",
"pages/four/four"
],
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
"src": [
"pages/LoginPage",
"pages/MinePage",
"pages/RegistrationSuccessPage",
"pages/PrivacyPage",
"pages/CustomerServicePage"
]
}
```
......@@ -208,9 +207,9 @@ pages示例 :
```json
{
"module": {
"pages": "$profile:pages_config"
}
"module": {
"pages": "$profile:main_pages"
}
}
```
......@@ -228,68 +227,159 @@ deviceTypes示例 :
```json
{
"module": {
"deviceTypes" : [
"wearable"
]
}
"module": {
"deviceTypes": [
"default",
"tablet"
]
}
}
```
#### window对象内部结构
#### metadata对象内部结构
定义与显示窗口相关的配置
描述的module、ability、extensionAbility配置信息,标签值为数组类型,该标签下的配置只对当前module、或者ability、或者extensionAbility生效
表5 window对象内部结构说明
表5 metadata对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------------- |
| designWidth | 定义页面设计基准宽度,根据实际设备宽度来缩放元素大小。 | 数值 | 可缺省,缺省值为750。 |
| autoDesignWidth | 定义页面设计基准宽度是否自动计算,当设置为true时,designWidth将被忽略,设计基准宽度由设备宽度与屏幕密度计算得出。 | 布尔值 | 可缺省,缺省值为false。 |
| name | 该标签标识数据项的键名称,最大长度255字节。 | 字符串 | 可缺省,缺省值为空。 |
| value | 该标签标识数据项的值,最大长度255字节。 | 字符串 | 可缺省,缺省值为空。 |
| resource | 该标签标识定义用户自定义数据格式,标签值为标识该数据的资源的索引值。 | 字符串 | 可缺省,缺省值为空。 |
window示例 :
metadata示例:
```json
{
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
"module": {
"metadata": [
{
"name": "name1",
"value": "value1",
"resource": "$profile:config_file1"
},
{
"name": "name2",
"value": "value2",
"resource": "$profile:config_file2"
}
]
}
}
```
#### distroFilter对象内部结构
标识应用的分发规则。
#### metadata对象内部结构
该标签用于定义HAP包对应的细分设备规格的分发策略,以便在应用市场进行云端分发应用包时做精准匹配。该标签可配置的分发策略维度包括API Version、屏幕形状、窗口分辨率、屏幕分辨率、国家码。在进行分发时,通过deviceType与这五个属性的匹配关系,唯一确定一个用于分发到设备的HAP。<br/>
配置方式如下:<br/>
module标签配置metadata信息。name :"ohos.module.distro"。resource :指定distroFilter信息的资源位置。
描述的module、ability、extensionAbility配置信息,标签值为数组类型,该标签下的配置只对当前module、或者ability、或者extensionAbility生效。
表6 distroFilter对象内部结构
表6 metadata对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ------------- | ------------------------------------------------------------ | -------- | -------------------------- |
| apiVersion | 标识支持的apiVersion。 | 对象 | 可缺省,缺省值为空。 |
| screenShape | 标识屏幕形状的支持策略。仅支持liteWearable设备配置。 | 对象 | 可缺省,缺省值为空。 |
| screenWindow | 标识应用运行时窗口的分辨率支持策略。仅支持liteWearable设备配置。 | 对象 | 可缺省,缺省值为空。 |
| screenDensity | 标识屏幕的像素密度(dpi : Dot Per Inch)。 | 对象 | 可缺省,缺省值为空。 |
| countryCode | 标识应用需要分发的国家地区码。具体值以ISO-3166-1标准为准。 | 对象 | 可缺省,缺省值为空。 |
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------------- |
| name | 该标签标识数据项的键名称,最大长度255字节。 | 字符串 | 可缺省,缺省值为空。 |
| value | 该标签标识数据项的值,最大长度255字节。 | 字符串 | 可缺省,缺省值为空。 |
| resource | 该标签标识定义用户自定义数据格式,标签值为标识该数据的资源的索引值。 | 字符串 | 可缺省,缺省值为空。 |
表7 apiVersion对象内部结构
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为"exclude"或"include"。"include"表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 支持的取值为API Version存在的整数值,例如4、5、6,最小取值为3。场景示例 :某应用,针对相同设备型号,同时在网的为使用API 5和API 6开发的两个软件版本,<br />则允许上架2个entry类型的安装包,分别支持到对应设备侧软件版本的分发。 | 数值数组 | 可缺省,缺省值为空。 |
表8 screenShape对象内部结构
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为"exclude"或"include"。"include"表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 支持的取值为circle(圆形屏幕)、rect(矩形屏幕)。场景示例:针对智能穿戴设备,可为圆形表盘和矩形表盘分别提供不同的HAP。 | 字符串数组 | 可缺省,缺省值为空。 |
表9 screenWindow对象内部结构
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为"include"。"include"表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 单个字符串的取值格式为 :“宽 * 高”,取值为整数像素值,例如“454 * 454”。 | 字符串数组 | 可缺省,缺省值为空。 |
表10 screenDensity对象内部结构
metadata示例 :
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为"exclude"或"include"。"include"表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 字符串范围如下:<br />sdpi :表示小规模的屏幕密度(Small-scale Dots per Inch),适用于dpi取值为(0,120]的设备。<br />mdpi :表示中规模的屏幕密度(Medium-scale Dots Per Inch),适用于dpi取值为(120,160]的设备。<br />ldpi :表示大规模的屏幕密度(Large-scale Dots Per Inch),适用于dpi取值为(160,240]的设备。<br /> xldpi :表示大规模的屏幕密度(Extra Large-scale Dots Per Inch),适用于dpi取值为(240,320]的设备。<br />xxldpi :表示大规模的屏幕密度(Extra Extra Large-scale Dots Per Inch),适用于dpi取值为(320,480]的设备。<br />xxxldpi :表示大规模的屏幕密度(Extra Extra Extra Large-scale Dots Per Inch),适用于dpi取值为(480, 640]的设备。 | 字符串数组 | 可缺省,缺省值为空。 |
表11 countryCode对象内部结构
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为"exclude"或"include"。"include"表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 支持多个国家和地区枚举定义。字符串表示所支持的国家或地区,由两个大写字母组成。 | 字符串数组 | 可缺省,缺省值为空。 |
distroFilter示例 :
1.在开发视图的resources/base/profile下面定义配置文件distro_filter_config.json(文件名称可由开发者定义):
```json
{
"module": {
"metadata": [
{
"name": "name1",
"value": "value1",
"resource": "$profile:config_file1"
},
{
"name": "name2",
"value": "value2",
"resource": "$profile:config_file2"
}
],
"distroFilter": {
"apiVersion": {
"policy": "include",
"value": [
4,
5
]
},
"screenShape": {
"policy": "include",
"value": [
"circle",
"rect"
]
},
"screenWindow": {
"policy": "include",
"value": [
"454*454",
"466*466"
]
},
"screenDensity": {
"policy": "exclude",
"value": [
"ldpi",
"xldpi"
]
},
"countryCode": {
"policy": "include",
"value": [
"CN",
"HK"
]
}
}
}
```
2.在module.json5的module标签下配置metadata信息:
```json
{
"module": {
"metadata": [
{
"name": "ohos.module.distro",
"resource": "$profile:distro_filter_config"
}
]
}
}
```
......@@ -297,80 +387,80 @@ metadata示例 :
该标签标识ability或者extension能够接收的意图的特征。
7 skill对象内部结构说明
12 skill对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------------------------------------------------ | ---------- | -------------------- |
| actions | 该标签标识能够接收的意图的action值的集合,取值通常为系统预定义的action值,也允许自定义。 | 字符串数组 | 可缺省,缺省值为空。 |
| entities | 该标签标识能够接收Want的元能力的类别集合,取值通常为系统预定义的类别,也允许自定义。 | 字符串数组 | 可缺省,缺省值为空。 |
| uris | 该标签标识与意图中URI(Uniform Resource Identifier)相匹配的集合。uris内部结构参考表8。 | 对象数组 | 可缺省,缺省值为空。 |
| uris | 该标签标识与意图中URI(Uniform Resource Identifier)相匹配的集合。uris内部结构参考表13。 | 对象数组 | 可缺省,缺省值为空。 |
8 uris对象内部结构说明
13 uris对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| -------- | ------------------- | -------- | -------------------- |
| scheme | 标识URI的协议名部分,常见的有http、https、file、ftp等。 | 字符串 | 当配置type时可缺省,缺省值为空。没有配置type时不可缺省。 |
| host | 标识URI的主机地址部分,常见的有域名的方式,如example.com,ip地址的方式,如192.0.0.1。该字段要在scheme存在时才有意义。 | 字符串 | 可缺省,缺省值为空。 |
| port | 标识URI的端口部分。如http默认端口为80,https默认端口是443,ftp默认端口是21。该字段要在scheme和host都存在时才有意义。| 字符串 | 可缺省,缺省值为空。 |
| path \| pathStartWith \| pathRegex | 标识URI的路径部分,path、pathStartWith和pathRegex配置时三选一。path标识URI与want中的路径部分全匹配,pathStartWith标识URI与want中的路径部分允许前缀匹配,pathRegex标识URI与want中的路径部分允许正则匹配。该字段要在scheme和host都存在时才有意义。| 字符串 | 可缺省,缺省值为空。 |
| path \| pathStartWith \| <br />pathRegex | 标识URI的路径部分,path、pathStartWith和pathRegex配置时三选一。path标识URI与want中的路径部分全匹配,<br />pathStartWith标识URI与want中的路径部分允许前缀匹配,pathRegex标识URI与want中的路径部分允许正则匹配。<br />该字段要在scheme和host都存在时才有意义。| 字符串 | 可缺省,缺省值为空。 |
| type | 标识数据类型,使用MIME(Multipurpose Internet Mail Extensions)类型规范。可与scheme同时配置,也可以单独配置。| 字符串 | 可缺省,缺省值为空。 |
skills示例 :
```json
{
"module": {
"abilities": [
{
"skills": [
{
"actions": [
"action.system.home"
],
"entities": [
"entity.system.home"
],
"uris": [
{
"scheme":"https",
"host":"www.example.com",
"port":"8080",
"path":"query/student/name",
"pathStartWith":"query/student",
"pathRegex":"query/.*/name",
"type": "text/*"
}
]
}
]
}
],
"extensionAbilities": [
{
"skills": [
{
"actions": [
"actionName"
],
"entities": [
"entityName"
],
"uris": [
{
"scheme":"https",
"host":"www.example.com",
"port":"8080",
"path":"query/student/name",
"pathStartWith":"query/student",
"pathRegex":"query/.*/name",
"type": "text/*"
}
]
}
]
}
"module": {
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
],
"uris": [
{
"scheme": "https",
"host": "www.example.com",
"port": "8080",
"path": "query/student/name",
"pathStartWith": "query/student",
"pathRegex": "query/.*/name",
"type": "text/*"
}
]
}
]
}
}
],
"extensionAbilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
],
"uris": [
{
"scheme": "https",
"host": "www.example.com",
"port": "8080",
"path": "query/student/name",
"pathStartWith": "query/student",
"pathRegex": "query/.*/name",
"type": "text/*"
}
]
}
]
}
]
}
}
```
......@@ -378,21 +468,21 @@ skills示例 :
abilities描述Ability组件的配置信息,标签值为数组类型。
9 ability对象内部结构说明
14 ability对象内部结构说明
| 属性 | 含义 | 数据类型 | 是否可缺省 |
| 属性 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| --------------- | ------------------------------------------------------------ | ---------- | ------------------------------------------------------------ |
| name | 该标签标识当前Ability组件的逻辑名,该名称在整个应用要唯一,标签值采用字符串表示(最大长度127字节)。 | 字符串 | 不可缺省。 |
| srcEntrance | 该标签标识Ability组件所对应的js代码路径,标签值为字符串(最大长度127字节)。 | 字符串 | 不可缺省。 |
| launchType | 该标签标识Ability组件的启动模式,可选标签值:<br/>"standard":多实例,每次启动创建一个新的实例。<br/>"singleton":单实例,仅第一次启动创建新实例。<br/>"specified":运行时由开发者决定是否创建新实例。 | 字符串 | 可缺省,缺省值为"singleton" |
| launchType | 该标签标识Ability组件的启动模式,可选标签值:<br/>"standard":多实例,每次启动创建一个新的实例。<br/>"singleton":单实例,仅第一次启动创建新实例。<br/>"specified":运行时由开发者决定是否创建新实例。 | 字符串 | 可缺省,缺省值为"singleton" |
| description | 该标签标识Ability组件的描述信息,标签值是是字符串类型或对描述内容的资源索引,要求采用资源索引方式,以支持多语言。 | 字符串 | 可缺省,缺省值为空。 |
| icon | 该标签标识Ability组件的图标,标签值为图标资源文件的索引。 | 字符串 | 可缺省,缺省值为空。<br/>如果Ability组件被配置为MainElement,该标签必须配置。 |
| permissions | 该标签标识被其它应用的Ability组件调用时需要申请的权限的集合,一个数组元素为一个权限名称。通常采用反向域名格式(最大长度255字节),取值为系统预定义的权限。 | 字符串数组 | 可缺省,缺省值为空。 |
| permissions | 该标签标识被其它应用的Ability组件调用时需要申请的权限的集合,一个数组元素为一个权限名称。通常采用反向域名格式(最大长度255字节),<br />取值为系统预定义的权限。 | 字符串数组 | 可缺省,缺省值为空。 |
| metadata | 该标签标识Ability组件的元信息。参考[metadata对象内部结构](#metadata对象内部结构)。 | 对象数组 | 可缺省,缺省值为空。 |
| visible | 该标签标识Ability组件是否可以被其它应用调用,true表示可以被其它应用调用, false表示不可以被其它应用调用。 | 布尔值 | 可缺省,缺省值为false。 |
| continuable | 该标签标识Ability组件是否可以迁移,true表示可以被迁移, false表示不可以被迁移。 | 布尔值 | 可缺省,缺省值为false。 |
| skills | 该标签标识Ability组件能够接收的意图的特征集。<br />配置规则 : entry包可以配置多个具有入口能力的skills标签(配置了action.system.home和entity.system.home)的Ability组件,其中第一个配置了skills标签的Ability组件中的label和icon作为OpenHarmony服务或应用的label和icon。<br/>OpenHarmony服务的Feature包不能配置具有入口能力的skills标签。<br/>OpenHarmony应用的Feature包可以配置具有入口能力的skills标签。 <br />参考[skills对象内部结构](#skills对象内部结构)。 | 对象数组 | 可缺省,缺省值为空。 |
| backgroundModes | 该标签标识Ability组件的长时任务集合。指定用于满足特定类型的长时任务。<br />长时任务类型有如下 :<br/>dataTransfer :通过网络/对端设备进行数据下载、备份、分享、传输等业务。<br/>audioPlayback :音频输出业务。<br/>audioRecording :音频输入业务。<br/>location :定位、导航业务。<br/>bluetoothInteraction :蓝牙扫描、连接、传输业务(穿戴)。<br/>multiDeviceConnection :多设备互联业务。<br/>wifiInteraction :Wifi扫描、连接、传输业务(克隆 多屏)。<br/>voip :音视频电话,VOIP业务。<br/>taskKeeping :计算业务。 <br/> | 字符串 | 可缺省,缺省值为空。 |
| skills | 该标签标识Ability组件能够接收的意图的特征集。<br />配置规则 : entry包可以配置多个具有入口能力的skills标签(配置了action.system.home和entity.system.home)的Ability组件,<br />其中第一个配置了skills标签的Ability组件中的label和icon作为OpenHarmony服务或应用的label和icon。<br/>OpenHarmony服务的Feature包不能配置具有入口能力的skills标签。<br/>OpenHarmony应用的Feature包可以配置具有入口能力的skills标签。 <br />参考[skills对象内部结构](#skills对象内部结构)。 | 对象数组 | 可缺省,缺省值为空。 |
| backgroundModes | 该标签标识Ability组件的长时任务集合。指定用于满足特定类型的长时任务。<br />长时任务类型有如下 :<br/>dataTransfer :通过网络/对端设备进行数据下载、备份、分享、传输等业务。<br/>audioPlayback :音频输出业务。<br/>audioRecording :音频输入业务。<br/>location :定位、导航业务。<br/>bluetoothInteraction :蓝牙扫描、连接、传输业务(穿戴)。<br/>multiDeviceConnection :多设备互联业务。<br/>wifiInteraction :Wifi扫描、连接、传输业务(克隆 多屏)。<br/>voip :音视频电话,VOIP业务。<br/>taskKeeping :计算业务。 <br/> | 字符串数组 | 可缺省,缺省值为空。 |
| startWindowIcon | 标识该Ability组件启动页面图标资源文件的索引。取值示例:$media:icon。 | 字符串 | 不可缺省。|
| startWindowBackground | 标识该Ability组件启动页面背景颜色资源文件的索引。取值示例:$color:red。 | 字符串 | 不可缺省。|
| removeMissionAfterTerminate | 该标签标识Ability组件销毁后是否从任务列表中移除任务。true表示销毁后移除任务, false表示销毁后不移除任务。 | 布尔值 | 可缺省,缺省值为false。|
......@@ -409,217 +499,177 @@ abilities示例 :
```json
{
"module": {
"abilities": [
{
"name": "MainAbility",
"srcEntrance": "./ets/login/LoginAbility.ts",
"launchType":"standard",
"description": "$string:description",
"icon": "$media:icon",
"label": "$string:label",
"permissions": [],
"metadata": [],
"visible": true,
"continuable": true,
"skills": [
{
"actions": ["action.system.home"],
"entities": ["entity.system.home"],
"uris": []
}
],
"backgroundModes": [
"dataTransfer",
"audioPlayback",
"audioRecording",
"location",
"bluetoothInteraction",
"multiDeviceConnection",
"wifiInteraction",
"voip",
"taskKeeping"
],
"startWindowIcon": "$media:icon",
"startWindowBackground": "$color:red",
"removeMissionAfterTerminate": true,
"orientation": "landscape",
"supportWindowMode": ["fullscreen", "split", "floating"],
"maxWindowRatio": 3.5,
"minWindowRatio": 0.5,
"maxWindowWidth": 2560,
"minWindowWidth": 1400,
"maxWindowHeight": 300,
"minWindowHeight": 200
}
]
}
"module": {
"abilities": [
{
"name": "EntryAbility",
"srcEntrance": "./ets/entryability/EntryAbility.ts",
"description": "$string:ability_desc",
"icon": "$media:icon",
"label": "$string:ability_label",
"startWindowIcon": "$media:icon",
"startWindowBackground": "$color:start_window_background",
"visible": true,
"backgroundModes": [
"dataTransfer",
"audioPlayback",
"audioRecording",
"location",
"bluetoothInteraction",
"multiDeviceConnection",
"wifiInteraction",
"voip",
"taskKeeping"
],
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"orientation": "landscape",
"supportWindowMode": [
"fullscreen",
"split",
"floating"
],
"maxWindowRatio": 3.5,
"minWindowRatio": 0.5,
"maxWindowWidth": 2560,
"minWindowWidth": 1400,
"maxWindowHeight": 300,
"minWindowHeight": 200
}
]
}
}
```
#### shortcuts对象内部结构
#### extensionAbilities对象内部结构
标识应用的快捷方式信息。最多可以配置四个快捷方式。<br/>
配置方式如下:<br/>
ability标签配置metadata信息。name :"ohos.ability.shortcuts"。resource :指定shortcuts信息的资源位置。
extensionAbilities描述extensionAbility的配置信息,标签值为数组类型。
表15 shortcut对象内部结构说明
表10 extensionAbility对象内部结构说明
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ---------- | ------------------------------------------------------------ | -------- | -------------------------- |
| shortcutId | 标识快捷方式的ID。最大长度为63字节。 | 字符串 | 不可缺省。 |
| label | 标识快捷方式的标签信息,即快捷方式对外显示的文字描述信息。取值可以是描述性内容,也可以是标识label的资源索引。字符串最大长度为63字节。 | 字符串 | 可缺省,缺省值为空。 |
| icon | 该标签标识shortcut的图标,标签值为资源文件的索引。 | 字符串 | 可缺省,缺省值为空。 |
| wants | 该标签标识快捷方式内定义的目标wants信息集合,每个want可配置两个子标签,bundleName,abilityName。<br />bundleName :快捷方式目标包名,字符串类型。<br />abilityName :快捷方式的目标组件名,字符串类型。 | 对象数组 | 可缺省,缺省值为空。 |
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ----------- | ------------------------------------------------------------ | ---------- | ----------------------------- |
| name | 该标签标识当前ExtensionAbility组件的逻辑名,标签值采用字符串表示(最大长度127字节),该名称在整个应用要唯一。 | 字符串 | 不可缺省。 |
| srcEntrance | 该标签标识ExtensionAbility组件所对应的js代码路径,标签值为字符串(最大长度127字节)。 | 字符串 | 不可缺省。 |
| description | 该标签标识ExtensionAbility组件的描述,标签值是是字符串类型或对描述内容的资源索引,以支持多语言。 | 字符串 | 可缺省,缺省值为空。 |
| icon | 该标签标识ExtensionAbility组件图标,标签值为资源文件的索引。 | 字符串 | 可缺省,缺省值为空。如果ExtensionAbility组件被配置为MainElement,不可缺省。 |
| label | 该标签标识ExtensionAbility组件对用户显示的名称,标签值配置为该名称的资源索引以支持多语言。 | 字符串 | 可缺省,缺省值为空。如果ExtensionAbility组件被配置为MainElement,该标签必须配置,且应用内唯一。 |
| type | 该标签标识ExtensionAbility组件的类型,取值为form、workScheduler、inputMethod、service、accessibility、dataShare、fileShare、staticSubscriber、wallpaper、backup、window、enterpriseAdmin、thumbnail、preview其中之一。 | 字符串 | 不可缺省。 |
| permissions | 该标签标识被其它应用的ability调用时需要申请的权限的集合,字符串数组类型,每个数组元素为一个权限名称,通常采用反向域名方式表示(最大长度255字节),取值为系统预定义权限或者应用自定义权限,如果是后者,需与defPermissions标签中定义的某个权限的name标签值一致。 | 字符串数组 | 可缺省,缺省值为空。 |
| uri | 该标签标识ability提供的数据URI,为字符数组类型(最大长度255字节),用反向域名的格式表示。 | 字符串 | 可缺省,缺省值为空。该标签在type为dataShare类型的ExtensionAbility组件时,不可缺省。 |
| skills | 该标签标识ability能够接收的意图的特征集,为数组格式。<br />配置规则 : entry包可以配置多个具有入口能力的skills标签(配置了action.system.home和entity.system.home)的ability,其中第一个配置了skills标签的ability中的label和icon作为OpenHarmony服务或应用的label和icon。<br/>OpenHarmony服务的Feature包不能配置具有入口能力的skills标签。<br/>OpenHarmony应用的Feature包可以配置具有入口能力的skills标签。 <br />参考[skills对象内部结构](#skills对象内部结构)。 | 对象数组 | 可缺省,缺省值为空。 |
| metadata | 该标签标识ExtensionAbility组件的元信息。参考[metadata对象内部结构](#metadata对象内部结构)。 | 对象数组 | 可缺省,缺省值为空。 |
| visible | 该标签标识ExtensionAbility组件是否可以被其它应用调用。true表示可以被其它应用调用, false表示不可以被其它应用调用。 | 布尔值 | 可缺省,缺省值为false。 |
| readPermission | 该标签标识读取ExtensionAbility组件的数据所需的权限。最大长度255字节。type为dataShare类型的ExtensionAbility组件支持该配置。该标签只对系统应用生效。 | 字符串 | 可缺省,缺省值为空。 |
| writePermission | 该标签标识向ExtensionAbility组件写数据所需的权限。最大长度255字节。type为dataShare类型的ExtensionAbility组件支持该配置。该标签只对系统应用生效。 | 字符串 | 可缺省,缺省值为空。 |
shortcuts示例 :
extensionAbilities示例
1.在开发视图的resources/base/profile下面定义配置文件shortcuts_config.json(文件名称可由开发者定义)
```json
{
"module": {
"extensionAbilities": [
{
"name": "extensionName",
"srcEntrance": "./extension/FormExtension.ts",
"icon": "$media:icon",
"label" : "$string:label",
"description": "$string:description",
"type": "form",
"permissions": ["permissionName"],
"readPermission": "",
"writePermission": "",
"visible": true,
"uri":"scheme://authority/path/query"
"skills": [
{
"actions": [],
"entities": [],
"uris": []
}
],
"metadata": [
{
"name": "ohos.extability.form",
"resource": "$profile:form_config",
}
]
}
]
"shortcuts": [
{
"shortcutId": "shortcut_id",
"label": "$string:label",
"icon": "$media:icon",
"wants": [
{
"bundleName": "com.example.myapplication",
"abilityName": "abilityName"
}
]
}
]
}
```
#### definePermissions对象内部结构
该标签标识HAP定义的权限。该标签只支持系统应用配置。
表11 definePermission对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------------------- | ------------------------------------------------------------ | -------- | ------------------------------ |
| name | 标识权限的名称。 | 字符串 | 不可缺省。 |
| grantMode | 标识权限的授予方式,授予模式如下:<br />system_grant:安装后系统自动授予该权限。<br />user_grant:应用动态申请,用户授权后才可使用 | 字符串 | 可缺省,缺省值为"system_grant"。 |
| availableLevel | 标识权限限制门限,可选值为system_core、system_basic、normal。<br />system_core:系统核心权限。<br />system_basic:系统基础权限。<br />normal:普通权限。所有应用允许申请的权限。 | 字符串 | 可缺省,缺省值为"normal"。 |
| provisionEnable | 标识权限是否支持证书方式申请权限,包括高级别的权限,true标识需要开发者可以通过provision证书acls方式申请权限。 | 布尔值 | 可缺省,缺省值为true。 |
| distributedSceneEnable | 标识权限是否支持分布式场景下使用该权限。 | 布尔值 | 可缺省,缺省值为false。 |
| label | 标识权限的简短描述,配置为对描述内容的资源索引。 | 字符串 | 可缺省,缺省值为空。 |
| description | 标识权限的详细描述,可以是表示描述内容的字符串,也可以是对描述内容的资源索引。 | 字符串 | 可缺省,缺省值为空。 |
definePermissions示例 :
2.在module.json5的abilities标签下配置metadata信息:
```json
{
"module": {
"definePermissions": [
{
"name": "permissionName",
"grantMode": "user_grant",
"availableLevel": "system_basic",
"provisionEnable": false,
"distributedSceneEnable": true,
"label" : "$string:label",
"description": "$string:description"
}
]
}
}
```
#### requestPermissions对象内部结构
该标签标识应用运行时需向系统申请的权限集合。
表12 requestPermission对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ------| ------| -------- | ------------------------------ |
| name | 需要申请的权限名称。| 字符串 | 不可缺省。 |
| reason | 申请权限的原因。配置为描述内容的资源索引,以支持多语言。 | 字符串 | 可缺省,缺省值为空。当申请权限的grantMode为user_grant时不可缺省。 |
| usedScene | 权限使用的场景和时机。参考[usedScene对象内部结构](#usedscene对象内部结构)。| 对象 | 可缺省,缺省值为空。当申请权限的grantMode为user_grant时不可缺省。 |
requestPermissions示例 :
```json
{
"module": {
"requestPermissions": [
{
"name": "permissionName",
"reason": "$string:reason",
"usedScene": {
"abilities": [
"AudioAbility",
"VideoAbility"
],
"when": "inuse"
}
}
"module": {
"abilities": [
{
"name": "EntryAbility",
"srcEntrance": "./ets/entryability/EntryAbility.ts",
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"metadata": [
{
"name": "ohos.ability.shortcuts",
"resource": "$profile:shortcuts_config"
}
]
}
}
]
}
}
```
权限访问的更多说明,可参考[访问控制开发指导](../security/accesstoken-guidelines.md)
#### usedScene对象内部结构
#### extensionAbilities对象内部结构
该标签标识权限使用的场景和时机
extensionAbilities描述extensionAbility的配置信息,标签值为数组类型
表13 usedScene对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ------- | --------------------| -------- | ------ |
| abilities | 标识需要使用到该权限的ability。| 字符串数组 | 不可缺省。 |
| when | 标识使用该权限的时机,可选值为inuse和always。inuse表示仅前台使用,always表示前后台都可使用 | 字符串 | 可缺省,缺省值为空。 |
表16 extensionAbility对象内部结构说明
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ----------- | ------------------------------------------------------------ | ---------- | ----------------------------- |
| name | 该标签标识当前ExtensionAbility组件的逻辑名,标签值采用字符串表示(最大长度127字节),该名称在整个应用要唯一。 | 字符串 | 不可缺省。 |
| srcEntrance | 该标签标识ExtensionAbility组件所对应的js代码路径,标签值为字符串(最大长度127字节)。 | 字符串 | 不可缺省。 |
| description | 该标签标识ExtensionAbility组件的描述,标签值是是字符串类型或对描述内容的资源索引,以支持多语言。 | 字符串 | 可缺省,缺省值为空。 |
| icon | 该标签标识ExtensionAbility组件图标,标签值为资源文件的索引。 | 字符串 | 可缺省,缺省值为空。如果ExtensionAbility组件被配置为MainElement,不可缺省。 |
| label | 该标签标识ExtensionAbility组件对用户显示的名称,标签值配置为该名称的资源索引以支持多语言。 | 字符串 | 可缺省,缺省值为空。如果ExtensionAbility组件被配置为MainElement,该标签必须配置,且应用内唯一。 |
| type | 该标签标识ExtensionAbility组件的类型,取值为form、workScheduler、inputMethod、service、accessibility、dataShare、fileShare、staticSubscriber、wallpaper、backup、window、enterpriseAdmin、thumbnail、preview其中之一。 | 字符串 | 不可缺省。 |
| permissions | 该标签标识被其它应用的ability调用时需要申请的权限的集合,字符串数组类型,每个数组元素为一个权限名称,通常采用反向域名方式表示(最大长度255字节),取值为系统预定义权限或者应用自定义权限,如果是后者,需与defPermissions标签中定义的某个权限的name标签值一致。 | 字符串数组 | 可缺省,缺省值为空。 |
| uri | 该标签标识ability提供的数据URI,为字符数组类型(最大长度255字节),用反向域名的格式表示。 | 字符串 | 可缺省,缺省值为空。该标签在type为dataShare类型的ExtensionAbility组件时,不可缺省。 |
| skills | 该标签标识ability能够接收的意图的特征集,为数组格式。<br />配置规则 : entry包可以配置多个具有入口能力的skills标签(配置了action.system.home和entity.system.home)的ability,其中第一个配置了skills标签的ability中的label和icon作为OpenHarmony服务或应用的label和icon。<br/>OpenHarmony服务的Feature包不能配置具有入口能力的skills标签。<br/>OpenHarmony应用的Feature包可以配置具有入口能力的skills标签。 <br />参考[skills对象内部结构](#skills对象内部结构)。 | 对象数组 | 可缺省,缺省值为空。 |
| metadata | 该标签标识ExtensionAbility组件的元信息。参考[metadata对象内部结构](#metadata对象内部结构)。 | 对象数组 | 可缺省,缺省值为空。 |
| visible | 该标签标识ExtensionAbility组件是否可以被其它应用调用。true表示可以被其它应用调用, false表示不可以被其它应用调用。 | 布尔值 | 可缺省,缺省值为false。 |
| readPermission | 该标签标识读取ExtensionAbility组件的数据所需的权限。最大长度255字节。type为dataShare类型的ExtensionAbility组件支持该配置。该标签只对系统应用生效。 | 字符串 | 可缺省,缺省值为空。 |
| writePermission | 该标签标识向ExtensionAbility组件写数据所需的权限。最大长度255字节。type为dataShare类型的ExtensionAbility组件支持该配置。该标签只对系统应用生效。 | 字符串 | 可缺省,缺省值为空。 |
usedScene示例 :
extensionAbilities示例 :
```json
{
"module": {
"requestPermissions": [
{
"usedScene": {
"abilities": [
"AudioAbility",
"VideoAbility"
],
"when": "inuse"
}
}
"module": {
"extensionAbilities": [
{
"name": "EntryFormAbility",
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"srcEntrance": "./ets/entryformability/EntryFormAbility.ts",
"label": "$string:EntryFormAbility_label",
"description": "$string:EntryFormAbility_desc",
"type": "form",
"metadata": [
{
"name": "ohos.extension.form",
"resource": "$profile:form_config"
}
]
}
}
]
}
}
```
......@@ -627,11 +677,11 @@ usedScene示例 :
forms标签标识卡片的配置,form卡片是可以嵌入桌面上并接收定期更新的应用简要视图。<br/>
配置方式如下:<br/>
extensionAbility标签配置type为form,并配置metadata信息:name :"ohos.extability.form"。resource :指定form信息的资源位置。
extensionAbility标签配置type为form,并配置metadata信息:name :"ohos.extension.form"。resource :指定form信息的资源位置。
表14 form对象内部结构说明
表17 form对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ------------------- | ------------------------------------------------------------ | ---------- | ----------------------------- |
| name | 标识卡片的名称。最大长度为127字节。 | 字符串 | 不可缺省。 |
| description | 标识卡片的描述。取值可以是描述性内容,也可以是对描述性内容的资源索引,以支持多语言。最大长度为255字节。 | 字符串 | 可缺省,缺省值为空。 |
......@@ -645,7 +695,7 @@ extensionAbility标签配置type为form,并配置metadata信息:name :"ohos.
| scheduledUpdateTime | 该标签标识卡片定点刷新的时间,采用24小时计数,精确到分钟。 | 字符串 | 可缺省,缺省值为空。 |
| updateDuration | 该标签标识卡片定时刷新的更新频率,单位为30分钟,取值为30的倍数。卡片的最高频率为每30分钟刷新一次,和定点刷新二选一,二者都配置的情况下,定时优先。 | 数值 | 可缺省,缺省值为空。 |
| metadata | 该标签标识卡片的元信息。参考[metadata对象内部结构](#metadata对象内部结构)。 | 对象数组 | 可缺省,缺省值为空。 |
| formConfigAbility | 该标签标识卡片调整的Ability名称。最大长度127字节。该标签值必须满足下面的格式 :<br/>ability://单个ability名字<br/>单个ability名字必须为本应用的ability。 | 字符串 | 可缺省,缺省值为空。 |
| formConfigAbility | 该标签标识卡片调整的Ability名称。最大长度127字节。该标签值必须满足下面的格式 :<br/>ability://单个ability名字<br/>单个ability名字必须为本应用的ability。 | 字符串 | 可缺省,缺省值为空。 |
| formVisibleNotify | 该标签标识卡片是否被允许使用卡片可见性通知。 | 布尔值 | 可缺省,缺省值为false。 |
form示例 :
......@@ -654,120 +704,72 @@ form示例 :
```json
{
"forms": [
{
"name": "Form_Js",
"description": "$string:description",
"src": "./js/pages/card/index",
"window": {
"designWidth": 720,
"autoDesignWidth": true
},
"colorMode": "auto",
"formConfigAbility": "ability://xxx",
"formVisibleNotify": false,
"isDefault": true,
"updateEnabled": true,
"scheduledUpdateTime": "10:30",
"updateDuration": 1,
"defaultDimension": "2*2",
"updateEnabled": true,
"supportDimensions": [
"2*2"
],
"metadata": [
{
"name": "name",
"value": "value",
"resource": "$profile:resource"
}
]
}
]
"forms": [
{
"name": "widget",
"description": "This is a service widget.",
"src": "./js/widget/pages/index/index",
"window": {
"designWidth": 720,
"autoDesignWidth": true
},
"colorMode": "auto",
"isDefault": true,
"updateEnabled": true,
"scheduledUpdateTime": "10:30",
"updateDuration": 1,
"defaultDimension": "2*2",
"supportDimensions": [
"2*2"
]
}
]
}
```
2.在module.json5的extensionAbilities标签下定义metadata信息
2.在module.json5的extensionAbilities标签下配置metadata信息
```json
{
"module": {
"extensionAbilities": [
{
"type": "form",
"metadata": [
{
"name": "ohos.extability.form",
"resource": "$profile:form_config"
}
]
}
"module": {
"extensionAbilities": [
{
"type": "form",
"metadata": [
{
"name": "ohos.extension.form",
"resource": "$profile:form_config"
}
]
}
}
]
}
}
```
#### shortcuts对象内部结构
标识应用的快捷方式信息。最多可以配置四个快捷方式。<br/>
配置方式如下:<br/>
ability标签配置metadata信息。name :"ohos.ability.shortcuts"。resource :指定shortcuts信息的资源位置。
表15 shortcut对象内部结构说明
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------- | ------------------------------------------------------------ | -------- | -------------------------- |
| shortcutId | 标识快捷方式的ID。最大长度为63字节。 | 字符串 | 不可缺省。 |
| label | 标识快捷方式的标签信息,即快捷方式对外显示的文字描述信息。取值可以是描述性内容,也可以是标识label的资源索引。字符串最大长度为63字节。 | 字符串 | 可缺省,缺省值为空。 |
| icon | 该标签标识shortcut的图标,标签值为资源文件的索引。 | 字符串 | 可缺省,缺省值为空。 |
| wants | 该标签标识快捷方式内定义的目标wants信息集合,每个want可配置两个子标签,bundleName,abilityName。<br />bundleName :快捷方式目标包名,字符串类型。<br />abilityName :快捷方式的目标组件名,字符串类型。 | 对象数组 | 可缺省,缺省值为空。 |
#### window对象内部结构
shortcuts示例 :
定义与显示窗口相关的配置。
1.在开发视图的resources/base/profile下面定义配置文件shortcuts_config.json(文件名称可由开发者定义):
表18 window对象内部结构说明
```json
{
"shortcuts": [
{
"shortcutId": "shortcut_id",
"label": "$string:label",
"icon": "$media:icon",
"wants": [
{
"bundleName": "bundleName",
"abilityName": "abilityName"
}
]
}
]
}
```
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------------- |
| designWidth | 定义页面设计基准宽度,根据实际设备宽度来缩放元素大小。 | 数值 | 可缺省,缺省值为750。 |
| autoDesignWidth | 定义页面设计基准宽度是否自动计算,当设置为true时,designWidth将被忽略,设计基准宽度由设备宽度与屏幕密度计算得出。 | 布尔值 | 可缺省,缺省值为false。 |
2.在module.json5的abilities标签下定义metadata信息 :
window示例 :
```json
{
"module": {
"abilities": [
{
"name": "MainAbility",
"srcEntrance": "./abilities/MainAbility.ts",
"skills": [
{
"actions": ["action.system.home"],
"entities": ["entity.system.home"]
}
],
"metadata": [
{
"name": "ohos.ability.shortcuts",
"resource": "$profile:shortcuts_config"
}
]
}
]
"forms": [
{
"window": {
"designWidth": 720,
"autoDesignWidth": true
}
}
]
}
```
......@@ -777,12 +779,12 @@ commonEvents标签标识注册静态公共事件信息。<br/>
配置方式如下:<br/>
extensionAbility标签配置type为staticSubscriber,并配置metadata信息:name :"ohos.extability.staticSubscriber"。resource :指定commonEvents信息的资源位置。
表16 commonEvent对象内部结构
表19 commonEvent对象内部结构
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ---------- | ------------------------------------------------------------ | ---------- | -------------------------- |
| name | 该标签指明当前静态公共事件对应的ability名,该类需要在ability中标明。 | 字符串 | 不可缺省。 |
| permission | 该标签标识实现该静态公共事件需要申请的权限,以字符串类型表示一个权限名称,通常采用反向域名方式表示(最大255字节)。 | 字符串 | 可缺省,缺省值为空。 |
| permission | 该标签标识实现该静态公共事件需要申请的权限,以字符串类型表示一个权限名称,通常采用反向域名方式表示(最大长度255字节)。 | 字符串 | 可缺省,缺省值为空。 |
| types | 该标签配置当前静态公共事件的类别数组,字符串数组类型,每个数组元素为一个类别名称。 | 字符串数组 | 可缺省,缺省值为空。 |
| events | 该标签标识能够接收的意图的event值的集合,取值通常为系统预定义的event值,也允许自定义。 | 字符串数组 | 不可缺省。 |
......@@ -809,124 +811,127 @@ commonEvents示例 :
}
```
2.在module.json5的extensionAbilities标签下定义metadata信息
2.在module.json5的extensionAbilities标签下配置metadata信息
```json
{
"module": {
"extensionAbilities": [
{
"name": "subscriber",
"srcEntrance": "./extension/subscriber.js",
"type": "staticSubscriber",
"metadata": [
{
"name": "ohos.extability.staticSubscriber",
"resource": "$profile:common_event_config"
}
]
}
"module": {
"extensionAbilities": [
{
"name": "subscriber",
"srcEntrance": "./ets/subscriber/Subscriber.ts",
"type": "staticSubscriber",
"metadata": [
{
"name": "ohos.extability.staticSubscriber",
"resource": "$profile:common_event_config"
}
]
}
}
]
}
}
```
#### distroFilter对象内部结构
#### definePermissions对象内部结构
标识应用的分发规则
该标签标识HAP定义的权限。该标签只支持系统应用配置
该标签用于定义HAP包对应的细分设备规格的分发策略,以便在应用市场进行云端分发应用包时做精准匹配。该标签可配置的分发策略维度包括API Version、屏幕形状、窗口分辨率、屏幕分辨率、国家码。在进行分发时,通过deviceType与这五个属性的匹配关系,唯一确定一个用于分发到设备的HAP。<br/>
配置方式如下:<br/>
module标签配置metadata信息。name :"ohos.module.distro"。resource :指定distroFilter信息的资源位置。
表20 definePermission对象内部结构说明
表17 distroFilter对象内部结构
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ---------------------- | ------------------------------------------------------------ | -------- | ------------------------------ |
| name | 标识权限的名称。 | 字符串 | 不可缺省。 |
| grantMode | 标识权限的授予方式,授予模式如下:<br />system_grant:安装后系统自动授予该权限。<br />user_grant:应用动态申请,用户授权后才可使用。 | 字符串 | 可缺省,缺省值为"system_grant"。 |
| availableLevel | 标识权限限制门限,可选值为system_core、system_basic、normal。<br />system_core:系统核心权限。<br />system_basic:系统基础权限。<br />normal:普通权限。所有应用允许申请的权限。 | 字符串 | 可缺省,缺省值为"normal"。 |
| provisionEnable | 标识权限是否支持证书方式申请权限,包括高级别的权限,true标识需要开发者可以通过provision证书acls方式申请权限。 | 布尔值 | 可缺省,缺省值为true。 |
| distributedSceneEnable | 标识权限是否支持分布式场景下使用该权限。 | 布尔值 | 可缺省,缺省值为false。 |
| label | 标识权限的简短描述,配置为对描述内容的资源索引。 | 字符串 | 可缺省,缺省值为空。 |
| description | 标识权限的详细描述,可以是表示描述内容的字符串,也可以是对描述内容的资源索引。 | 字符串 | 可缺省,缺省值为空。 |
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ------------- | ------------------------------------------------------------ | -------- | -------------------------- |
| apiVersion | 标识支持的apiVersion。 | 对象 | 可缺省,缺省值为空。 |
| screenShape | 标识屏幕形状的支持策略。仅支持liteWearable设备配置。 | 对象 | 可缺省,缺省值为空。 |
| screenWindow | 标识应用运行时窗口的分辨率支持策略。仅支持liteWearable设备配置。 | 对象 | 可缺省,缺省值为空。 |
| screenDensity | 标识屏幕的像素密度(dpi : Dot Per Inch)。 | 对象 | 可缺省,缺省值为空。 |
| countryCode | 标识应用需要分发的国家地区码。具体值以ISO-3166-1标准为准。 | 对象 | 可缺省,缺省值为空。 |
definePermissions示例 :
表18 apiVersion对象内部结构
```json
{
"module": {
"definePermissions": [
{
"name": "permissionName",
"grantMode": "user_grant",
"availableLevel": "system_basic",
"provisionEnable": false,
"distributedSceneEnable": true,
"label": "$string:label",
"description": "$string:description"
}
]
}
}
```
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为"exclude"或"include"。"include"表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 支持的取值为API Version存在的整数值,例如4、5、6,最小取值为3。场景示例 :某应用,针对相同设备型号,同时在网的为使用API 5和API 6开发的两个软件版本,则允许上架2个entry类型的安装包,分别支持到对应设备侧软件版本的分发。 | 数值数组 | 可缺省,缺省值为空。 |
#### requestPermissions对象内部结构
表19 screenShape对象内部结构
该标签标识应用运行时需向系统申请的权限集合。
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为"exclude"或"include"。"include"表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 支持的取值为circle(圆形屏幕)、rect(矩形屏幕)。场景示例:针对智能穿戴设备,可为圆形表盘和矩形表盘分别提供不同的HAP。 | 字符串数组 | 可缺省,缺省值为空。 |
表21 requestPermission对象内部结构说明
表20 screenWindow对象内部结构
| 属性名称 | 含义 | 数据类型<div style="width:20px"> | 是否可缺省 |
| ------| ------| -------- | ------------------------------ |
| name | 需要申请的权限名称。| 字符串 | 不可缺省。 |
| reason | 申请权限的原因。配置为描述内容的资源索引,以支持多语言。 | 字符串 | 可缺省,缺省值为空。当申请权限的grantMode为user_grant时不可缺省。 |
| usedScene | 权限使用的场景和时机。参考[usedScene对象内部结构](#usedscene对象内部结构)。| 对象 | 可缺省,缺省值为空。当申请权限的grantMode为user_grant时不可缺省。 |
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为"include"。"include"表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 单个字符串的取值格式为 :“宽 * 高”,取值为整数像素值,例如“454 * 454”。 | 字符串数组 | 可缺省,缺省值为空。 |
requestPermissions示例 :
表21 screenDensity对象内部结构
```json
{
"module": {
"requestPermissions": [
{
"name": "permissionName",
"reason": "$string:reason",
"usedScene": {
"abilities": [
"EntryAbility"
],
"when": "inuse"
}
}
]
}
}
```
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为"exclude"或"include"。"include"表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 字符串范围如下:<br />sdpi :表示小规模的屏幕密度(Small-scale Dots per Inch),适用于dpi取值为(0,120]的设备。<br />mdpi :表示中规模的屏幕密度(Medium-scale Dots Per Inch),适用于dpi取值为(120,160]的设备。<br />ldpi :表示大规模的屏幕密度(Large-scale Dots Per Inch),适用于dpi取值为(160,240]的设备。<br /> xldpi :表示大规模的屏幕密度(Extra Large-scale Dots Per Inch),适用于dpi取值为(240,320]的设备。<br />xxldpi :表示大规模的屏幕密度(Extra Extra Large-scale Dots Per Inch),适用于dpi取值为(320,480]的设备。<br />xxxldpi :表示大规模的屏幕密度(Extra Extra Extra Large-scale Dots Per Inch),适用于dpi取值为(480, 640]的设备。 | 字符串数组 | 可缺省,缺省值为空。 |
权限访问的更多说明,可参考[访问控制开发指导](../security/accesstoken-guidelines.md)
表22 countryCode对象内部结构
#### usedScene对象内部结构
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| -------- | ------------------------------------------------------------ | -------- | -------------------- |
| policy | 标识该子属性取值的黑白名单规则。配置为"exclude"或"include"。"include"表示该字段取值为白名单,满足value枚举值匹配规则的表示匹配该属性。 | 字符串 | 可缺省,缺省值为空。 |
| value | 支持多个国家和地区枚举定义。字符串表示所支持的国家或地区,由两个大写字母组成。 | 字符串数组 | 可缺省,缺省值为空。 |
该标签标识权限使用的场景和时机。
distroFilter示例 :
表22 usedScene对象内部结构说明
1.在开发视图的resources/base/profile下面定义配置文件distro_filter_config.json(文件名称可由开发者定义):
| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
| ------- | --------------------| -------- | ------ |
| abilities | 标识需要使用到该权限的ability。| 字符串数组 | 不可缺省。 |
| when | 标识使用该权限的时机,可选值为inuse和always。inuse表示仅前台使用,always表示前后台都可使用。 | 字符串 | 可缺省,缺省值为空。 |
```json
"distroFilter": [
{
"apiVersion": {
"policy": "include",
"value": [4, 5]
},
"screenShape": {
"policy": "include",
"value": ["circle", "rect"]
},
"screenWindow": {
"policy": "include",
"value": ["454*454", "466*466"]
},
"screenDensity": {
"policy": "exclude",
"value": ["ldpi", "xldpi"]
},
"countryCode": {
"policy": "include",
"value": ["CN", "HK"]
}
}
]
```
2.在module.json5的module标签下定义metadata信息
usedScene示例
```json
{
"module":{
"metadata": [
{
"name": "ohos.module.distro",
"resource": "$profile:distro_filter_config"
}
]
}
"module": {
"requestPermissions": [
{
"usedScene": {
"abilities": [
"EntryAbility"
],
"when": "inuse"
}
}
]
}
}
```
......@@ -943,10 +948,14 @@ distroFilter示例 :
testRunner示例 :
```
"testRunner": {
"name": "testRunnerName",
"srcPath": "etc/test/TestRunner.ts"
```json
{
"module": {
"testRunner": {
"name": "testRunnerName",
"srcPath": "ets/test/TestRunner.ts"
}
}
}
```
# 接口
# 接口
- [开发说明](development-intro.md)
......
......@@ -27,6 +27,7 @@ create(options: AnimatorOptions): AnimatorResult
| options | [AnimatorOptions](#animatoroptions) | 是 | 定义动画选项。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------- | ------------- |
| [AnimatorResult](#animatorresult) | Animator结果接口。 |
......@@ -51,8 +52,6 @@ create(options: AnimatorOptions): AnimatorResult
定义Animator结果接口。
<span id = "#resetsup9sup"></span>
### reset<sup>9+</sup>
reset(options: AnimatorOptions): void
......@@ -71,7 +70,7 @@ reset(options: AnimatorOptions): void
以下错误码的详细介绍请参见[ohos.animator(动画)](../errorcodes/errorcode-animator.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
......@@ -181,6 +180,7 @@ onframe: (progress: number) => void
| progress | number | 是 | 动画的当前进度。 |
**示例:**
```js
let animatorResult = animator.create(options)
animatorResult.onframe = function(value) {
......@@ -208,7 +208,7 @@ animatorResult.onfinish = function() {
### oncancel
oncancel: () => void
不再维护
动画被取消时回调。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
......@@ -247,7 +247,7 @@ animatorResult.onrepeat = function() {
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
| 名称 | 参数类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ---------------------------------------- | ---- | ---------------------------------------- |
| duration | number | 是 | 动画播放的时长,单位毫秒,默认为0。 |
| easing | string | 是 | 动画插值曲线,默认为'ease'。 |
......
......@@ -127,7 +127,7 @@ update?(uri: string, predicates: dataSharePredicates.DataSharePredicates, valueB
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要更新的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。 |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。 |
| valueBucket | [ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket) | 是 | 指示要更新的数据。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调函数。返回更新的数据记录数。 |
......@@ -170,7 +170,7 @@ delete?(uri: string, predicates: dataSharePredicates.DataSharePredicates, callba
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ---------------------------------- |
| uri | string | 是 | 指示要删除的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。 |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调函数。返回已删除的数据记录数。 |
**示例:**
......@@ -212,7 +212,7 @@ query?(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | ------ | ------ |
| uri | string | 是 | 指示要查询的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。 |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。 |
| columns | Array&lt;string&gt; | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 |
| callback | AsyncCallback&lt;Object&gt; | 是 | 回调函数。返回查询到的结果集。 |
......
......@@ -53,7 +53,7 @@ dataShareHelper.query(uri, da, columns).then((data) => {
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Core
| 名称 | 参数类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| ----------- | ------------- | ---- | ------------------------ |
| columnNames | Array&lt;string&gt; | 是 | 结果集中所有列的名称。 |
| columnCount | number | 是 | 结果集中的列数。 |
......
......@@ -125,7 +125,7 @@ on(type: 'dataChange', uri: string, callback: AsyncCallback&lt;void&gt;): void
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------ |
| type | string | 是 | 订阅的事件/回调类型,支持的事件为'dataChange',当数据更改时,触发该事件。 |
| uri | string | 是 | 表示指定的数据路径。 |
......@@ -152,7 +152,7 @@ off(type: 'dataChange', uri: string, callback?: AsyncCallback&lt;void&gt;): void
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------ |
| type | string | 是 | 取消订阅的事件/回调类型,支持的事件为'dataChange'。 |
| uri | string | 是 | 表示指定的数据路径。 |
......@@ -179,7 +179,7 @@ insert(uri: string, value: ValuesBucket, callback: AsyncCallback&lt;number&gt;):
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 |
| value | [ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket) | 是 | 指示要插入的数据。如果此参数为空,将插入一个空行。 |
......@@ -218,7 +218,7 @@ insert(uri: string, value: ValuesBucket): Promise&lt;number&gt;
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ----- | --------------------------------------------------------- | ---- | -------------------------------------------------- |
| uri | string | 是 | 指示要插入的数据的路径。 |
| value | [ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket) | 是 | 指示要插入的数据。如果此参数为空,将插入一个空行。 |
......@@ -260,7 +260,7 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates, callbac
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要删除的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。<br />delete接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB的删除目前仅支持inKeys谓词。 |
......@@ -298,7 +298,7 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates): Promis
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要删除的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。<br />delete接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB的删除目前仅支持inKeys谓词。 |
......@@ -339,7 +339,7 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要查询的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。<br />query接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB目前仅支持inKeys和prefixKey。 |
......@@ -379,7 +379,7 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要查询的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。<br />query接口所支持的谓词方法取决于服务端所选用的数据库,如KVDB目前仅支持inKeys和prefixKey。 |
......@@ -422,7 +422,7 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要更新的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。<br />update接口是否支持谓词筛选条件取决于服务端所选用的数据库,如KVDB目前并不支持谓词筛选条件,仅RDB支持。 |
......@@ -467,7 +467,7 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要更新的数据的路径。 |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件。<br />update接口是否支持谓词筛选条件取决于服务端所选用的数据库,如KVDB目前并不支持谓词筛选条件,仅RDB支持。 |
......@@ -515,7 +515,7 @@ batchInsert(uri: string, values: Array&lt;ValuesBucket&gt;, callback: AsyncCallb
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 |
| values | Array&lt;[ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket)&gt; | 是 | 指示要插入的数据。 |
......@@ -552,7 +552,7 @@ batchInsert(uri: string, values: Array&lt;ValuesBucket&gt;): Promise&lt;number&g
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------------------------------------ | ---- | ------------------------ |
| uri | string | 是 | 指示要插入的数据的路径。 |
| values | Array&lt;[ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket)&gt; | 是 | 指示要插入的数据。 |
......@@ -592,7 +592,7 @@ normalizeUri(uri: string, callback: AsyncCallback&lt;string&gt;): void
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | -------------------------------------------------------- |
| uri | string | 是 | 指示要规范化的[URI](js-apis-uri.md#uri)。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。当将给定的DataShare URI转换为规范化URI成功,err为undefined,data为获取到的规范化URI(如果支持URI规范化,则返回规范化URI,否则返回空);否则为错误对象。 |
......@@ -621,7 +621,7 @@ normalizeUri(uri: string): Promise&lt;string&gt;
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ---- | ------ | ---- | ----------------------------------------- |
| uri | string | 是 | 指示要规范化的[URI](js-apis-uri.md#uri)。 |
......@@ -653,7 +653,7 @@ denormalizeUri(uri: string, callback: AsyncCallback&lt;string&gt;): void
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | --------------------------------------------------- |
| uri | string | 是 | 指示要反规范化的[URI](js-apis-uri.md#uri)。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。当将指定的URI转换为非规范化URI,err为undefined,data为获取到的反规范化URI(如果反规范化成功,则返回反规范化的URI;如果无需进行反规范化,则返回原始URI;若不支持则返回空);否则为错误对象。 |
......@@ -682,7 +682,7 @@ denormalizeUri(uri: string): Promise&lt;string&gt;
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ---- | ------ | ---- | ------------------------------------------- |
| uri | string | 是 | 指示要反规范化的[URI](js-apis-uri.md#uri)。 |
......@@ -714,7 +714,7 @@ notifyChange(uri: string, callback: AsyncCallback&lt;void&gt;): void
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------ |
| uri | string | 是 | 表示指定的数据路径。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。当通知已注册的观察者指定URI对应的数据资源已发生变更成功,err为undefined;否则为错误对象。 |
......@@ -739,7 +739,7 @@ notifyChange(uri: string): Promise&lt;void&gt;
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ---- | ------ | ---- | -------------------- |
| uri | string | 是 | 表示指定的数据路径。 |
......
......@@ -2656,7 +2656,7 @@ try {
**系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core
| 参数名 | 类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| ------------- | ------------- | ---- | --------------------------------------------------------- |
| name | string | 是 | 数据库文件名。 |
| securityLevel | SecurityLevel | 是 | 设置数据库安全级别 |
......@@ -4649,7 +4649,7 @@ try {
**系统能力:**SystemCapability.DistributedDataManager.RelationalStore.Core
| 参数名 | 类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 数据库文件名。 |
......@@ -162,7 +162,7 @@ getKVStore&lt;T extends KVStore&gt;(storeId: string, options: Options, callback:
| ----- | ------ | ------ | ------ |
| storeId | string | 是 | 数据库唯一标识符,长度不大于[MAX_STORE_ID_LENGTH](#constants)。 |
| options | [Options](#options) | 是 | 创建KVStore实例的配置信息。 |
| callback | AsyncCallback&lt;T&gt;&lt;T extends [KVStore](#kvstore)&gt; | 是 | 回调函数。返回创建的KVStore数据库实例。 |
| callback | AsyncCallback&lt;T&gt; | 是 | 回调函数。返回创建的KVStore数据库实例。 |
**示例:**
......@@ -2328,7 +2328,7 @@ putBatch(entries: Entry[], callback: AsyncCallback&lt;void&gt;): void
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
| entries |[Entry](#entry)[] | 是 |表示要批量插入的键值对。 |
| callback |Asyncallback&lt;void&gt; |是 |回调函数。 |
| callback |AsyncCallback&lt;void&gt; |是 |回调函数。 |
**示例:**
......@@ -4369,7 +4369,7 @@ getResultSet(deviceId: string, keyPrefix: string, callback: AsyncCallback&lt;KvS
| ----- | ------ | ---- | ----------------------- |
| deviceId |string | 是 |标识要查询其数据的设备。 |
| keyPrefix |string | 是 |表示要匹配的键前缀。 |
| callback |AsyncCallback&lt;[KvStoreResultSet](#kvstoreresultset8)[]&gt; | 是 |回调函数。返回与指定设备ID和key前缀匹配的KvStoreResultSet对象。 |
| callback |AsyncCallback&lt;[KvStoreResultSet](#kvstoreresultset8)&gt; | 是 |回调函数。返回与指定设备ID和key前缀匹配的KvStoreResultSet对象。 |
**示例:**
......@@ -4409,7 +4409,7 @@ getResultSet(deviceId: string, keyPrefix: string): Promise&lt;KvStoreResultSet&g
| 类型 | 说明 |
| ------ | ------- |
|Promise&lt;[KvStoreResultSet](#kvstoreresultset8)[]&gt; |Promise对象。返回与指定设备ID和key前缀匹配的KvStoreResultSet对象。|
|Promise&lt;[KvStoreResultSet](#kvstoreresultset8)&gt; |Promise对象。返回与指定设备ID和key前缀匹配的KvStoreResultSet对象。|
**示例:**
......@@ -4447,7 +4447,7 @@ getResultSet(query: Query, callback: AsyncCallback&lt;KvStoreResultSet&gt;): voi
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | ---- | ----------------------- |
| query |[Query](#query8) | 是 |表示查询对象。 |
| callback |AsyncCallback&lt;[KvStoreResultSet](#kvstoreresultset8)[]&gt; | 是 |回调函数,返回与指定Query对象匹配的KvStoreResultSet对象。 |
| callback |AsyncCallback&lt;[KvStoreResultSet](#kvstoreresultset8)&gt; | 是 |回调函数,返回与指定Query对象匹配的KvStoreResultSet对象。 |
**示例:**
......@@ -4504,7 +4504,7 @@ getResultSet(query: Query): Promise&lt;KvStoreResultSet&gt;
| 类型 | 说明 |
| ------ | ------- |
|Promise&lt;[KvStoreResultSet](#kvstoreresultset8)[]&gt; |Promise对象。返回与指定Query对象匹配的KvStoreResultSet对象。|
|Promise&lt;[KvStoreResultSet](#kvstoreresultset8)&gt; |Promise对象。返回与指定Query对象匹配的KvStoreResultSet对象。|
**示例:**
......@@ -4564,7 +4564,7 @@ getResultSet(deviceId: string, query: Query, callback: AsyncCallback&lt;KvStoreR
| ----- | ------ | ---- | ----------------------- |
| deviceId |string | 是 |KvStoreResultSet对象所属的设备ID。 |
| query |[Query](#query8) | 是 |表示查询对象。 |
| callback |AsyncCallback&lt;[KvStoreResultSet](#kvstoreresultset8)[]&gt; | 是 |回调函数。返回与指定设备ID和Query对象匹配的KvStoreResultSet对象。 |
| callback |AsyncCallback&lt;[KvStoreResultSet](#kvstoreresultset8)&gt; | 是 |回调函数。返回与指定设备ID和Query对象匹配的KvStoreResultSet对象。 |
**示例:**
......@@ -4621,7 +4621,7 @@ getResultSet(deviceId: string, query: Query): Promise&lt;KvStoreResultSet&gt;
| 类型 | 说明 |
| ------ | ------- |
|Promise&lt;[KvStoreResultSet](#kvstoreresultset8)[]&gt; |Promise对象。返回与指定设备ID和Query对象匹配的KvStoreResultSet对象。|
|Promise&lt;[KvStoreResultSet](#kvstoreresultset8)&gt; |Promise对象。返回与指定设备ID和Query对象匹配的KvStoreResultSet对象。|
**示例:**
......
......@@ -2269,7 +2269,7 @@ putBatch(entries: Entry[], callback: AsyncCallback&lt;void&gt;): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------ |
| entries | [Entry](#entry)[] | 是 | 表示要批量插入的键值对。 |
| callback | Asyncallback&lt;void&gt; | 是 | 回调函数。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**错误码:**
......@@ -2396,7 +2396,7 @@ putBatch(value: Array&lt;ValuesBucket&gt;, callback: AsyncCallback&lt;void&gt;):
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------ |
| value | Array&lt;[ValuesBucket](js-apis-data-ValuesBucket.md#valuesbucket)&gt; | 是 | 表示要插入的数据。 |
| callback | Asyncallback&lt;void&gt; | 是 | 回调函数。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**错误码:**
......@@ -2605,7 +2605,7 @@ delete(predicates: dataSharePredicates.DataSharePredicates, callback: AsyncCallb
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ----------------------------------------------- |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**错误码:**
......@@ -2651,7 +2651,7 @@ delete(predicates: dataSharePredicates.DataSharePredicates): Promise&lt;void&gt;
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ----------------------------------------------- |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
**返回值:**
......@@ -3566,7 +3566,7 @@ getResultSet(predicates: dataSharePredicates.DataSharePredicates, callback: Asyn
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
| callback | AsyncCallback&lt;[KVStoreResultSet](#kvstoreresultset)&gt; | 是 | 回调函数,获取与指定Predicates对象匹配的KVStoreResultSet对象。 |
**错误码:**
......@@ -3622,7 +3622,7 @@ getResultSet(predicates: dataSharePredicates.DataSharePredicates): Promise&lt;KV
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ----------------------------------------------- |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
**返回值:**
......@@ -5311,7 +5311,7 @@ getResultSet(deviceId: string, keyPrefix: string, callback: AsyncCallback&lt;KVS
| --------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| deviceId | string | 是 | 标识要查询其数据的设备。 |
| keyPrefix | string | 是 | 表示要匹配的键前缀。 |
| callback | AsyncCallback&lt;[KVStoreResultSet](#kvstoreresultset)[]&gt; | 是 | 回调函数。返回与指定设备ID和key前缀匹配的KVStoreResultSet对象。 |
| callback | AsyncCallback&lt;[KVStoreResultSet](#kvstoreresultset)&gt; | 是 | 回调函数。返回与指定设备ID和key前缀匹配的KVStoreResultSet对象。 |
**错误码:**
......@@ -5367,7 +5367,7 @@ getResultSet(deviceId: string, keyPrefix: string): Promise&lt;KVStoreResultSet&g
| 类型 | 说明 |
| ------------------------------------------------------ | ------------------------------------------------------------ |
| Promise&lt;[KVStoreResultSet](#kvstoreresultset)[]&gt; | Promise对象。返回与指定设备ID和key前缀匹配的KVStoreResultSet对象。 |
| Promise&lt;[KVStoreResultSet](#kvstoreresultset)&gt; | Promise对象。返回与指定设备ID和key前缀匹配的KVStoreResultSet对象。 |
**错误码:**
......@@ -5414,7 +5414,7 @@ getResultSet(deviceId: string, query: Query, callback: AsyncCallback&lt;KVStoreR
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| deviceId | string | 是 | KVStoreResultSet对象所属的设备ID。 |
| query | [Query](query) | 是 | 表示查询对象。 |
| callback | AsyncCallback&lt;[KVStoreResultSet](#kvstoreresultset)[]&gt; | 是 | 回调函数。返回与指定设备ID和Query对象匹配的KVStoreResultSet对象。 |
| callback | AsyncCallback&lt;[KVStoreResultSet](#kvstoreresultset)&gt; | 是 | 回调函数。返回与指定设备ID和Query对象匹配的KVStoreResultSet对象。 |
**错误码:**
......@@ -5491,7 +5491,7 @@ getResultSet(deviceId: string, query: Query): Promise&lt;KVStoreResultSet&gt;
| 类型 | 说明 |
| ------------------------------------------------------ | ------------------------------------------------------------ |
| Promise&lt;[KVStoreResultSet](#kvstoreresultset)[]&gt; | Promise对象。返回与指定设备ID和Query对象匹配的KVStoreResultSet对象。 |
| Promise&lt;[KVStoreResultSet](#kvstoreresultset)&gt; | Promise对象。返回与指定设备ID和Query对象匹配的KVStoreResultSet对象。 |
**错误码:**
......@@ -5561,7 +5561,7 @@ getResultSet(deviceId: string, predicates: dataSharePredicates.DataSharePredicat
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| deviceId | string | 是 | 标识要查询其数据的设备。 |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
| callback | AsyncCallback&lt;[KVStoreResultSet](#kvstoreresultset)&gt; | 是 | 回调函数,获取与指定Predicates对象匹配的KVStoreResultSet对象。 |
**错误码:**
......@@ -5618,7 +5618,7 @@ getResultSet(deviceId: string, predicates: dataSharePredicates.DataSharePredicat
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------------------------------ | ---- | ----------------------------------------------- |
| deviceId | string | 是 | 标识要查询其数据的设备。 |
| predicates | [DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md#datasharepredicates) | 是 | 指示筛选条件,当此参数为null时,应定义处理逻辑。 |
**返回值:**
......
# 企业设备信息管理
本模块提供企业设备信息管理能力,包括获取设备序列号等。仅企业设备管理员应用才能调用。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
import deviceInfo from '@ohos.enterprise.deviceInfo';
```
## deviceInfo.getDeviceSerial
getDeviceSerial(admin: Want, callback: AsyncCallback<string>): void
获取设备序列号,使用callback形式返回设备序列号。
**需要权限:** ohos.permission.ENTERPRISE_GET_DEVICE_INFO
**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
**系统API**: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------- |
| admin | [Want](js-apis-application-Want.md) | 是 | 设备管理员应用 |
| callback | AsyncCallback&lt;string&gt; | 是 | callback方式返回设备序列号 |
**错误码**
以下的错误码的详细介绍请参见[企业设备管理错误码](../errorcodes/errorcode-enterpriseDeviceManager.md)
| 类型 | 说明 |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | The application is not a administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
**示例:**
```js
let wantTemp = {
bundleName: "com.example.myapplication",
abilityName: "com.example.myapplication.MainAbility",
};
deviceInfo.getDeviceSerial(wantTemp, (error, result) => {
if (error != null) {
console.log("error code:" + error.code + " error message:" + error.message);
return;
}
console.log(result);
});
```
## deviceInfo.getDeviceSerial
getDeviceSerial(admin: Want, callback: AsyncCallback<string>): void
获取设备序列号,使用callback形式返回设备序列号。
**需要权限:** ohos.permission.ENTERPRISE_GET_DEVICE_INFO
**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
**系统API**: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ----------------------------------- | ---- | ------- |
| admin | [Want](js-apis-application-Want.md) | 是 | 设备管理员应用 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ------------------------- |
| Promise&lt;string&gt; | Promise方式返回设备序列号 |
**错误码**
以下的错误码的详细介绍请参见[企业设备管理错误码](../errorcodes/errorcode-enterpriseDeviceManager.md)
| 类型 | 说明 |
| ------- | ---------------------------------------------------------------------------- |
| 9200001 | The application is not a administrator of the device. |
| 9200002 | the administrator application does not have permission to manage the device. |
**示例:**
```js
let wantTemp = {
bundleName: "com.example.myapplication",
abilityName: "com.example.myapplication.MainAbility",
};
deviceInfo.getDeviceSerial(wantTemp).then((result) => {
console.log(result);
}).catch(error => {
console.log("error code:" + error.code + " error message:" + error.message);
});
```
\ No newline at end of file
......@@ -12,9 +12,9 @@ import faultLogger from '@ohos.faultLogger'
故障类型枚举。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.Hiview.FaultLogger。
**系统能力:** SystemCapability.HiviewDFX.Hiview.FaultLogger
| 名称 | 默认值 | 说明 |
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| NO_SPECIFIC | 0 | 不区分故障类型 |
| CPP_CRASH | 2 | C++程序故障类型 |
......@@ -25,9 +25,9 @@ import faultLogger from '@ohos.faultLogger'
故障信息数据结构,获取到的故障信息的数据结构。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.Hiview.FaultLogger。
**系统能力:** SystemCapability.HiviewDFX.Hiview.FaultLogger
| 名称 | 参数类型 | 说明 |
| 名称 | 类型 | 说明 |
| -------- | -------- | -------- |
| pid | number | 故障进程的进程id |
| uid | number | 故障进程的用户id |
......@@ -53,7 +53,7 @@ querySelfFaultLog(faultType: FaultType, callback: AsyncCallback&lt;Array&lt;Faul
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 |
| callback | AsyncCallbackArray&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | 是 | 回调函数,在回调函数中获取故障信息数组。<br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常,error返回错误提示字符串
| callback | AsyncCallback&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | 是 | 回调函数,在回调函数中获取故障信息数组。<br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常,error返回错误提示字符串
**示例:**
......@@ -138,13 +138,13 @@ query(faultType: FaultType, callback: AsyncCallback&lt;Array&lt;FaultLogInfo&gt;
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 |
| callback | AsyncCallbackArray&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | 是 | 回调函数,在回调函数中获取故障信息数组。<br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常,error返回错误提示字符串
| callback | AsyncCallback&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | 是 | 回调函数,在回调函数中获取故障信息数组。<br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常,error返回错误提示字符串
**错误码:**
以下错误码的详细介绍参见[ohos.faultLogger错误码](../errorcodes/errorcode-faultlogger.md)
| 错误码ID | 错误信息(此处仅提供错误抛出的关键信息) |
| 错误码ID | 错误信息 |
| --- | --- |
| 10600001 | The service is not running or broken |
......@@ -201,7 +201,7 @@ query(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&gt;
以下错误码的详细介绍参见[ohos.faultLogger错误码](../errorcodes/errorcode-faultlogger.md)
| 错误码ID | 错误信息(此处仅提供错误抛出的关键信息) |
| 错误码ID | 错误信息 |
| --- | --- |
| 10600001 | The service is not running or broken |
......
......@@ -41,735 +41,11 @@ import geoLocationManager from '@ohos.geoLocationManager';
```
## geoLocationManager.on('locationChange')
on(type: 'locationChange', request: LocationRequest, callback: Callback&lt;Location&gt;): void
开启位置变化订阅,并发起定位请求。定位结果按照[LocationRequest](#locationrequest)的属性进行上报,
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 |
| request | [LocationRequest](#locationrequest) | 是 | 设置位置请求参数。 |
| callback | Callback&lt;[Location](#location)&gt; | 是 | 接收位置变化状态变化监听。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301200 | Failed to obtain the geographical location. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var requestInfo = {'priority': 0x203, 'scenario': 0x300, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
var locationChange = (location) => {
console.log('locationChanger: data: ' + JSON.stringify(location));
};
try {
geoLocationManager.on('locationChange', requestInfo, locationChange);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.off('locationChange')
off(type: 'locationChange', callback?: Callback&lt;Location&gt;): void
关闭位置变化订阅,并删除对应的定位请求。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“locationChange”,表示位置变化。 |
| callback | Callback&lt;[Location](#location)&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301200 | Failed to obtain the geographical location. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var requestInfo = {'priority': 0x203, 'scenario': 0x300, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
var locationChange = (location) => {
console.log('locationChanger: data: ' + JSON.stringify(location));
};
try {
geoLocationManager.on('locationChange', requestInfo, locationChange);
geoLocationManager.off('locationChange', locationChange);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.on('locationEnabledChange')
on(type: 'locationEnabledChange', callback: Callback&lt;boolean&gt;): void
订阅位置服务状态变化。
**系统能力**:SystemCapability.Location.Location.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“locationEnabledChange”,表示位置服务状态。 |
| callback | Callback&lt;boolean&gt; | 是 | 接收位置服务状态变化监听。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var locationEnabledChange = (state) => {
console.log('locationEnabledChange: ' + JSON.stringify(state));
}
try {
geoLocationManager.on('locationEnabledChange', locationEnabledChange);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.off('locationEnabledChange')
off(type: 'locationEnabledChange', callback?: Callback&lt;boolean&gt;): void;
取消订阅位置服务状态变化。
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“locationEnabledChange”,表示位置服务状态。 |
| callback | Callback&lt;boolean&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var locationEnabledChange = (state) => {
console.log('locationEnabledChange: state: ' + JSON.stringify(state));
}
try {
geoLocationManager.on('locationEnabledChange', locationEnabledChange);
geoLocationManager.off('locationEnabledChange', locationEnabledChange);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.on('cachedGnssLocationsChange')
on(type: 'cachedGnssLocationsChange', request: CachedGnssLocationsRequest, callback: Callback&lt;Array&lt;Location&gt;&gt;): void;
订阅缓存GNSS定位结果上报事件。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“cachedGnssLocationsChange”,表示GNSS缓存定位结果上报。 |
| request | [CachedGnssLocationsRequest](#cachedgnsslocationsrequest) | 是 | GNSS缓存功能配置参数 |
| callback | Callback&lt;boolean&gt; | 是 | 接收GNSS缓存位置上报。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301200 | Failed to obtain the geographical location. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var cachedLocationsCb = (locations) => {
console.log('cachedGnssLocationsChange: locations: ' + JSON.stringify(locations));
}
var requestInfo = {'reportingPeriodSec': 10, 'wakeUpCacheQueueFull': true};
try {
geoLocationManager.on('cachedGnssLocationsChange', requestInfo, cachedLocationsCb);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.off('cachedGnssLocationsChange')
off(type: 'cachedGnssLocationsChange', callback?: Callback&lt;Array&lt;Location&gt;&gt;): void;
取消订阅缓存GNSS定位结果上报事件。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“cachedGnssLocationsChange”,表示GNSS缓存定位结果上报。 |
| callback | Callback&lt;boolean&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301200 | Failed to obtain the geographical location. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var cachedLocationsCb = (locations) => {
console.log('cachedGnssLocationsChange: locations: ' + JSON.stringify(locations));
}
var requestInfo = {'reportingPeriodSec': 10, 'wakeUpCacheQueueFull': true};
try {
geoLocationManager.on('cachedGnssLocationsChange', requestInfo, cachedLocationsCb);
geoLocationManager.off('cachedGnssLocationsChange');
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.on('satelliteStatusChange')
on(type: 'satelliteStatusChange', callback: Callback&lt;SatelliteStatusInfo&gt;): void;
订阅GNSS卫星状态信息上报事件。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“satelliteStatusChange”,表示订阅GNSS卫星状态信息上报。 |
| callback | Callback&lt;[SatelliteStatusInfo](#satellitestatusinfo)&gt; | 是 | 接收GNSS卫星状态信息上报。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var gnssStatusCb = (satelliteStatusInfo) => {
console.log('satelliteStatusChange: ' + JSON.stringify(satelliteStatusInfo));
}
try {
geoLocationManager.on('satelliteStatusChange', gnssStatusCb);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.off('satelliteStatusChange')
off(type: 'satelliteStatusChange', callback?: Callback&lt;SatelliteStatusInfo&gt;): void;
取消订阅GNSS卫星状态信息上报事件。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“satelliteStatusChange”,表示订阅GNSS卫星状态信息上报。 |
| callback | Callback&lt;[SatelliteStatusInfo](#satellitestatusinfo)&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var gnssStatusCb = (satelliteStatusInfo) => {
console.log('satelliteStatusChange: ' + JSON.stringify(satelliteStatusInfo));
}
try {
geoLocationManager.on('satelliteStatusChange', gnssStatusCb);
geoLocationManager.off('satelliteStatusChange', gnssStatusCb);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.on('nmeaMessage')
on(type: 'nmeaMessage', callback: Callback&lt;string&gt;): void;
订阅GNSS NMEA信息上报事件。
**需要权限**:ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“nmeaMessage”,表示订阅GNSS&nbsp;NMEA信息上报。 |
| callback | Callback&lt;string&gt; | 是 | 接收GNSS&nbsp;NMEA信息上报。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var nmeaCb = (str) => {
console.log('nmeaMessage: ' + JSON.stringify(str));
}
try {
geoLocationManager.on('nmeaMessage', nmeaCb );
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.off('nmeaMessage')
off(type: 'nmeaMessage', callback?: Callback&lt;string&gt;): void;
取消订阅GNSS NMEA信息上报事件。
**需要权限**:ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“nmeaMessage”,表示订阅GNSS&nbsp;NMEA信息上报。 |
| callback | Callback&lt;string&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var nmeaCb = (str) => {
console.log('nmeaMessage: ' + JSON.stringify(str));
}
try {
geoLocationManager.on('nmeaMessage', nmeaCb);
geoLocationManager.off('nmeaMessage', nmeaCb);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.on('gnssFenceStatusChange')
on(type: 'gnssFenceStatusChange', request: GeofenceRequest, want: WantAgent): void;
添加一个围栏,并订阅地理围栏事件。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Geofence
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“gnssFenceStatusChange”,表示订阅围栏事件上报。 |
| request | [GeofenceRequest](#geofencerequest) | 是 | 围栏的配置参数。 |
| want | WantAgent | 是 | 用于接收地理围栏事件上报(进出围栏)。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301600 | Failed to operate the geofence. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
import wantAgent from '@ohos.wantAgent';
let wantAgentInfo = {
wants: [
{
bundleName: "com.example.myapplication",
abilityName: "com.example.myapplication.MainAbility",
action: "action1",
}
],
operationType: wantAgent.OperationType.START_ABILITY,
requestCode: 0,
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG],
};
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
var requestInfo = {'priority': 0x201, 'scenario': 0x301, "geofence": {"latitude": 121, "longitude": 26, "radius": 100, "expiration": 10000}};
try {
geoLocationManager.on('gnssFenceStatusChange', requestInfo, wantAgentObj);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
});
```
## geoLocationManager.off('gnssFenceStatusChange')
off(type: 'gnssFenceStatusChange', request: GeofenceRequest, want: WantAgent): void;
删除一个围栏,并取消订阅该围栏事件。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Geofence
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“gnssFenceStatusChange”,表示订阅围栏事件上报。 |
| request | [GeofenceRequest](#geofencerequest) | 是 | 围栏的配置参数。 |
| want | WantAgent | 是 | 用于接收地理围栏事件上报(进出围栏)。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301600 | Failed to operate the geofence. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
import wantAgent from '@ohos.wantAgent';
let wantAgentInfo = {
wants: [
{
bundleName: "com.example.myapplication",
abilityName: "com.example.myapplication.MainAbility",
action: "action1",
}
],
operationType: wantAgent.OperationType.START_ABILITY,
requestCode: 0,
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
};
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
var requestInfo = {'priority': 0x201, 'scenario': 0x301, "geofence": {"latitude": 121, "longitude": 26, "radius": 100, "expiration": 10000}};
try {
geoLocationManager.on('gnssFenceStatusChange', requestInfo, wantAgentObj);
geoLocationManager.off('gnssFenceStatusChange', requestInfo, wantAgentObj);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
});
```
## geoLocationManager.on('countryCodeChange')
on(type: 'countryCodeChange', callback: Callback&lt;CountryCode&gt;): void;
订阅国家码信息变化事件。
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“countryCodeChange”,表示订阅国家码信息变化事件。 |
| callback | Callback&lt;[CountryCode](#countrycode)&gt; | 是 | 接收国家码信息上报。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301500 | Failed to query the area information. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var callback = (code) => {
console.log('countryCodeChange: ' + JSON.stringify(code));
}
try {
geoLocationManager.on('countryCodeChange', callback);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.off('countryCodeChange')
off(type: 'countryCodeChange', callback?: Callback&lt;CountryCode&gt;): void;
取消订阅国家码变化事件。
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 设置事件类型。type为“countryCodeChange”,表示取消订阅国家码信息变化事件。 |
| callback | Callback&lt;[CountryCode](#countrycode)&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301500 | Failed to query the area information. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var callback = (code) => {
console.log('countryCodeChange: ' + JSON.stringify(code));
}
try {
geoLocationManager.on('countryCodeChange', callback);
geoLocationManager.off('countryCodeChange', callback);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.getCurrentLocation
getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback&lt;Location&gt;): void
获取当前位置,使用callback回调异步返回结果。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| request | [CurrentLocationRequest](#currentlocationrequest) | 是 | 设置位置请求参数。 |
| callback | AsyncCallback&lt;[Location](#location)&gt; | 是 | 用来接收位置信息的回调。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301200 | Failed to obtain the geographical location. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var requestInfo = {'priority': 0x203, 'scenario': 0x300,'maxAccuracy': 0};
var locationChange = (err, location) => {
if (err) {
console.log('locationChanger: err=' + JSON.stringify(err));
}
if (location) {
console.log('locationChanger: location=' + JSON.stringify(location));
}
};
try {
geoLocationManager.getCurrentLocation(requestInfo, locationChange);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.getCurrentLocation
getCurrentLocation(callback: AsyncCallback&lt;Location&gt;): void;
获取当前位置,通过callback方式异步返回结果。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;[Location](#location)&gt; | 是 | 用来接收位置信息的回调。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301200 | Failed to obtain the geographical location. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var locationChange = (err, location) => {
if (err) {
console.log('locationChanger: err=' + JSON.stringify(err));
}
if (location) {
console.log('locationChanger: location=' + JSON.stringify(location));
}
};
try {
geoLocationManager.getCurrentLocation(locationChange);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.getCurrentLocation
getCurrentLocation(request?: CurrentLocationRequest): Promise&lt;Location&gt;
## geoLocationManager.on('countryCodeChange')
获取当前位置,使用Promise方式异步返回结果。
on(type: 'countryCodeChange', callback: Callback&lt;CountryCode&gt;): void;
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
订阅国家码信息变化事件。
**系统能力**:SystemCapability.Location.Location.Core
......@@ -777,13 +53,8 @@ getCurrentLocation(request?: CurrentLocationRequest): Promise&lt;Location&gt;
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| request | [CurrentLocationRequest](#currentlocationrequest) | 否 | 设置位置请求参数。 |
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;[Location](#location)&gt; | [Location](#location) | NA | 返回位置信息。 |
| type | string | 是 | 设置事件类型。type为“countryCodeChange”,表示订阅国家码信息变化事件。 |
| callback | Callback&lt;[CountryCode](#countrycode)&gt; | 是 | 接收国家码信息上报。 |
**错误码**
......@@ -793,73 +64,39 @@ getCurrentLocation(request?: CurrentLocationRequest): Promise&lt;Location&gt;
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301200 | Failed to obtain the geographical location. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var requestInfo = {'priority': 0x203, 'scenario': 0x300,'maxAccuracy': 0};
geoLocationManager.getCurrentLocation(requestInfo).then((result) => {
console.log('current location: ' + JSON.stringify(result));
})
.catch((error) => {
console.log('promise, getCurrentLocation: error=' + JSON.stringify(error));
});
```
## geoLocationManager.getLastLocation
getLastLocation(): Location
获取上一次位置。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Core
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Location | [Location](#location) | NA | 位置信息。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
|3301500 | Failed to query the area information. |
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301200 |Failed to obtain the geographical location. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var callback = (code) => {
console.log('countryCodeChange: ' + JSON.stringify(code));
}
try {
var location = geoLocationManager.getLastLocation();
geoLocationManager.on('countryCodeChange', callback);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.isLocationEnabled
## geoLocationManager.off('countryCodeChange')
isLocationEnabled(): boolean
off(type: 'countryCodeChange', callback?: Callback&lt;CountryCode&gt;): void;
判断位置服务是否已经使能
取消订阅国家码变化事件
**系统能力**:SystemCapability.Location.Location.Core
**返回值**
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| boolean | boolean | NA | 位置服务是否已经使能。 |
| type | string | 是 | 设置事件类型。type为“countryCodeChange”,表示取消订阅国家码信息变化事件。 |
| callback | Callback&lt;[CountryCode](#countrycode)&gt; | 否 | 需要取消订阅的回调函数。若无此参数,则取消当前类型的所有订阅。 |
**错误码**
......@@ -867,98 +104,26 @@ isLocationEnabled(): boolean
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301500 | Failed to query the area information. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var callback = (code) => {
console.log('countryCodeChange: ' + JSON.stringify(code));
}
try {
var locationEnabled = geoLocationManager.isLocationEnabled();
geoLocationManager.on('countryCodeChange', callback);
geoLocationManager.off('countryCodeChange', callback);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.requestEnableLocation
requestEnableLocation(callback: AsyncCallback&lt;boolean&gt;): void
请求使能位置服务,使用callback回调异步返回结果。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | callback返回true表示用户同意使能位置服务,false表示用户不同意使能位置服务。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301700 | No response to the request. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
geoLocationManager.requestEnableLocation((err, data) => {
if (err) {
console.log('requestEnableLocation: err=' + JSON.stringify(err));
}
if (data) {
console.log('requestEnableLocation: data=' + JSON.stringify(data));
}
});
```
## geoLocationManager.requestEnableLocation
requestEnableLocation(): Promise&lt;boolean&gt;
请求使能位置服务,使用Promise方式异步返回结果。
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Location.Location.Core
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;boolean&gt; | boolean | NA | 返回true表示用户同意使能位置服务,false表示用户不同意使能位置服务。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301700 | No response to the request. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
geoLocationManager.requestEnableLocation().then((result) => {
console.log('promise, requestEnableLocation: ' + JSON.stringify(result));
})
.catch((error) => {
console.log('promise, requestEnableLocation: error=' + JSON.stringify(error));
});
```
## geoLocationManager.enableLocation
enableLocation(callback: AsyncCallback&lt;void&gt;): void;
......@@ -1037,9 +202,9 @@ enableLocation(): Promise&lt;void&gt;
## geoLocationManager.disableLocation
disableLocation(): void;
disableLocation(callback: AsyncCallback&lt;void&gt;): void;
关闭位置服务。
关闭位置服务,使用callback回调异步返回结果
**系统API**:此接口为系统接口,三方应用不支持调用。
......@@ -1047,41 +212,11 @@ disableLocation(): void;
**系统能力**:SystemCapability.Location.Location.Core
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
try {
geoLocationManager.disableLocation();
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.getAddressesFromLocation
getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback&lt;Array&lt;GeoAddress&gt;&gt;): void
调用逆地理编码服务,将坐标转换为地理描述,使用callback回调异步返回结果。
**系统能力**:SystemCapability.Location.Location.Geocoder
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 |
| callback | AsyncCallback&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 是 | 接收逆地理编码结果的回调函数。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 用来接收错误码的回调。 |
**错误码**
......@@ -1089,44 +224,41 @@ getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301300 | Reverse geocoding query failed. |
|3301000 | Location service is unavailable. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var reverseGeocodeRequest = {"latitude": 31.12, "longitude": 121.11, "maxItems": 1};
geoLocationManager.getAddressesFromLocation(reverseGeocodeRequest, (err, data) => {
if (err) {
console.log('getAddressesFromLocation: err=' + JSON.stringify(err));
}
if (data) {
console.log('getAddressesFromLocation: data=' + JSON.stringify(data));
}
});
try {
geoLocationManager.disableLocation((err, data) => {
if (err) {
console.log('disableLocation: err=' + JSON.stringify(err));
}
});
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.getAddressesFromLocation
## geoLocationManager.disableLocation
getAddressesFromLocation(request: ReverseGeoCodeRequest): Promise&lt;Array&lt;GeoAddress&gt;&gt;;
disableLocation(): Promise&lt;void&gt;
调用逆地理编码服务,将坐标转换为地理描述,使用Promise方式异步返回结果。
关闭位置服务,使用Promise方式异步返回结果。
**系统能力**:SystemCapability.Location.Location.Geocoder
**系统API**:此接口为系统接口,三方应用不支持调用。
**参数**
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| request | [ReverseGeoCodeRequest](#reversegeocoderequest) | 是 | 设置逆地理编码请求的相关参数。 |
**系统能力**:SystemCapability.Location.Location.Core
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | Array&lt;[GeoAddress](#geoaddress)&gt; | NA | 返回地理描述信息。 |
| Promise&lt;void&gt; | void | NA |返回错误码。 |
**错误码**
......@@ -1134,37 +266,37 @@ getAddressesFromLocation(request: ReverseGeoCodeRequest): Promise&lt;Array&lt;Ge
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301300 | Reverse geocoding query failed. |
|3301000 | Location service is unavailable. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var reverseGeocodeRequest = {"latitude": 31.12, "longitude": 121.11, "maxItems": 1};
geoLocationManager.getAddressesFromLocation(reverseGeocodeRequest).then((data) => {
console.log('getAddressesFromLocation: ' + JSON.stringify(data));
geoLocationManager.disableLocation().then((result) => {
console.log('promise, disableLocation succeed');
})
.catch((error) => {
console.log('promise, getAddressesFromLocation: error=' + JSON.stringify(error));
});
console.log('promise, disableLocation: error=' + JSON.stringify(error));
});
```
## geoLocationManager.getAddressesFromLocationName
## geoLocationManager.isLocationPrivacyConfirmed
getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback&lt;Array&lt;GeoAddress&gt;&gt;): void
isLocationPrivacyConfirmed(type : LocationPrivacyType, callback: AsyncCallback&lt;boolean&gt;): void;
调用地理编码服务,将地理描述转换为具体坐标,使用callback回调异步返回结果
查询用户是否同意定位服务隐私申明,是否同意启用定位服务。只有系统应用才能调用
**系统能力**:SystemCapability.Location.Location.Geocoder
**系统API**:此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 |
| callback | AsyncCallback&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 是 | 接收地理编码结果的回调函数。 |
| type | [LocationPrivacyType](#locationprivacytype)| 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 表示用户是否同意定位服务隐私申明。 |
**错误码**
......@@ -1172,44 +304,44 @@ getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback&lt
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301400 | Geocoding query failed. |
|3301000 | Location service is unavailable. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var geocodeRequest = {"description": "上海市浦东新区xx路xx号", "maxItems": 1};
geoLocationManager.getAddressesFromLocationName(geocodeRequest, (err, data) => {
geoLocationManager.isLocationPrivacyConfirmed(1, (err, result) => {
if (err) {
console.log('getAddressesFromLocationName: err=' + JSON.stringify(err));
console.log('isLocationPrivacyConfirmed: err=' + JSON.stringify(err));
}
if (data) {
console.log('getAddressesFromLocationName: data=' + JSON.stringify(data));
if (result) {
console.log('isLocationPrivacyConfirmed: result=' + JSON.stringify(result));
}
});
```
## geoLocationManager.getAddressesFromLocationName
## geoLocationManager.isLocationPrivacyConfirmed
getAddressesFromLocationName(request: GeoCodeRequest): Promise&lt;Array&lt;GeoAddress&gt;&gt;
isLocationPrivacyConfirmed(type : LocationPrivacyType,): Promise&lt;boolean&gt;;
调用地理编码服务,将地理描述转换为具体坐标,使用Promise方式异步返回结果
查询用户是否同意定位服务隐私申明,是否同意启用定位服务。只有系统应用才能调用
**系统能力**:SystemCapability.Location.Location.Geocoder
**系统API**:此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| request | [GeoCodeRequest](#geocoderequest) | 是 | 设置地理编码请求的相关参数。 |
| type | [LocationPrivacyType](#locationprivacytype) | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 |
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | Array&lt;[GeoAddress](#geoaddress)&gt; | NA | 返回地理编码查询结果。 |
| Promise&lt;boolean&gt; |boolean| NA | 表示用户是否同意定位服务隐私申明。 |
**错误码**
......@@ -1217,71 +349,37 @@ getAddressesFromLocationName(request: GeoCodeRequest): Promise&lt;Array&lt;GeoAd
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301400 | Geocoding query failed. |
|3301000 | Location service is unavailable. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var geocodeRequest = {"description": "上海市浦东新区xx路xx号", "maxItems": 1};
geoLocationManager.getAddressesFromLocationName(geocodeRequest).then((result) => {
console.log('getAddressesFromLocationName: ' + JSON.stringify(result));
})
.catch((error) => {
console.log('promise, getAddressesFromLocationName: error=' + JSON.stringify(error));
geoLocationManager.isLocationPrivacyConfirmed(1).then((result) => {
console.log('promise, isLocationPrivacyConfirmed: ' + JSON.stringify(result));
});
```
## geoLocationManager.isGeocoderAvailable
isGeocoderAvailable(): boolean;
判断(逆)地理编码服务状态。
**系统能力**:SystemCapability.Location.Location.Geocoder
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| boolean | boolean | NA | 返回(逆)地理编码服务是否可用。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
try {
var isAvailable = geoLocationManager.isGeocoderAvailable();
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
```
## geoLocationManager.setLocationPrivacyConfirmStatus
## geoLocationManager.getCachedGnssLocationsSize
setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed: boolean, callback: AsyncCallback&lt;void&gt;): void;
getCachedGnssLocationsSize(callback: AsyncCallback&lt;number&gt;): void;
设置用户勾选定位服务隐私申明的状态,记录用户是否同意启用定位服务。只有系统应用才能调用。
获取GNSS芯片缓存位置的个数
**系统API**:此接口为系统接口,三方应用不支持调用
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
**系统能力**:SystemCapability.Location.Location.Gnss
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;number&gt; | 是 | 用来接收GNSS芯片缓存位置个数的回调。 |
| type | [LocationPrivacyType](#locationprivacytype) | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 |
| isConfirmed | boolean | 是 | 表示用户是否同意定位服务隐私申明。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 接收错误码信息。 |
**错误码**
......@@ -1289,39 +387,44 @@ getCachedGnssLocationsSize(callback: AsyncCallback&lt;number&gt;): void;
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301000 | Location service is unavailable. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
geoLocationManager.getCachedGnssLocationsSize((err, size) => {
geoLocationManager.setLocationPrivacyConfirmStatus(1, true, (err, result) => {
if (err) {
console.log('getCachedGnssLocationsSize: err=' + JSON.stringify(err));
}
if (size) {
console.log('getCachedGnssLocationsSize: size=' + JSON.stringify(size));
console.log('setLocationPrivacyConfirmStatus: err=' + JSON.stringify(err));
}
});
```
## geoLocationManager.getCachedGnssLocationsSize
## geoLocationManager.setLocationPrivacyConfirmStatus
getCachedGnssLocationsSize(): Promise&lt;number&gt;;
setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed : boolean): Promise&lt;void&gt;;
获取GNSS芯片缓存位置的个数
设置用户勾选定位服务隐私申明的状态,记录用户是否同意启用定位服务。只有系统应用才能调用
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
**系统API**:此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.Location.Location.Gnss
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | [LocationPrivacyType](#locationprivacytype) | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 |
| isConfirmed | boolean | 是 | 表示用户是否同意定位服务隐私申明。 |
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;number&gt; | number | NA | 返回GNSS缓存位置的个数。 |
| Promise&lt;void&gt; |void|NA| 接收错误码。 |
**错误码**
......@@ -1329,37 +432,34 @@ getCachedGnssLocationsSize(): Promise&lt;number&gt;;
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301000 | Location service is unavailable. |
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
geoLocationManager.getCachedGnssLocationsSize().then((result) => {
console.log('promise, getCachedGnssLocationsSize: ' + JSON.stringify(result));
})
geoLocationManager.setLocationPrivacyConfirmStatus(1, true).then((result) => {
console.log('promise, setLocationPrivacyConfirmStatus succeed');
})
.catch((error) => {
console.log('promise, getCachedGnssLocationsSize: error=' + JSON.stringify(error));
console.log('promise, disableLocation: error=' + JSON.stringify(error));
});
```
## geoLocationManager.flushCachedGnssLocations
flushCachedGnssLocations(callback: AsyncCallback&lt;void&gt;): void;
## geoLocationManager.getCountryCode
读取并清空GNSS芯片所有缓存位置。
getCountryCode(callback: AsyncCallback&lt;CountryCode&gt;): void;
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
查询当前的国家码。
**系统能力**:SystemCapability.Location.Location.Gnss
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 用来接收错误码信息。 |
| callback | AsyncCallback&lt;[CountryCode](#countrycode)&gt; | 是 | 用来接收国家码。 |
**错误码**
......@@ -1367,37 +467,37 @@ flushCachedGnssLocations(callback: AsyncCallback&lt;void&gt;): void;
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301200 | Failed to obtain the geographical location. |
|3301000 | Location service is unavailable. |
|3301500 | Failed to query the area information.|
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
geoLocationManager.flushCachedGnssLocations((err, result) => {
geoLocationManager.getCountryCode((err, result) => {
if (err) {
console.log('flushCachedGnssLocations: err=' + JSON.stringify(err));
console.log('getCountryCode: err=' + JSON.stringify(err));
}
if (result) {
console.log('getCountryCode: result=' + JSON.stringify(result));
}
});
```
## geoLocationManager.flushCachedGnssLocations
flushCachedGnssLocations(): Promise&lt;void&gt;;
## geoLocationManager.getCountryCode
读取并清空GNSS芯片所有缓存位置。
getCountryCode(): Promise&lt;CountryCode&gt;;
**需要权限**:ohos.permission.APPROXIMATELY_LOCATION
查询当前的国家码。
**系统能力**:SystemCapability.Location.Location.Gnss
**系统能力**:SystemCapability.Location.Location.Core
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;void&gt; | void | NA | 接收错误码。 |
| Promise&lt;[CountryCode](#countrycode)&gt; | [CountryCode](#countrycode) | NA | 用来接收国家码。 |
**错误码**
......@@ -1405,37 +505,38 @@ flushCachedGnssLocations(): Promise&lt;void&gt;;
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off. |
|3301200 | Failed to obtain the geographical location. |
|3301000 | Location service is unavailable. |
|3301500 | Failed to query the area information.|
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
geoLocationManager.flushCachedGnssLocations().then((result) => {
console.log('promise, flushCachedGnssLocations success');
geoLocationManager.getCountryCode()
.then((result) => {
console.log('promise, getCountryCode: result=' + JSON.stringify(result));
})
.catch((error) => {
console.log('promise, flushCachedGnssLocations: error=' + JSON.stringify(error));
console.log('promise, getCountryCode: error=' + JSON.stringify(error));
});
```
## geoLocationManager.sendCommand
## geoLocationManager.enableLocationMock
sendCommand(command: LocationCommand, callback: AsyncCallback&lt;void&gt;): void;
enableLocationMock(callback: AsyncCallback&lt;void&gt;): void;
给位置服务子系统的各个部件发送扩展命令
使能位置模拟功能
**系统能力**:SystemCapability.Location.Location.Core
**系统API**:此接口为系统接口,三方应用不支持调用。
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| command | [LocationCommand](#locationcommand) | 是 | 指定目标场景,和将要发送的命令(字符串)。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 用来接收错误码。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
......@@ -1443,40 +544,35 @@ sendCommand(command: LocationCommand, callback: AsyncCallback&lt;void&gt;): void
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off.|
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var requestInfo = {'scenario': 0x301, 'command': "command_1"};
geoLocationManager.sendCommand(requestInfo, (err, result) => {
geoLocationManager.enableLocationMock((err, result) => {
if (err) {
console.log('sendCommand: err=' + JSON.stringify(err));
console.log('enableLocationMock: err=' + JSON.stringify(err));
}
});
```
## geoLocationManager.enableLocationMock
## geoLocationManager.sendCommand
sendCommand(command: LocationCommand): Promise&lt;void&gt;;
enableLocationMock(): Promise&lt;void&gt;;
给位置服务子系统的各个部件发送扩展命令
使能位置模拟功能
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| command | [LocationCommand](#locationcommand) | 是 | 指定目标场景,和将要发送的命令(字符串)。 |
**系统API**:此接口为系统接口,三方应用不支持调用。
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;void&gt; | void | NA | 接收错误码。 |
| Promise&lt;void&gt; | void|NA|用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
......@@ -1485,34 +581,39 @@ sendCommand(command: LocationCommand): Promise&lt;void&gt;;
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off.|
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var requestInfo = {'scenario': 0x301, 'command': "command_1"};
geoLocationManager.sendCommand(requestInfo).then((result) => {
console.log('promise, sendCommand success');
})
geoLocationManager.enableLocationMock()
.then((result) => {
console.log('promise, enableLocationMock: succeed');
})
.catch((error) => {
console.log('promise, sendCommand: error=' + JSON.stringify(error));
if (error) {
console.log('promise, enableLocationMock: error=' + JSON.stringify(error));
}
});
```
## geoLocationManager.getCountryCode
## geoLocationManager.disableLocationMock
getCountryCode(callback: AsyncCallback&lt;CountryCode&gt;): void;
disableLocationMock(callback: AsyncCallback&lt;void&gt;): void;
查询当前的国家码
去使能位置模拟功能
**系统能力**:SystemCapability.Location.Location.Core
**系统API**:此接口为系统接口,三方应用不支持调用。
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;[CountryCode](#countrycode)&gt; | 是 | 用来接收国家码。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
......@@ -1521,36 +622,35 @@ getCountryCode(callback: AsyncCallback&lt;CountryCode&gt;): void;
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301500 | Failed to query the area information.|
|3301100 | The location switch is off.|
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
geoLocationManager.getCountryCode((err, result) => {
geoLocationManager.disableLocationMock((err, result) => {
if (err) {
console.log('getCountryCode: err=' + JSON.stringify(err));
}
if (result) {
console.log('getCountryCode: result=' + JSON.stringify(result));
console.log('disableLocationMock: err=' + JSON.stringify(err));
}
});
```
## geoLocationManager.getCountryCode
## geoLocationManager.disableLocationMock
getCountryCode(): Promise&lt;CountryCode&gt;;
disableLocationMock(): Promise&lt;void&gt;;
查询当前的国家码
去使能位置模拟功能
**系统能力**:SystemCapability.Location.Location.Core
**系统API**:此接口为系统接口,三方应用不支持调用。
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;[CountryCode](#countrycode)&gt; | [CountryCode](#countrycode) | NA | 用来接收国家码。 |
| Promise&lt;void&gt; |void|NA| 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
......@@ -1559,32 +659,41 @@ getCountryCode(): Promise&lt;CountryCode&gt;;
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301500 | Failed to query the area information.|
|3301100 | The location switch is off.|
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
geoLocationManager.getCountryCode()
geoLocationManager.disableLocationMock()
.then((result) => {
console.log('promise, getCountryCode: result=' + JSON.stringify(result));
console.log('promise, disableLocationMock succeed');
})
.catch((error) => {
console.log('promise, getCountryCode: error=' + JSON.stringify(error));
if (error) {
console.log('promise, disableLocationMock: error=' + JSON.stringify(error));
}
});
```
## geoLocationManager.enableLocationMock
## geoLocationManager.setMockedLocations
enableLocationMock(): void;
setMockedLocations(config: LocationMockConfig, callback: AsyncCallback&lt;void&gt;): void;
使能位置模拟功能
设置模拟的位置信息,后面会以该接口中携带的时间间隔上报模拟位置
**系统能力**:SystemCapability.Location.Location.Core
**系统API**:此接口为系统接口,三方应用不支持调用。
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [LocationMockConfig](#locationmockconfig) | 是 | 指示位置模拟的配置参数,包含模拟位置上报的时间间隔和模拟位置数组。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
......@@ -1598,24 +707,43 @@ enableLocationMock(): void;
```ts
import geoLocationManager from '@ohos.geoLocationManager';
try {
geoLocationManager.enableLocationMock();
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
var locations = [
{"latitude": 30.12, "longitude": 120.11, "altitude": 123, "accuracy": 1, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 1000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 31.13, "longitude": 121.11, "altitude": 123, "accuracy": 2, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 2000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 32.14, "longitude": 122.11, "altitude": 123, "accuracy": 3, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 3000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 33.15, "longitude": 123.11, "altitude": 123, "accuracy": 4, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 4000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 34.16, "longitude": 124.11, "altitude": 123, "accuracy": 5, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 5000000000, "additionSize": 0, "isFromMock": true}
];
var config = {"timeInterval": 5, "locations": locations};
geoLocationManager.setMockedLocations(config, (err, data) => {
if (err) {
console.log('setMockedLocations: err=' + JSON.stringify(err));
}
});
```
## geoLocationManager.setMockedLocations
## geoLocationManager.disableLocationMock
disableLocationMock(): void;
setMockedLocations(config: LocationMockConfig): Promise&lt;void&gt;;
去使能位置模拟功能
设置模拟的位置信息,后面会以该接口中携带的时间间隔上报模拟位置
**系统能力**:SystemCapability.Location.Location.Core
**系统API**:此接口为系统接口,三方应用不支持调用。
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [LocationMockConfig](#locationmockconfig) | 是 | 指示位置模拟的配置参数,包含模拟位置上报的时间间隔和模拟位置数组。 |
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;void&gt; |void|NA| 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
......@@ -1629,19 +757,31 @@ disableLocationMock(): void;
```ts
import geoLocationManager from '@ohos.geoLocationManager';
try {
geoLocationManager.disableLocationMock();
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
var locations = [
{"latitude": 30.12, "longitude": 120.11, "altitude": 123, "accuracy": 1, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 1000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 31.13, "longitude": 121.11, "altitude": 123, "accuracy": 2, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 2000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 32.14, "longitude": 122.11, "altitude": 123, "accuracy": 3, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 3000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 33.15, "longitude": 123.11, "altitude": 123, "accuracy": 4, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 4000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 34.16, "longitude": 124.11, "altitude": 123, "accuracy": 5, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 5000000000, "additionSize": 0, "isFromMock": true}
];
var config = {"timeInterval": 5, "locations":locations};
geoLocationManager.setMockedLocations(config)
.then((result) => {
console.log('promise, setMockedLocations succeed');
})
.catch((error) => {
if (error) {
console.log('promise, setMockedLocations: error=' + JSON.stringify(error));
}
});
```
## geoLocationManager.setMockedLocations
## geoLocationManager.enableReverseGeocodingMock
setMockedLocations(config: LocationMockConfig): void;
enableReverseGeocodingMock(callback: AsyncCallback&lt;void&gt;): void;
设置模拟的位置信息,后面会以该接口中携带的时间间隔上报模拟位置
使能逆地理编码模拟功能
**系统能力**:SystemCapability.Location.Location.Core
......@@ -1651,7 +791,7 @@ setMockedLocations(config: LocationMockConfig): void;
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [LocationMockConfig](#locationmockconfig) | 是 | 指示位置模拟的配置参数,包含模拟位置上报的时间间隔和模拟位置数组。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
......@@ -1660,31 +800,22 @@ setMockedLocations(config: LocationMockConfig): void;
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
|3301000 | Location service is unavailable. |
|3301100 | The location switch is off.|
**示例**
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var locations = [
{"latitude": 30.12, "longitude": 120.11, "altitude": 123, "accuracy": 1, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 1000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 31.13, "longitude": 121.11, "altitude": 123, "accuracy": 2, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 2000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 32.14, "longitude": 122.11, "altitude": 123, "accuracy": 3, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 3000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 33.15, "longitude": 123.11, "altitude": 123, "accuracy": 4, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 4000000000, "additionSize": 0, "isFromMock": true},
{"latitude": 34.16, "longitude": 124.11, "altitude": 123, "accuracy": 5, "speed": 5.2, "timeStamp": 16594326109, "direction": 123.11, "timeSinceBoot": 5000000000, "additionSize": 0, "isFromMock": true}
];
var config = {"timeInterval": 5, "locations": locations};
try {
geoLocationManager.setMockedLocations(config);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
geoLocationManager.enableReverseGeocodingMock((err, data) => {
if (err) {
console.log('enableReverseGeocodingMock: err=' + JSON.stringify(err));
}
});
```
## geoLocationManager.enableReverseGeocodingMock
enableReverseGeocodingMock(): void;
enableReverseGeocodingMock(): Promise&lt;void&gt;;
使能逆地理编码模拟功能。
......@@ -1692,6 +823,12 @@ enableReverseGeocodingMock(): void;
**系统API**:此接口为系统接口,三方应用不支持调用。
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;void&gt; | void|NA|用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
......@@ -1704,17 +841,21 @@ enableReverseGeocodingMock(): void;
```ts
import geoLocationManager from '@ohos.geoLocationManager';
try {
geoLocationManager.enableReverseGeocodingMock();
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
geoLocationManager.enableReverseGeocodingMock()
.then((result) => {
console.log('promise, enableReverseGeocodingMock succeed');
})
.catch((error) => {
if (error) {
console.log('promise, enableReverseGeocodingMock: error=' + JSON.stringify(error));
}
});
```
## geoLocationManager.disableReverseGeocodingMock
disableReverseGeocodingMock(): void;
disableReverseGeocodingMock(callback: AsyncCallback&lt;void&gt;): void;
去使能逆地理编码模拟功能。
......@@ -1722,6 +863,12 @@ disableReverseGeocodingMock(): void;
**系统API**:此接口为系统接口,三方应用不支持调用。
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
以下错误码的详细介绍请参见[位置服务子系统错误码](../errorcodes/errorcode-geoLocationManager.md)
......@@ -1734,29 +881,29 @@ disableReverseGeocodingMock(): void;
```ts
import geoLocationManager from '@ohos.geoLocationManager';
try {
geoLocationManager.disableReverseGeocodingMock();
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
geoLocationManager.disableReverseGeocodingMock((err, result) => {
if (err) {
console.log('disableReverseGeocodingMock: err=' + JSON.stringify(err));
}
});
```
## geoLocationManager.setReverseGeocodingMockInfo
## geoLocationManager.disableReverseGeocodingMock
setReverseGeocodingMockInfo(mockInfos: Array&lt;ReverseGeocodingMockInfo&gt;): void;
disableReverseGeocodingMock(): Promise&lt;void&gt;;
设置逆地理编码模拟功能的配置信息,包含了位置和地名的对应关系,后续进行逆地理编码查询时如果位置信息位于配置信息中,就返回对应的地名
去使能逆地理编码模拟功能
**系统能力**:SystemCapability.Location.Location.Core
**系统API**:此接口为系统接口,三方应用不支持调用。
**参数**
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| mockInfos | Array&lt;[ReverseGeocodingMockInfo](#reversegeocodingmockinfo)&gt; | 是 | 指示逆地理编码模拟功能的配置参数数组。逆地理编码模拟功能的配置参数包含了一个位置和一个地名。 |
| Promise&lt;void&gt; |void|NA| 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
......@@ -1770,42 +917,34 @@ setReverseGeocodingMockInfo(mockInfos: Array&lt;ReverseGeocodingMockInfo&gt;): v
```ts
import geoLocationManager from '@ohos.geoLocationManager';
var mockInfos = [
{"location": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1, "isFromMock": true}},
];
try {
geoLocationManager.setReverseGeocodingMockInfo(mockInfos);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
geoLocationManager.disableReverseGeocodingMock()
.then((result) => {
console.log('promise, disableReverseGeocodingMock succeed');
})
.catch((error) => {
if (error) {
console.log('promise, disableReverseGeocodingMock: error=' + JSON.stringify(error));
}
});
```
## geoLocationManager.isLocationPrivacyConfirmed
isLocationPrivacyConfirmed(type: LocationPrivacyType): boolean;
## geoLocationManager.setReverseGeocodingMockInfo
查询用户是否同意定位服务隐私申明,是否同意启用定位服务。只有系统应用才能调用。
setReverseGeocodingMockInfo(mockInfos: Array&lt;ReverseGeocodingMockInfo&gt;, callback: AsyncCallback&lt;void&gt;): void;
**系统API**:此接口为系统接口,三方应用不支持调用
设置逆地理编码模拟功能的配置信息,包含了位置和地名的对应关系,后续进行逆地理编码查询时如果位置信息位于配置信息中,就返回对应的地名
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | [LocationPrivacyType](#locationprivacytype)| 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 |
**系统API**:此接口为系统接口,三方应用不支持调用。
**返回值**
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| boolean | boolean | NA | 表示用户是否同意定位服务隐私申明。 |
| mockInfos | Array&lt;[ReverseGeocodingMockInfo](#reversegeocodingmockinfo)&gt; | 是 | 指示逆地理编码模拟功能的配置参数数组。逆地理编码模拟功能的配置参数包含了一个位置和一个地名。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
......@@ -1819,32 +958,42 @@ isLocationPrivacyConfirmed(type: LocationPrivacyType): boolean;
```ts
import geoLocationManager from '@ohos.geoLocationManager';
try {
var isConfirmed = geoLocationManager.isLocationPrivacyConfirmed(1);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
var mockInfos = [
{"location": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1, "isFromMock": true}},
];
geoLocationManager.setReverseGeocodingMockInfo(mockInfos, (err, data) => {
if (err) {
console.log('promise, setReverseGeocodingMockInfo, err:' + JSON.stringify(err));
}
});
```
## geoLocationManager.setLocationPrivacyConfirmStatus
## geoLocationManager.setReverseGeocodingMockInfo
setLocationPrivacyConfirmStatus(type: LocationPrivacyType, isConfirmed: boolean): void;
setReverseGeocodingMockInfo(mockInfos: Array&lt;ReverseGeocodingMockInfo&gt;): Promise&lt;void&gt;;
设置用户勾选定位服务隐私申明的状态,记录用户是否同意启用定位服务。只有系统应用才能调用。
设置逆地理编码模拟功能的配置信息,包含了位置和地名的对应关系,后续进行逆地理编码查询时如果位置信息位于配置信息中,就返回对应的地名。
**系统能力**:SystemCapability.Location.Location.Core
**系统API**:此接口为系统接口,三方应用不支持调用。
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
**参数**
**系统能力**:SystemCapability.Location.Location.Core
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| mockInfos | Array&lt;[ReverseGeocodingMockInfo](#reversegeocodingmockinfo)&gt; | 是 | 指示逆地理编码模拟功能的配置信息数组。逆地理编码模拟功能的配置信息包含了一个位置和一个地名。 |
**参数**
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | [LocationPrivacyType](#locationprivacytype) | 是 | 指定隐私申明场景,例如开机向导中的隐私申明、开启网络定位功能时弹出的隐私申明等。 |
| isConfirmed | boolean | 是 | 表示用户是否同意定位服务隐私申明。 |
| Promise&lt;void&gt; | void | NA | 用来接收执行结果,如果执行成功就返回nullptr,否则就返回错误信息。 |
**错误码**
......@@ -1858,11 +1007,22 @@ setLocationPrivacyConfirmStatus(type: LocationPrivacyType, isConfirmed: boolean)
```ts
import geoLocationManager from '@ohos.geoLocationManager';
try {
geoLocationManager.setLocationPrivacyConfirmStatus(1, true);
} catch (err) {
console.error("errCode:" + err.code + ",errMessage:" + err.message);
}
var mockInfos = [
{"location": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 30.12, "longitude": 120.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 31.12, "longitude": 121.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 32.12, "longitude": 122.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 33.12, "longitude": 123.11, "maxItems": 1, "isFromMock": true}},
{"location": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1}, "geoAddress": {"locale": "zh", "latitude": 34.12, "longitude": 124.11, "maxItems": 1, "isFromMock": true}},
];
geoLocationManager.setReverseGeocodingMockInfo(mockInfos)
.then((result) => {
console.log('promise, setReverseGeocodingMockInfo succeed');
})
.catch((error) => {
if (error) {
console.log('promise, setReverseGeocodingMockInfo: error=' + JSON.stringify(error));
}
});
```
......@@ -2035,8 +1195,9 @@ GNSS围栏的配置参数。目前只支持圆形围栏。
| 名称 | 类型 | 可读|可写 | 说明 |
| -------- | -------- | -------- | -------- |
| scenario | [LocationRequestScenario](#locationrequestscenario) | 是 | 是 | 表示定位场景。 |
| geofence | [Geofence](#geofence)| 是 | 是 | 表示围栏信息。 |
| priority | [LocationRequestPriority](#locationrequestpriority) | 是 | 是 | 表示位置信息优先级。 |
| scenario | [LocationRequestScenario](#locationrequestscenario) | 是 | 是 | 表示定位场景。 |
| geofence | [Geofence](#geofence) | 是 | 是 | 表示围栏信息。 |
## LocationPrivacyType
......
......@@ -4,7 +4,36 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 从API Version 9开始,该接口不再维护,推荐使用新接口[geoLocationManager](js-apis-geoLocationManager.md)。
## 申请权限
应用在使用系统能力前,需要检查是否已经获取用户授权访问设备位置信息。如未获得授权,可以向用户申请需要的位置权限,申请方式请参考下文。
系统提供的定位权限有:
- ohos.permission.LOCATION
- ohos.permission.APPROXIMATELY_LOCATION
- ohos.permission.LOCATION_IN_BACKGROUND
访问设备的位置信息,必须申请权限,并且获得用户授权。
API9之前的版本,申请ohos.permission.LOCATION即可。
API9及之后的版本,需要申请ohos.permission.APPROXIMATELY_LOCATION或者同时申请ohos.permission.APPROXIMATELY_LOCATION和ohos.permission.LOCATION;无法单独申请ohos.permission.LOCATION。
| 使用的API版本 | 申请位置权限 | 申请结果 | 位置的精确度 |
| -------- | -------- | -------- | -------- |
| 小于9 | ohos.permission.LOCATION | 成功 | 获取到精准位置,精准度在米级别。 |
| 大于等于9 | ohos.permission.LOCATION | 失败 | 无法获取位置。 |
| 大于等于9 | ohos.permission.APPROXIMATELY_LOCATION | 成功 | 获取到模糊位置,精确度为5公里。 |
| 大于等于9 | ohos.permission.APPROXIMATELY_LOCATION和ohos.permission.LOCATION | 成功 | 获取到精准位置,精准度在米级别。 |
如果应用在后台运行时也需要访问设备位置,除需要将应用声明为允许后台运行外,还必须申请ohos.permission.LOCATION_IN_BACKGROUND权限,这样应用在切入后台之后,系统可以继续上报位置信息。
开发者可以在应用配置文件中声明所需要的权限,具体可参考[授权申请指导](../../security/accesstoken-guidelines.md)
## 导入模块
......@@ -12,15 +41,12 @@
import geolocation from '@ohos.geolocation';
```
## geolocation.on('locationChange')<sup>(deprecated) </sup>
## geolocation.on('locationChange')
on(type: 'locationChange', request: LocationRequest, callback: Callback&lt;Location&gt;): void
开启位置变化订阅,并发起定位请求。定位结果按照[LocationRequest](#locationrequest)的属性进行上报,
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.on('locationChange')](js-apis-geoLocationManager.md#geolocationmanageronlocationchange)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -47,15 +73,12 @@ on(type: 'locationChange', request: LocationRequest, callback: Callback&lt;Locat
```
## geolocation.off('locationChange')<sup>(deprecated) </sup>
## geolocation.off('locationChange')
off(type: 'locationChange', callback?: Callback&lt;Location&gt;): void
关闭位置变化订阅,并删除对应的定位请求。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.off('locationChange')](js-apis-geoLocationManager.md#geolocationmanagerofflocationchange)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -81,15 +104,12 @@ off(type: 'locationChange', callback?: Callback&lt;Location&gt;): void
```
## geolocation.on('locationServiceState')<sup>(deprecated) </sup>
## geolocation.on('locationServiceState')
on(type: 'locationServiceState', callback: Callback&lt;boolean&gt;): void
订阅位置服务状态变化。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.on('locationEnabledChange')](js-apis-geoLocationManager.md#geolocationmanageronlocationenabledchange)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -113,15 +133,12 @@ on(type: 'locationServiceState', callback: Callback&lt;boolean&gt;): void
```
## geolocation.off('locationServiceState')<sup>(deprecated) </sup>
## geolocation.off('locationServiceState')
off(type: 'locationServiceState', callback?: Callback&lt;boolean&gt;): void;
取消订阅位置服务状态变化。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.off('locationEnabledChange')](js-apis-geoLocationManager.md#geolocationmanagerofflocationenabledchange)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -146,16 +163,12 @@ off(type: 'locationServiceState', callback?: Callback&lt;boolean&gt;): void;
```
## geolocation.on('cachedGnssLocationsReporting')<sup>(deprecated) </sup>
## geolocation.on('cachedGnssLocationsReporting')<sup>8+</sup>
on(type: 'cachedGnssLocationsReporting', request: CachedGnssLocationsRequest, callback: Callback&lt;Array&lt;Location&gt;&gt;): void;
订阅缓存GNSS定位结果上报事件。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.on('cachedGnssLocationsChange')](js-apis-geoLocationManager.md#geolocationmanageroncachedgnsslocationschange)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
......@@ -181,16 +194,12 @@ on(type: 'cachedGnssLocationsReporting', request: CachedGnssLocationsRequest, ca
```
## geolocation.off('cachedGnssLocationsReporting')<sup>(deprecated) </sup>
## geolocation.off('cachedGnssLocationsReporting')<sup>8+</sup>
off(type: 'cachedGnssLocationsReporting', callback?: Callback&lt;Array&lt;Location&gt;&gt;): void;
取消订阅缓存GNSS定位结果上报事件。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.off('cachedGnssLocationsChange')](js-apis-geoLocationManager.md#geolocationmanageroffcachedgnsslocationschange)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
......@@ -216,16 +225,12 @@ off(type: 'cachedGnssLocationsReporting', callback?: Callback&lt;Array&lt;Locati
```
## geolocation.on('gnssStatusChange')<sup>(deprecated) </sup>
## geolocation.on('gnssStatusChange')<sup>8+</sup>
on(type: 'gnssStatusChange', callback: Callback&lt;SatelliteStatusInfo&gt;): void;
订阅GNSS卫星状态信息上报事件。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.on('satelliteStatusChange')](js-apis-geoLocationManager.md#geolocationmanageronsatellitestatuschange)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
......@@ -249,16 +254,12 @@ on(type: 'gnssStatusChange', callback: Callback&lt;SatelliteStatusInfo&gt;): voi
```
## geolocation.off('gnssStatusChange')<sup>(deprecated) </sup>
## geolocation.off('gnssStatusChange')<sup>8+</sup>
off(type: 'gnssStatusChange', callback?: Callback&lt;SatelliteStatusInfo&gt;): void;
取消订阅GNSS卫星状态信息上报事件。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.off('satelliteStatusChange')](js-apis-geoLocationManager.md#geolocationmanageroffsatellitestatuschange)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
......@@ -282,16 +283,12 @@ off(type: 'gnssStatusChange', callback?: Callback&lt;SatelliteStatusInfo&gt;): v
```
## geolocation.on('nmeaMessageChange')<sup>(deprecated) </sup>
## geolocation.on('nmeaMessageChange')<sup>8+</sup>
on(type: 'nmeaMessageChange', callback: Callback&lt;string&gt;): void;
订阅GNSS NMEA信息上报事件。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.on('nmeaMessage')](js-apis-geoLocationManager.md#geolocationmanageronnmeamessage)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
......@@ -315,16 +312,12 @@ on(type: 'nmeaMessageChange', callback: Callback&lt;string&gt;): void;
```
## geolocation.off('nmeaMessageChange')<sup>(deprecated) </sup>
## geolocation.off('nmeaMessageChange')<sup>8+</sup>
off(type: 'nmeaMessageChange', callback?: Callback&lt;string&gt;): void;
取消订阅GNSS NMEA信息上报事件。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.off('nmeaMessage')](js-apis-geoLocationManager.md#geolocationmanageroffnmeamessage)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
......@@ -349,16 +342,12 @@ off(type: 'nmeaMessageChange', callback?: Callback&lt;string&gt;): void;
```
## geolocation.on('fenceStatusChange')<sup>(deprecated) </sup>
## geolocation.on('fenceStatusChange')<sup>8+</sup>
on(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent): void;
添加一个围栏,并订阅地理围栏事件。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.on('gnssFenceStatusChange')](js-apis-geoLocationManager.md#geolocationmanagerongnssfencestatuschange)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geofence
......@@ -398,16 +387,12 @@ on(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent): void;
```
## geolocation.off('fenceStatusChange')<sup>(deprecated) </sup>
## geolocation.off('fenceStatusChange')<sup>8+</sup>
off(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent): void;
删除一个围栏,并取消订阅该围栏事件。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.off('gnssFenceStatusChange')](js-apis-geoLocationManager.md#geolocationmanageroffgnssfencestatuschange)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geofence
......@@ -447,14 +432,12 @@ off(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent): void;
```
## geolocation.getCurrentLocation<sup>(deprecated) </sup>
## geolocation.getCurrentLocation
getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback&lt;Location&gt;): void
获取当前位置,使用callback回调异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.getCurrentLocation](js-apis-geoLocationManager.md#geolocationmanagergetcurrentlocation)替代。
获取当前位置,使用callback回调异步返回结果。
**需要权限**:ohos.permission.LOCATION
......@@ -485,14 +468,12 @@ getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback&lt;L
```
## geolocation.getCurrentLocation<sup>(deprecated) </sup>
## geolocation.getCurrentLocation
getCurrentLocation(request?: CurrentLocationRequest): Promise&lt;Location&gt;
获取当前位置,使用Promise方式异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.getCurrentLocation](js-apis-geoLocationManager.md#geolocationmanagergetcurrentlocation-2)替代。
获取当前位置,使用Promise方式异步返回结果。
**需要权限**:ohos.permission.LOCATION
......@@ -506,9 +487,9 @@ getCurrentLocation(request?: CurrentLocationRequest): Promise&lt;Location&gt;
**返回值**
| 参数名 | 说明 |
| -------- | -------- |
| Promise&lt;[Location](#location)&gt; | 返回位置信息。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;[Location](#location)&gt; |[Location](#location)|NA| 返回位置信息。 |
**示例**
......@@ -522,15 +503,12 @@ getCurrentLocation(request?: CurrentLocationRequest): Promise&lt;Location&gt;
```
## geolocation.getLastLocation<sup>(deprecated) </sup>
## geolocation.getLastLocation
getLastLocation(callback: AsyncCallback&lt;Location&gt;): void
获取上一次位置,使用callback回调异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.getLastLocation](js-apis-geoLocationManager.md#geolocationmanagergetlastlocation)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -557,24 +535,21 @@ getLastLocation(callback: AsyncCallback&lt;Location&gt;): void
```
## geolocation.getLastLocation<sup>(deprecated) </sup>
## geolocation.getLastLocation
getLastLocation(): Promise&lt;Location&gt;
获取上一次位置,使用Promise方式异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.getLastLocation](js-apis-geoLocationManager.md#geolocationmanagergetlastlocation)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
**返回值**
| 参数名 | 说明 |
| -------- | -------- |
| Promise&lt;[Location](#location)&gt; | 返回上次位置信息。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;[Location](#location)&gt; | [Location](#location)|NA|返回上次位置信息。 |
**示例**
......@@ -587,14 +562,12 @@ getLastLocation(): Promise&lt;Location&gt;
```
## geolocation.isLocationEnabled<sup>(deprecated) </sup>
## geolocation.isLocationEnabled
isLocationEnabled(callback: AsyncCallback&lt;boolean&gt;): void
判断位置服务是否已经打开,使用callback回调异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.isLocationEnabled](js-apis-geoLocationManager.md#geolocationmanagerislocationenabled)替代。
判断位置服务是否已经打开,使用callback回调异步返回结果。
**需要权限**:ohos.permission.LOCATION
......@@ -621,24 +594,21 @@ isLocationEnabled(callback: AsyncCallback&lt;boolean&gt;): void
```
## geolocation.isLocationEnabled<sup>(deprecated) </sup>
## geolocation.isLocationEnabled
isLocationEnabled(): Promise&lt;boolean&gt;
判断位置服务是否已经开启,使用Promise方式异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.isLocationEnabled](js-apis-geoLocationManager.md#geolocationmanagerislocationenabled)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
**返回值**
| 参数名 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | 返回位置服务是否可用的状态。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;boolean&gt; | boolean|NA|返回位置服务是否可用的状态。 |
**示例**
......@@ -650,14 +620,12 @@ isLocationEnabled(): Promise&lt;boolean&gt;
```
## geolocation.requestEnableLocation<sup>(deprecated) </sup>
## geolocation.requestEnableLocation
requestEnableLocation(callback: AsyncCallback&lt;boolean&gt;): void
请求打开位置服务,使用callback回调异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.requestEnableLocation](js-apis-geoLocationManager.md#geolocationmanagerrequestenablelocation)替代。
请求打开位置服务,使用callback回调异步返回结果。
**需要权限**:ohos.permission.LOCATION
......@@ -684,24 +652,21 @@ requestEnableLocation(callback: AsyncCallback&lt;boolean&gt;): void
```
## geolocation.requestEnableLocation<sup>(deprecated) </sup>
## geolocation.requestEnableLocation
requestEnableLocation(): Promise&lt;boolean&gt;
请求打开位置服务,使用Promise方式异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.requestEnableLocation](js-apis-geoLocationManager.md#geolocationmanagerrequestenablelocation-1)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
**返回值**
| 参数名 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | 返回位置服务是否可用。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;boolean&gt; | boolean|NA|返回位置服务是否可用。 |
**示例**
......@@ -713,15 +678,132 @@ requestEnableLocation(): Promise&lt;boolean&gt;
```
## geolocation.isGeoServiceAvailable<sup>(deprecated) </sup>
## geolocation.enableLocation
enableLocation(callback: AsyncCallback&lt;boolean&gt;): void;
打开位置服务,使用callback回调异步返回结果。
**系统API**:此接口为系统接口,三方应用不支持调用。
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |
**示例**
```ts
import geolocation from '@ohos.geolocation';
geolocation.enableLocation((err, data) => {
if (err) {
console.log('enableLocation: err=' + JSON.stringify(err));
}
if (data) {
console.log('enableLocation: data=' + JSON.stringify(data));
}
});
```
## geolocation.enableLocation
enableLocation(): Promise&lt;boolean&gt;
打开位置服务,使用Promise方式异步返回结果。
**系统API**:此接口为系统接口,三方应用不支持调用。
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
**系统能力**:SystemCapability.Location.Location.Core
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;boolean&gt; | boolean|NA|返回位置服务是否可用。 |
**示例**
```ts
import geolocation from '@ohos.geolocation';
geolocation.enableLocation().then((result) => {
console.log('promise, enableLocation: ' + JSON.stringify(result));
});
```
## geolocation.disableLocation
disableLocation(callback: AsyncCallback&lt;boolean&gt;): void;
关闭位置服务,使用callback回调异步返回结果。
**系统API**:此接口为系统接口,三方应用不支持调用。
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
**系统能力**:SystemCapability.Location.Location.Core
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 用来接收位置服务状态的回调。 |
**示例**
```ts
import geolocation from '@ohos.geolocation';
geolocation.disableLocation((err, data) => {
if (err) {
console.log('disableLocation: err=' + JSON.stringify(err));
}
if (data) {
console.log('disableLocation: data=' + JSON.stringify(data));
}
});
```
## geolocation.disableLocation
disableLocation(): Promise&lt;boolean&gt;
关闭位置服务,使用Promise方式异步返回结果。
**系统API**:此接口为系统接口,三方应用不支持调用。
**需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS
**系统能力**:SystemCapability.Location.Location.Core
**返回值**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;boolean&gt; | boolean|NA|返回位置服务是否可用。 |
**示例**
```ts
import geolocation from '@ohos.geolocation';
geolocation.disableLocation().then((result) => {
console.log('promise, disableLocation: ' + JSON.stringify(result));
});
```
## geolocation.isGeoServiceAvailable
isGeoServiceAvailable(callback: AsyncCallback&lt;boolean&gt;): void
判断(逆)地理编码服务状态,使用callback回调异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.isGeocoderAvailable](js-apis-geoLocationManager.md#geolocationmanagerisgeocoderavailable)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geocoder
......@@ -747,24 +829,21 @@ isGeoServiceAvailable(callback: AsyncCallback&lt;boolean&gt;): void
```
## geolocation.isGeoServiceAvailable<sup>(deprecated) </sup>
## geolocation.isGeoServiceAvailable
isGeoServiceAvailable(): Promise&lt;boolean&gt;
判断(逆)地理编码服务状态,使用Promise方式异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.isGeocoderAvailable](js-apis-geoLocationManager.md#geolocationmanagerisgeocoderavailable)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geocoder
**返回值**
| 参数名 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | 返回地理编码服务是否可用的状态。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;boolean&gt; |boolean|NA| 返回地理编码服务是否可用的状态。 |
**示例**
......@@ -776,15 +855,12 @@ isGeoServiceAvailable(): Promise&lt;boolean&gt;
```
## geolocation.getAddressesFromLocation<sup>(deprecated) </sup>
## geolocation.getAddressesFromLocation
getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback&lt;Array&lt;GeoAddress&gt;&gt;): void
调用逆地理编码服务,将坐标转换为地理描述,使用callback回调异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.getAddressesFromLocation](js-apis-geoLocationManager.md#geolocationmanagergetaddressesfromlocation)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geocoder
......@@ -812,15 +888,12 @@ getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback
```
## geolocation.getAddressesFromLocation<sup>(deprecated) </sup>
## geolocation.getAddressesFromLocation
getAddressesFromLocation(request: ReverseGeoCodeRequest): Promise&lt;Array&lt;GeoAddress&gt;&gt;;
调用逆地理编码服务,将坐标转换为地理描述,使用Promise方式异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.getAddressesFromLocation](js-apis-geoLocationManager.md#geolocationmanagergetaddressesfromlocation-1)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geocoder
......@@ -833,9 +906,9 @@ getAddressesFromLocation(request: ReverseGeoCodeRequest): Promise&lt;Array&lt;Ge
**返回值**
| 参数名 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 返回地理描述信息。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | Array&lt;[GeoAddress](#geoaddress)&gt;|NA|返回地理描述信息。 |
**示例**
......@@ -848,15 +921,12 @@ getAddressesFromLocation(request: ReverseGeoCodeRequest): Promise&lt;Array&lt;Ge
```
## geolocation.getAddressesFromLocationName<sup>(deprecated) </sup>
## geolocation.getAddressesFromLocationName
getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback&lt;Array&lt;GeoAddress&gt;&gt;): void
调用地理编码服务,将地理描述转换为具体坐标,使用callback回调异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.getAddressesFromLocationName](js-apis-geoLocationManager.md#geolocationmanagergetaddressesfromlocationname)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geocoder
......@@ -884,15 +954,12 @@ getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback&lt
```
## geolocation.getAddressesFromLocationName<sup>(deprecated) </sup>
## geolocation.getAddressesFromLocationName
getAddressesFromLocationName(request: GeoCodeRequest): Promise&lt;Array&lt;GeoAddress&gt;&gt;
调用地理编码服务,将地理描述转换为具体坐标,使用Promise方式异步返回结果。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.getAddressesFromLocationName](js-apis-geoLocationManager.md#geolocationmanagergetaddressesfromlocationname-1)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geocoder
......@@ -905,9 +972,9 @@ getAddressesFromLocationName(request: GeoCodeRequest): Promise&lt;Array&lt;GeoAd
**返回值**
| 参数名 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | 设置接收地理编码请求的回调参数。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;Array&lt;[GeoAddress](#geoaddress)&gt;&gt; | Array&lt;[GeoAddress](#geoaddress)&gt;|NA|设置接收地理编码请求的回调参数。 |
**示例**
......@@ -920,16 +987,12 @@ getAddressesFromLocationName(request: GeoCodeRequest): Promise&lt;Array&lt;GeoAd
```
## geolocation.getCachedGnssLocationsSize<sup>(deprecated) </sup>
## geolocation.getCachedGnssLocationsSize<sup>8+</sup>
getCachedGnssLocationsSize(callback: AsyncCallback&lt;number&gt;): void;
获取GNSS芯片缓存位置的个数。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.getCachedGnssLocationsSize](js-apis-geoLocationManager.md#geolocationmanagergetcachedgnsslocationssize)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
......@@ -955,25 +1018,21 @@ getCachedGnssLocationsSize(callback: AsyncCallback&lt;number&gt;): void;
```
## geolocation.getCachedGnssLocationsSize<sup>(deprecated) </sup>
## geolocation.getCachedGnssLocationsSize<sup>8+</sup>
getCachedGnssLocationsSize(): Promise&lt;number&gt;;
获取GNSS芯片缓存位置的个数。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.getCachedGnssLocationsSize](js-apis-geoLocationManager.md#geolocationmanagergetcachedgnsslocationssize-1)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
**返回值**
| 参数名 | 说明 |
| -------- | -------- |
| Promise&lt;number&gt; | 返回GNSS缓存位置的个数。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;number&gt; | number|NA|返回GNSS缓存位置的个数。 |
**示例**
......@@ -985,16 +1044,12 @@ getCachedGnssLocationsSize(): Promise&lt;number&gt;;
```
## geolocation.flushCachedGnssLocations<sup>(deprecated) </sup>
## geolocation.flushCachedGnssLocations<sup>8+</sup>
flushCachedGnssLocations(callback: AsyncCallback&lt;boolean&gt;): void;
读取并清空GNSS芯片所有缓存位置。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.flushCachedGnssLocations](js-apis-geoLocationManager.md#geolocationmanagerflushcachedgnsslocations)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
......@@ -1020,25 +1075,21 @@ flushCachedGnssLocations(callback: AsyncCallback&lt;boolean&gt;): void;
```
## geolocation.flushCachedGnssLocations<sup>(deprecated) </sup>
## geolocation.flushCachedGnssLocations<sup>8+</sup>
flushCachedGnssLocations(): Promise&lt;boolean&gt;;
读取并清空GNSS芯片所有缓存位置。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.flushCachedGnssLocations](js-apis-geoLocationManager.md#geolocationmanagerflushcachedgnsslocations-1)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
**返回值**
| 参数名 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | 清空所有GNSS缓存位置是否成功。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;boolean&gt; |boolean|NA| 清空所有GNSS缓存位置是否成功。 |
**示例**
......@@ -1050,16 +1101,12 @@ flushCachedGnssLocations(): Promise&lt;boolean&gt;;
```
## geolocation.sendCommand<sup>(deprecated) </sup>
## geolocation.sendCommand<sup>8+</sup>
sendCommand(command: LocationCommand, callback: AsyncCallback&lt;boolean&gt;): void;
给位置服务子系统的各个部件发送扩展命令。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.sendCommand](js-apis-geoLocationManager.md#geolocationmanagersendcommand)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -1087,16 +1134,12 @@ sendCommand(command: LocationCommand, callback: AsyncCallback&lt;boolean&gt;): v
```
## geolocation.sendCommand<sup>(deprecated) </sup>
## geolocation.sendCommand<sup>8+</sup>
sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
给位置服务子系统的各个部件发送扩展命令。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.sendCommand](js-apis-geoLocationManager.md#geolocationmanagersendcommand)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -1109,9 +1152,9 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
**返回值**
| 参数名 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | 表示命令发送成功或失败。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| Promise&lt;boolean&gt; |boolean|NA| 表示命令发送成功或失败。 |
**示例**
......@@ -1124,12 +1167,10 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
```
## LocationRequestPriority<sup>(deprecated) </sup>
位置请求中位置信息优先级设置。
## LocationRequestPriority
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.LocationRequestPriority](js-apis-geoLocationManager.md#locationrequestpriority)替代。
位置请求中位置信息优先级设置。
**需要权限**:ohos.permission.LOCATION
......@@ -1143,13 +1184,10 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
| FIRST_FIX | 0x203 | 表示快速获取位置优先,如果应用希望快速拿到1个位置,可以将优先级设置为该字段。 |
## LocationRequestScenario<sup>(deprecated) </sup>
## LocationRequestScenario
位置请求中定位场景设置。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.LocationRequestScenario](js-apis-geoLocationManager.md#locationrequestscenario)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -1164,13 +1202,10 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
| NO_POWER | 0x305 | 表示无功耗功场景,这种场景下不会主动触发定位,会在其他应用定位时,才给当前应用返回位置。 |
## GeoLocationErrorCode<sup>(deprecated) </sup>
## GeoLocationErrorCode
位置服务中的错误码信息。
> **说明:**<br/>
> 从API version 9开始废弃。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -1186,13 +1221,10 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
| LOCATION_REQUEST_TIMEOUT_ERROR<sup>7+</sup> | 107 | 表示单次定位,没有在指定时间内返回位置。 |
## ReverseGeoCodeRequest<sup>(deprecated) </sup>
## ReverseGeoCodeRequest
逆地理编码请求接口。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.ReverseGeoCodeRequest](js-apis-geoLocationManager.md#reversegeocoderequest)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geocoder
......@@ -1205,13 +1237,10 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
| maxItems | number | 是 | 是 | 指定返回位置信息的最大个数。 |
## GeoCodeRequest<sup>(deprecated) </sup>
## GeoCodeRequest
地理编码请求接口。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.GeoCodeRequest](js-apis-geoLocationManager.md#geocoderequest)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geocoder
......@@ -1227,13 +1256,10 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
| maxLongitude | number | 是 | 是 | 表示最大经度信息。 |
## GeoAddress<sup>(deprecated) </sup>
## GeoAddress
地理编码类型。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.GeoAddress](js-apis-geoLocationManager.md#geoaddress)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geocoder
......@@ -1260,13 +1286,10 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
| descriptionsSize<sup>7+</sup> | number | 是 | 否 | 表示附加的描述信息数量。 |
## LocationRequest<sup>(deprecated) </sup>
## LocationRequest
位置信息请求类型。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.LocationRequest](js-apis-geoLocationManager.md#locationrequest)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -1280,13 +1303,10 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
| maxAccuracy | number | 是 | 是 | 表示精度信息。仅在精确位置功能场景下有效,模糊位置功能生效场景下该字段无意义。 |
## CurrentLocationRequest<sup>(deprecated) </sup>
## CurrentLocationRequest
当前位置信息请求类型。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.CurrentLocationRequest](js-apis-geoLocationManager.md#currentlocationrequest)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -1299,14 +1319,10 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
| timeoutMs | number | 是 | 是 | 表示超时时间,单位是毫秒,最小为1000毫秒。 |
## SatelliteStatusInfo<sup>(deprecated) </sup>
## SatelliteStatusInfo<sup>8+</sup>
卫星状态信息。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.SatelliteStatusInfo](js-apis-geoLocationManager.md#satellitestatusinfo)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
......@@ -1321,14 +1337,10 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
| carrierFrequencies | Array&lt;number&gt; | 是 | 否 | 表示载波频率。 |
## CachedGnssLocationsRequest<sup>(deprecated) </sup>
## CachedGnssLocationsRequest<sup>8+</sup>
请求订阅GNSS缓存位置上报功能接口的配置参数。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.CachedGnssLocationsRequest](js-apis-geoLocationManager.md#cachedgnsslocationsrequest)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Gnss
......@@ -1339,14 +1351,10 @@ sendCommand(command: LocationCommand): Promise&lt;boolean&gt;;
| wakeUpCacheQueueFull | boolean | 是 | 是 | true表示GNSS芯片底层缓存队列满之后会主动唤醒AP芯片,并把缓存位置上报给应用。<br/>false表示GNSS芯片底层缓存队列满之后不会主动唤醒AP芯片,会把缓存位置直接丢弃。 |
## Geofence<sup>(deprecated) </sup>
## Geofence<sup>8+</sup>
GNSS围栏的配置参数。目前只支持圆形围栏。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.Geofence](js-apis-geoLocationManager.md#geofence)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geofence
......@@ -1359,14 +1367,10 @@ GNSS围栏的配置参数。目前只支持圆形围栏。
| expiration | number | 是 | 是 | 围栏存活的时间,单位是毫秒。 |
## GeofenceRequest<sup>(deprecated) </sup>
## GeofenceRequest<sup>8+</sup>
请求添加GNSS围栏消息中携带的参数,包括定位优先级、定位场景和围栏信息。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.GeofenceRequest](js-apis-geoLocationManager.md#geofencerequest)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Geofence
......@@ -1378,14 +1382,10 @@ GNSS围栏的配置参数。目前只支持圆形围栏。
| geofence | [Geofence](#geofence)| 是 | 是 | 表示围栏信息。 |
## LocationPrivacyType<sup>(deprecated) </sup>
## LocationPrivacyType<sup>8+</sup>
定位服务隐私协议类型。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.LocationPrivacyType](js-apis-geoLocationManager.md#locationprivacytype)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -1397,14 +1397,10 @@ GNSS围栏的配置参数。目前只支持圆形围栏。
| CORE_LOCATION | 2 | 开启网络定位时弹出的隐私协议。 |
## LocationCommand<sup>(deprecated) </sup>
## LocationCommand<sup>8+</sup>
扩展命令结构体。
> **说明:**<br/>
> 从API version 8开始支持。
> 从API version 9开始废弃,建议使用[geoLocationManager.LocationCommand](js-apis-geoLocationManager.md#locationcommand)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......@@ -1415,13 +1411,10 @@ GNSS围栏的配置参数。目前只支持圆形围栏。
| command | string | 是 | 是 | 扩展命令字符串。 |
## Location<sup>(deprecated) </sup>
## Location
位置信息类型。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.Location](js-apis-geoLocationManager.md#location)替代。
**需要权限**:ohos.permission.LOCATION
**系统能力**:SystemCapability.Location.Location.Core
......
......@@ -234,7 +234,7 @@ hidebug.dumpHeapData("heap-20220216");
## hidebug.getServiceDump<sup>9+<sup>
getServiceDump(serviceid : number, fd : number, args : Array<string>) : void
getServiceDump(serviceid : number, fd : number, args : Array\<string>) : void
获取系统服务信息。
......@@ -248,7 +248,7 @@ getServiceDump(serviceid : number, fd : number, args : Array<string>) : void
| -------- | ------ | ---- | ------------------------------------------------------------ |
| serviceid | number | 是 | 基于该用户输入的service id获取系统服务信息。|
| fd | number | 是 | 文件描述符,该接口会往该fd中写入数据。|
| args | Array<string> | 是 | 系统服务的Dump接口所对应的参数列表。|
| args | Array\<string> | 是 | 系统服务的Dump接口所对应的参数列表。|
**示例:**
......
......@@ -45,7 +45,7 @@ hilog.isLoggable(0x0001, "testTag", hilog.LogLevel.INFO);
**系统能力:** SystemCapability.HiviewDFX.HiLog
| 名称 | 默认值 | 说明 |
| 名称 | | 说明 |
| ----- | ------ | ------------------------------------------------------------ |
| DEBUG | 3 | 详细的流程记录,通过该级别的日志可以更详细地分析业务流程和定位分析问题。 |
| INFO | 4 | 用于记录业务关键流程节点,可以还原业务的主要运行过程;<br/>用于记录可预料的非正常情况信息,如无网络信号、登录失败等。<br/>这些日志都应该由该业务内处于支配地位的模块来记录,避免在多个被调用的模块或低级函数中重复记录。 |
......
......@@ -19,7 +19,7 @@ import hiSysEvent from '@ohos.hiSysEvent';
**系统能力:** SystemCapability.HiviewDFX.HiSysEvent
| 名称 | 默认值 | 说明 |
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| FAULT | 1 | 错误事件类型。 |
| STATISTIC | 2 | 统计事件类型。 |
......@@ -32,7 +32,7 @@ import hiSysEvent from '@ohos.hiSysEvent';
**系统能力:** SystemCapability.HiviewDFX.HiSysEvent
| 参数名 | 类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| domain | string | 是 | 事件领域。 |
| name | string | 是 | 事件名称。 |
......@@ -168,7 +168,7 @@ try {
**系统能力:** SystemCapability.HiviewDFX.HiSysEvent
| 名称 | 默认值 | 说明 |
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| WHOLE_WORD | 1 | 全词匹配类型。 |
| PREFIX | 2 | 前缀匹配类型。 |
......@@ -180,7 +180,7 @@ try {
**系统能力:** SystemCapability.HiviewDFX.HiSysEvent
| 参数名 | 类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| domain | string | 是 | 事件领域。 |
| name | string | 是 | 事件名称。 |
......@@ -193,7 +193,7 @@ try {
**系统能力:** SystemCapability.HiviewDFX.HiSysEvent
| 参数名 | 类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| rules | [WatchRule](#watchrule)[] | 是 | 订阅对象数组,每个订阅者对象包含多个订阅规则。 |
| onEvent | function | 是 | 订阅事件的回调方法(info: [SysEventInfo](#syseventinfo)) => void。 |
......@@ -307,7 +307,7 @@ try {
**系统能力:** SystemCapability.HiviewDFX.HiSysEvent
| 参数名 | 类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| beginTime | number | 是 | 查询的系统事件起始时间(13位时间戳)。 |
| endTime | number | 是 | 查询的系统事件结束时间(13位时间戳)。 |
......@@ -319,7 +319,7 @@ try {
**系统能力:** SystemCapability.HiviewDFX.HiSysEvent
| 参数名 | 类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| domain | string | 是 | 查询包含的事件领域。 |
| names | string[] | 是 | 查询所包含的多个事件名称,每个查询规则对象包含多个系统事件名称。 |
......@@ -330,7 +330,7 @@ try {
**系统能力:** SystemCapability.HiviewDFX.HiSysEvent
| 参数名 | 类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| onQuery | function | 是 | 返回查询到的系统事件的回调方法(infos: [SysEventInfo](#syseventinfo)[]) => void。 |
| onComplete | function | 是 | 查询结果统计的回调方法(reason: number, total: number) => void。 |
......
......@@ -18,7 +18,7 @@ import hiTraceChain from '@ohos.hiTraceChain';
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiTrace。
| 名称 | 默认值 | 说明 |
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| DEFAULT | 0 | 缺省标志。 |
| INCLUDE_ASYNC | 1 | 异步调用标志。启动跟踪时,缺省只跟踪同步调用。设置该标志,同时跟踪同步、异步调用。 |
......@@ -35,7 +35,7 @@ import hiTraceChain from '@ohos.hiTraceChain';
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiTrace。
| 名称 | 默认值 | 说明 |
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| CS | 0 | 客户端发送类型,标识client侧的发送埋点。 |
| CR | 1 | 客户端接收类型,标识client侧的接收埋点。 |
......@@ -49,7 +49,7 @@ import hiTraceChain from '@ohos.hiTraceChain';
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiTrace。
| 名称 | 默认值 | 说明 |
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| DEFAULT | 0 | 缺省通信类型 |
| THREAD | 1 | 线程间通信类型 |
......@@ -62,7 +62,7 @@ import hiTraceChain from '@ohos.hiTraceChain';
**系统能力:** 以下各项对应的系统能力均为SystemCapability.HiviewDFX.HiTrace。
| 参数名 | 类型 | 必填 | 说明 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| chainId | bigint | 是 | 跟踪链标识。 |
| spanId | number | 否 | 分支标识。 |
......
......@@ -613,7 +613,7 @@ try {
showSoftKeyboard(callback: AsyncCallback&lt;void&gt;): void
显示软键盘。使用callback异步回调。
显示软键盘。需要与输入框绑定使用。当点击输入框后,才可通过该接口的调用显示出当前输入法的软键盘。使用callback异步回调。
**需要权限:** ohos.permission.CONNECT_IME_ABILITY
......@@ -648,9 +648,7 @@ inputMethodController.showSoftKeyboard((err) => {
### showSoftKeyboard<sup>9+</sup>
showSoftKeyboard(): Promise&lt;void&gt;
显示软键盘,使用Promise异步回调。
显示软键盘。需要与输入框绑定使用。当点击输入框后,才可通过该接口的调用显示出当前输入法的软键盘。使用Promise异步回调。
**需要权限:** ohos.permission.CONNECT_IME_ABILITY
......@@ -836,7 +834,7 @@ on(type: 'imeChange', callback: (inputMethodProperty: InputMethodProperty, input
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。<br/>-type为‘imeChange’时表示订阅输入法及子类型变化监听事件。 |
| callback | [InputMethodProperty](#inputmethodproperty8), [InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype) | 是 | 回调函数,返回输入法属性对象及输入法子类型对象。 |
| callback | (inputMethodProperty: [InputMethodProperty](#inputmethodproperty8), inputMethodSubtype: [InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)) => void | 是 | 回调函数,返回输入法属性对象及输入法子类型对象。 |
**示例:**
......@@ -859,7 +857,7 @@ off(type: 'imeChange', callback?: (inputMethodProperty: InputMethodProperty, inp
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。<br/>-type为‘imeChange’时表示取消订阅输入法及子类型变化监听事件。 |
| callback | [InputMethodProperty](#inputmethodproperty8), [InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype) | 否 | 回调函数,返回取消订阅的输入法属性对象及输入法子类型对象。 |
| callback | (inputMethodProperty: [InputMethodProperty](#inputmethodproperty8), inputMethodSubtype: [InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)) => void | 否 | 回调函数,返回取消订阅的输入法属性对象及输入法子类型对象。 |
**示例:**
......
......@@ -192,7 +192,7 @@ media.getFileAssets(imagesFetchOp).then(function(fetchFileResult) {
### on<sup>8+</sup>
on(type: 'deviceChange'|'albumChange'|'imageChange'|'audioChange'|'videoChange'|'fileChange'|'remoteFileChange', callback: Callback&lt;void&gt;): void
on(type: 'deviceChange'&#124;'albumChange'&#124;'imageChange'&#124;'audioChange'&#124;'videoChange'&#124;'fileChange'&#124;'remoteFileChange', callback: Callback&lt;void&gt;): void
打开媒体库变更通知,使用callback方式返回异步结果。
......@@ -214,7 +214,7 @@ media.on('imageChange', () => {
```
### off<sup>8+</sup>
off(type: 'deviceChange'|'albumChange'|'imageChange'|'audioChange'|'videoChange'|'fileChange'|'remoteFileChange', callback?: Callback&lt;void&gt;): void
off(type: 'deviceChange'&#124;'albumChange'&#124;'imageChange'&#124;'audioChange'&#124;'videoChange'&#124;'fileChange'&#124;'remoteFileChange', callback?: Callback&lt;void&gt;): void
关闭媒体库变更通知,使用callback方式返回异步结果。
......@@ -2471,25 +2471,25 @@ async function example() {
| 名称 | 值 | 说明 |
| ------------- | ------------------- | ---------------------------------------------------------- |
| ID | file_id | 文件编号 |
| RELATIVE_PATH | relative_path | 相对公共目录路径 |
| DISPLAY_NAME | display_name | 显示名字 |
| PARENT | parent | 父目录id |
| MIME_TYPE | mime_type | 文件扩展属性 |
| MEDIA_TYPE | media_type | 媒体类型 |
| SIZE | size | 文件大小(单位:字节) |
| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值) |
| DATE_TAKEN | date_taken | 拍摄日期(文件拍照时间到1970年1月1日的秒数值) |
| TITLE | title | 文件标题 |
| ARTIST | artist | 作者 |
| AUDIOALBUM | audio_album | 专辑 |
| DURATION | duration | 持续时间(单位:毫秒) |
| WIDTH | width | 图片宽度(单位:像素) |
| HEIGHT | height | 图片高度(单位:像素) |
| ORIENTATION | orientation | 图片显示方向,即顺时针旋转角度,如0,90,180。(单位:度) |
| ALBUM_ID | bucket_id | 文件所归属的相册编号 |
| ALBUM_NAME | bucket_display_name | 文件所归属相册名称 |
| ID | "file_id" | 文件编号 |
| RELATIVE_PATH | "relative_path" | 相对公共目录路径 |
| DISPLAY_NAME | "display_name" | 显示名字 |
| PARENT | "parent" | 父目录id |
| MIME_TYPE | "mime_type" | 文件扩展属性 |
| MEDIA_TYPE | "media_type" | 媒体类型 |
| SIZE | "size" | 文件大小(单位:字节) |
| DATE_ADDED | "date_added" | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | "date_modified" | 修改日期(修改文件时间到1970年1月1日的秒数值) |
| DATE_TAKEN | "date_taken" | 拍摄日期(文件拍照时间到1970年1月1日的秒数值) |
| TITLE | "title" | 文件标题 |
| ARTIST | "artist" | 作者 |
| AUDIOALBUM | "audio_album" | 专辑 |
| DURATION | "duration" | 持续时间(单位:毫秒) |
| WIDTH | "width" | 图片宽度(单位:像素) |
| HEIGHT | "height" | 图片高度(单位:像素) |
| ORIENTATION | "orientation" | 图片显示方向,即顺时针旋转角度,如0,90,180。(单位:度) |
| ALBUM_ID | "bucket_id" | 文件所归属的相册编号 |
| ALBUM_NAME | "bucket_display_name" | 文件所归属相册名称 |
## DirectoryType<sup>8+</sup>
......@@ -2575,7 +2575,7 @@ async function example() {
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----- | ------ | ---- | ---- | -------------------- |
| type | string | 是 | 是 | 媒体类型,包括:image, video, media,当前仅支持media类型 |
| type | 'image' &#124; 'video' &#124; 'media' | 是 | 是 | 媒体类型,包括:image, video, media,当前仅支持media类型 |
| count | number | 是 | 是 | 媒体选择,count = 1表示单选,count大于1表示多选。 |
......@@ -14,11 +14,6 @@ import mediaquery from '@ohos.mediaquery'
```
## 权限
## mediaquery.matchMediaSync
matchMediaSync(condition: string): MediaQueryListener
......@@ -28,19 +23,22 @@ matchMediaSync(condition: string): MediaQueryListener
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | ---------------------------------------- |
| condition | string | 是 | 媒体事件的匹配条件,具体可参考[媒体查询语法规则](../../ui/ui-ts-layout-mediaquery.md#语法规则)。 |
**返回值:**
| 类型 | 说明 |
| ------------------ | ---------------------- |
| MediaQueryListener | 媒体事件监听句柄,用于注册和去注册监听回调。 |
**示例:**
```js
```js
let listener = mediaquery.matchMediaSync('(orientation: landscape)'); //监听横屏事件
```
```
## MediaQueryListener
......@@ -66,12 +64,14 @@ on(type: 'change', callback: Callback&lt;MediaQueryResult&gt;): void
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | ---- | ---------------- |
| type | string | 是 | 必须填写字符串'change'。 |
| callback | Callback&lt;MediaQueryResult&gt; | 是 | 向媒体查询注册的回调 |
**示例:**
详见[off示例](#off)
......@@ -84,12 +84,14 @@ off(type: 'change', callback?: Callback&lt;MediaQueryResult&gt;): void
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | ---- | ----------------------------- |
| type | boolean | 是 | 必须填写字符串'change'。 |
| callback | Callback&lt;MediaQueryResult&gt; | 否 | 需要去注册的回调,如果参数缺省则去注册该句柄下所有的回调。 |
**示例:**
```js
import mediaquery from '@ohos.mediaquery'
......
......@@ -30,7 +30,7 @@ showToast(options: ShowToastOptions): void
以下错误码的详细介绍请参见[ohos.promptAction(弹窗)](../errorcodes/errorcode-promptAction.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
......@@ -86,7 +86,7 @@ showDialog(options: ShowDialogOptions): Promise&lt;ShowDialogSuccessResponse&gt;
以下错误码的详细介绍请参见[ohos.promptAction(弹窗)](../errorcodes/errorcode-promptAction.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
......@@ -140,7 +140,7 @@ showDialog(options: ShowDialogOptions, callback: AsyncCallback&lt;ShowDialogSucc
以下错误码的详细介绍请参见[ohos.promptAction(弹窗)](../errorcodes/errorcode-promptAction.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
......@@ -216,7 +216,7 @@ showActionMenu(options: ActionMenuOptions, callback: AsyncCallback&lt;ActionMenu
以下错误码的详细介绍请参见[ohos.promptAction(弹窗)](../errorcodes/errorcode-promptAction.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
......@@ -274,7 +274,7 @@ showActionMenu(options: ActionMenuOptions): Promise&lt;ActionMenuSuccessResponse
以下错误码的详细介绍请参见[ohos.promptAction(弹窗)](../errorcodes/errorcode-promptAction.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
......
......@@ -38,7 +38,7 @@ pushUrl(options: RouterOptions): Promise&lt;void&gt;
以下错误码的详细介绍请参见[ohos.router(页面路由)](../errorcodes/errorcode-router.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
| 100002 | Uri error. The uri of router is not exist. |
......@@ -87,7 +87,7 @@ pushUrl(options: RouterOptions, callback: AsyncCallback&lt;void&gt;): void
以下错误码的详细介绍请参见[ohos.router(页面路由)](../errorcodes/errorcode-router.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
| 100002 | Uri error. The uri of router is not exist. |
......@@ -141,7 +141,7 @@ pushUrl(options: RouterOptions, mode: RouterMode): Promise&lt;void&gt;
以下错误码的详细介绍请参见[ohos.router(页面路由)](../errorcodes/errorcode-router.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
| 100002 | Uri error. The uri of router is not exist. |
......@@ -191,7 +191,7 @@ pushUrl(options: RouterOptions, mode: RouterMode, callback: AsyncCallback&lt;voi
以下错误码的详细介绍请参见[ohos.router(页面路由)](../errorcodes/errorcode-router.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
| 100002 | Uri error. The uri of router is not exist. |
......@@ -245,7 +245,7 @@ replaceUrl(options: RouterOptions): Promise&lt;void&gt;
以下错误码的详细介绍请参见[ohos.router(页面路由)](../errorcodes/errorcode-router.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
| 200002 | Uri error. The uri of router is not exist. |
......@@ -290,7 +290,7 @@ replaceUrl(options: RouterOptions, callback: AsyncCallback&lt;void&gt;): void
以下错误码的详细介绍请参见[ohos.router(页面路由)](../errorcodes/errorcode-router.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
| 200002 | Uri error. The uri of router is not exist. |
......@@ -342,7 +342,7 @@ replaceUrl(options: RouterOptions, mode: RouterMode): Promise&lt;void&gt;
以下错误码的详细介绍请参见[ohos.router(页面路由)](../errorcodes/errorcode-router.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
| 200002 | Uri error. The uri of router is not exist. |
......@@ -388,7 +388,7 @@ replaceUrl(options: RouterOptions, mode: RouterMode, callback: AsyncCallback&lt;
以下错误码的详细介绍请参见[ohos.router(页面路由)](../errorcodes/errorcode-router.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
| 200002 | Uri error. The uri of router is not exist. |
......@@ -522,7 +522,7 @@ enableBackPageAlert(options: EnableAlertOptions): void
以下错误码的详细介绍请参见[ohos.router(页面路由)](../errorcodes/errorcode-router.md)错误码。
| 错误码ID | 错误信息 |
| 错误码ID | 错误信息 |
| --------- | ------- |
| 100001 | Internal error. |
......
# 地理位置
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> - 从API Version 7 开始,该接口不再维护,推荐使用新接口[`@ohos.geolocation`](js-apis-geolocation.md)。
>
> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> - 从API Version 9开始,该接口不再维护,推荐使用新接口[geoLocationManager](js-apis-geoLocationManager.md)。
## 导入模块
......@@ -18,15 +19,12 @@ import geolocation from '@system.geolocation';
ohos.permission.LOCATION
## geolocation.getLocation<sup>(deprecated) </sup>
## geolocation.getLocation
getLocation(Object): void
获取设备的地理位置。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.getCurrentLocation](js-apis-geoLocationManager.md#geolocationmanagergetcurrentlocation)替代。
**系统能力:** SystemCapability.Location.Location.Lite
**参数:**
......@@ -77,15 +75,12 @@ export default {
```
## geolocation.getLocationType<sup>(deprecated) </sup>
## geolocation.getLocationType
getLocationType(Object): void
获取当前设备支持的定位类型。
> **说明:**<br/>
> 从API version 9开始废弃。
**系统能力:** SystemCapability.Location.Location.Lite
**参数:**
......@@ -120,15 +115,12 @@ export default {
```
## geolocation.subscribe<sup>(deprecated) </sup>
## geolocation.subscribe
subscribe(Object): void
订阅设备的地理位置信息。多次调用的话,只有最后一次的调用生效。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.on('locationChange')](js-apis-geoLocationManager.md#geolocationmanageronlocationchange)替代。
**系统能力:** SystemCapability.Location.Location.Lite
**参数:**
......@@ -175,15 +167,12 @@ export default {
```
## geolocation.unsubscribe<sup>(deprecated) </sup>
## geolocation.unsubscribe
unsubscribe(): void
取消订阅设备的地理位置信息。
> **说明:**<br/>
> 从API version 9开始废弃,建议使用[geoLocationManager.off('locationChange')](js-apis-geoLocationManager.md#geolocationmanagerofflocationchange)替代。
**系统能力:** SystemCapability.Location.Location.Lite
**示例:**
......@@ -197,15 +186,12 @@ export default {
```
## geolocation.getSupportedCoordTypes<sup>(deprecated) </sup>
## geolocation.getSupportedCoordTypes
getSupportedCoordTypes(): Array&lt;string&gt;
获取设备支持的坐标系类型。
> **说明:**<br/>
> 从API version 9开始废弃。
**系统能力:** SystemCapability.Location.Location.Lite
**返回值:**
......
......@@ -453,7 +453,7 @@ setTimezone(timezone: string, callback: AsyncCallback&lt;void&gt;): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------- | ---- | -------------------------- |
| timezone | string | 是 | 系统时区。 |
| timezone | string | 是 | 系统时区。 具体可见[支持的系统时区](#支持的系统时区) |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**示例:**
......@@ -482,7 +482,7 @@ setTimezone(timezone: string): Promise&lt;void&gt;
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------ | ---- | ---------- |
| timezone | string | 是 | 系统时区。 |
| timezone | string | 是 | 系统时区。具体可见[支持的系统时区](#支持的系统时区) |
**返回值:**
......@@ -512,7 +512,7 @@ getTimezone(callback: AsyncCallback&lt;string&gt;): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------- | ---- | ------------------------ |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回系统时区。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回系统时区。具体可见[支持的系统时区](#支持的系统时区) |
**示例:**
......@@ -538,7 +538,7 @@ getTimezone(): Promise&lt;string&gt;
| 类型 | 说明 |
| --------------------- | ------------------------------------- |
| Promise&lt;string&gt; | Promise对象,返回系统时区。 |
| Promise&lt;string&gt; | Promise对象,返回系统时区。具体可见[支持的系统时区](#支持的系统时区) |
**示例:**
......@@ -548,4 +548,42 @@ systemTime.getTimezone().then((data) => {
}).catch((error) => {
console.error(`Failed to get system time zone. Cause:` + JSON.stringify(error));
});
```
\ No newline at end of file
```
## 支持的系统时区
支持的系统时区及各时区与0时区相比的偏移量(单位:h)可见下表。
| 时区 | 偏移量 |
| ------------------------------ | --------------------- |
| Antarctica/McMurdo | 12 |
| America/Argentina/Buenos_Aires | -3 |
| Australia/Sydney | 10 |
| America/Noronha | -2 |
| America/St_Johns | -3 |
| Africa/Kinshasa | 1 |
| America/Santiago | -3 |
| Asia/Shanghai | 8 |
| Asia/Nicosia | 3 |
| Europe/Berlin | 2 |
| America/Guayaquil | -5 |
| Europe/Madrid | 2 |
| Pacific/Pohnpei | 11 |
| America/Godthab | -2 |
| Asia/Jakarta | 7 |
| Pacific/Tarawa | 12 |
| Asia/Almaty | 6 |
| Pacific/Majuro | 12 |
| Asia/Ulaanbaatar | 8 |
| America/Mexico_City | -5 |
| Asia/Kuala_Lumpur | 8 |
| Pacific/Auckland | 12 |
| Pacific/Tahiti | -10 |
| Pacific/Port_Moresby | 10 |
| Asia/Gaza | 3 |
| Europe/Lisbon | 1 |
| Europe/Moscow | 3 |
| Europe/Kiev | 3 |
| Pacific/Wake | 12 |
| America/New_York | -4 |
| Asia/Tashkent | 5 |
\ No newline at end of file
......@@ -2,336 +2,356 @@
本模块主要由系统定时器功能组成。开发者可以使用定时功能实现定时服务,如闹钟等。
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
>- 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>- 本模块接口为系统接口,三方应用不支持调用。
> **说明:**
>
> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> - 本模块接口为系统接口。
## 导入模块
```
```js
import systemTimer from '@ohos.systemTimer';
```
## 常量
支持创建的定时器类型。
| 名称 | 类型 | 值 | 说明 |
| ------------------- | ------ | ---- | ---------------------------- |
| TIMER_TYPE_REALTIME | number | 1 | 系统启动时间定时器。 |
| TIMER_TYPE_WAKEUP | number | 2 | 唤醒定时器。 |
| TIMER_TYPE_EXACT | number | 4 | 精准定时器。 |
| TIMER_TYPE_IDLE | number | 8 | IDLE模式定时器(暂不支持)。 |
## TimerOptions
创建系统定时器的初始化选项。
**系统能力:** SystemCapability.MiscServices.Time
| 名称 | 类型 | 必填 | 说明 |
| --------- | --------------------------------- | ---- | ------------------------------------------------------------ |
| type | number | 是 | 定时器类型。<br>取值为1时,表示为系统启动时间定时器;<br>取值为2时,表示为唤醒定时器;<br>取值为4时,表示为精准定时器;<br>取值为5时,表示为IDLE模式定时器(暂不支持)。 |
| repeat | boolean | 是 | true为循环定时器,false为单次定时器。 |
| interval | number | 否 | 如果是循环定时器,repeat值应大于5000毫秒,非重复定时器置为0。 |
| wantAgent | [WantAgent](js-apis-wantAgent.md) | 否 | 设置通知的WantAgent,定时器到期后通知。(支持拉起应用MainAbility,暂不支持拉起ServiceAbility。) |
| callback | number | 是 | 以回调函数的形式返回定时器的ID。 |
## systemTimer.createTimer
createTimer(options: TimerOptions, callback: AsyncCallback&lt;number&gt;): void
创建定时器。
创建定时器,使用callback异步回调
**系统能力:** SystemCapability.MiscServices.Time
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------| ---- | --------------------------------------------------------------------------- |
| options | [TimerOptions](#timeroptions) | 是 | 创建系统定时器,包括定时器类型,是否循环触发,间隔时间,WantAgent通知机制。 |
**返回值:**
| 类型 | 说明 |
| ------------------------- | ------------------------------------------------------------ |
| syncCallback&lt;number&gt;| 以回调函数的形式返回定时器的ID。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------- | ---- | ------------------------------------------------------------ |
| options | [TimerOptions](#timeroptions) | 是 | 创建系统定时器的初始化选项,包括定时器类型、是否循环触发、间隔时间、WantAgent通知机制等。 |
| callback | AsyncCallback&lt;number> | 是 | 回调函数,返回定时器的ID。 |
**示例:**
```js
```js
export default {
systemTimer () {
var options = {
let options = {
type: systemTimer.TIMER_TYPE_REALTIME,
repeat: false
}
};
systemTimer.createTimer(options, (error, data) => {
if (error) {
console.error(`failed to systemTime.createTimer ` + JSON.stringify(error));
console.error(`Failed to create timer. Cause:` + JSON.stringify(error));
return;
}
console.log(`systemTime.createTimer success data : ` + JSON.stringify(data));
console.log(`Succeeded in creating timer. Data:` + JSON.stringify(data));
});
}
}
```
```
## systemTimer.createTimer
createTimer(options: TimerOptions): Promise&lt;number&gt;
创建定时器。
创建定时器,使用Promise异步回调
**系统能力:** SystemCapability.MiscServices.Time
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------| ---- | --------------------------------------------------------------------------- |
| options | [TimerOptions](#timeroptions) | 是 | 创建系统定时器,包括定时器类型,是否循环触发,间隔时间,WantAgent通知机制。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ----------------------------- | ---- | ------------------------------------------------------------ |
| options | [TimerOptions](#timeroptions) | 是 | 创建系统定时器的初始化选项,包括定时器类型、是否循环触发、间隔时间、WantAgent通知机制等。 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ------------------------------------------------------------ |
| Promise&lt;number&gt; | 以Promise形式返回定时器的ID。 |
| 类型 | 说明 |
| --------------------- | ----------------------------- |
| Promise&lt;number&gt; | Promise对象,返回定时器的ID。 |
**示例:**
```js
```js
export default {
systemTimer () {
var options = {
let options = {
type: systemTimer.TIMER_TYPE_REALTIME,
repeat:false
}
};
systemTimer.createTimer(options).then((data) => {
console.log(`systemTime.createTimer success data : ` + JSON.stringify(data));
console.log(`Succeeded in creating timer. Data:` + JSON.stringify(data));
}).catch((error) => {
console.error(`failed to systemTime.createTimer because ` + JSON.stringify(error));
console.error(`Failed to create timer. Cause:` + JSON.stringify(error));
});
}
}
```
```
## systemTimer.startTimer
startTimer(timer: number, triggerTime: number, callback: AsyncCallback&lt;void&gt;): void
开始定时器。
开始定时器,使用callback异步回调
**系统能力:** SystemCapability.MiscServices.Time
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | ------------------------------------------------------------ |
| timer | number | 是 | 定时器的ID。 |
| triggerTime | number | 是 | 定时器的触发时间,单位:毫秒。 |
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ---------------------- | ---- | ------------------------------ |
| timer | number | 是 | 定时器的ID。 |
| triggerTime | number | 是 | 定时器的触发时间,单位:毫秒。 |
| callback | AsyncCallback&lt;void> | 是 | 回调函数。 |
**示例:**
```js
```js
export default {
async systemTimer () {
var options = {
let options = {
type: systemTimer.TIMER_TYPE_REALTIME,
repeat:false
}
let timerId = await systemTimer.createTimer(options)
let triggerTime = new Date().getTime()
triggerTime += 3000
systemTimer.startTimer(timerId, triggerTime, (error, data) => {
if (error) {
console.error(`failed to systemTime.startTimer ` + JSON.stringify(error));
return;
}
console.log(`systemTime.startTimer success data : ` + JSON.stringify(data));
});
let timerId = await systemTimer.createTimer(options)
let triggerTime = new Date().getTime()
triggerTime += 3000
systemTimer.startTimer(timerId, triggerTime, (error, data) => {
if (error) {
console.error(`Failed to start timer. Cause:` + JSON.stringify(error));
return;
}
console.log(`Succeeded in startting timer. Data:` + JSON.stringify(data));
});
}
}
```
```
## systemTimer.startTimer
startTimer(timer: number, triggerTime: number): Promise&lt;void&gt;
开始定时器。
开始定时器,使用Promise异步回调
**系统能力:** SystemCapability.MiscServices.Time
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | --------------------------- | ---- | ------------------------------------------------------------ |
| timer | number | 是 | 定时器的ID。
| triggerTime | number | 是 | 定时器的触发时间,单位:毫秒。 |
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------ | ---- | ------------------------------ |
| timer | number | 是 | 定时器的ID。 |
| triggerTime | number | 是 | 定时器的触发时间,单位:毫秒。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------- |
| Promise\<void> | 无返回结果的Promise对象。 |
**示例:**
```js
```js
export default {
async systemTimer (){
var options = {
let options = {
type: systemTimer.TIMER_TYPE_REALTIME,
repeat:false
}
let timerId = await systemTimer.createTimer(options)
let triggerTime = new Date().getTime()
let triggerTime = new Date().getTime()
triggerTime += 3000
systemTimer.startTimer(timerId, triggerTime).then((data) => {
console.log(`systemTime.startTimer success data : ` + JSON.stringify(data));
console.log(`Succeeded in startting timer. Data:` + JSON.stringify(data));
}).catch((error) => {
console.error(`failed to systemTime.startTimer because ` + JSON.stringify(error));
console.error(`Failed to start timer. Cause:` + JSON.stringify(error));
});
}
}
```
```
## systemTimer.stopTimer
stopTimer(timer: number, callback: AsyncCallback&lt;void&gt;): void
停止定时器。
停止定时器,使用callback异步回调
**系统能力:** SystemCapability.MiscServices.Time
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ------------------------------------------------------------ |
| timer | number | 是 | 定时器的ID。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ------------ |
| timer | number | 是 | 定时器的ID。 |
| callback | AsyncCallback&lt;void> | 是 | 回调函数。 |
**示例:**
```js
```js
export default {
async systemTimer () {
var options = {
type: systemTimer.TIMER_TYPE_REALTIME,
repeat:false
}
let timerId = await systemTimer.createTimer(options)
let triggerTime = new Date().getTime()
triggerTime += 3000
systemTimer.startTimer(timerId, triggerTime)
systemTimer.stopTimer(timerId, (error) => {
if (error) {
console.error(`failed to systemTime.startTimer ` + JSON.stringify(error));
return;
}
});
}
async systemTimer () {
let options = {
type: systemTimer.TIMER_TYPE_REALTIME,
repeat:false
}
let timerId = await systemTimer.createTimer(options)
let triggerTime = new Date().getTime()
triggerTime += 3000
systemTimer.startTimer(timerId, triggerTime)
systemTimer.stopTimer(timerId, (error) => {
if (error) {
console.error(`Failed to stop timer. Cause:` + JSON.stringify(error));
return;
}
});
}
}
```
```
## systemTimer.stopTimer
stopTimer(timer: number): Promise&lt;void&gt;
停止定时器。
停止定时器,使用Promise异步回调
**系统能力:** SystemCapability.MiscServices.Time
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------- | ---- | ------------------------------------------------------------ |
| timer | number | 是 | 定时器的ID。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------ |
| timer | number | 是 | 定时器的ID。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------- |
| Promise\<void> | 无返回结果的Promise对象。 |
**示例:**
```js
```js
export default {
async systemTimer (){
var options = {
type: systemTimer.TIMER_TYPE_REALTIME,
repeat:false
}
let timerId = await systemTimer.createTimer(options)
let triggerTime = new Date().getTime()
triggerTime += 3000
systemTimer.startTimer(timerId, triggerTime)
systemTimer.stopTimer(timerId).then((data) => {
console.log(`systemTime.startTimer success data : ` + JSON.stringify(data));
}).catch((error) => {
console.error(`failed to systemTime.startTimer because ` + JSON.stringify(error));
});
}
async systemTimer (){
let options = {
type: systemTimer.TIMER_TYPE_REALTIME,
repeat:false
}
let timerId = await systemTimer.createTimer(options)
let triggerTime = new Date().getTime()
triggerTime += 3000
systemTimer.startTimer(timerId, triggerTime)
systemTimer.stopTimer(timerId).then((data) => {
console.log(`Succeeded in stopping timer. Data:` + JSON.stringify(data));
}).catch((error) => {
console.error(`Failed to stop timer. Cause:` + JSON.stringify(error));
});
}
}
```
```
## systemTimer.destroyTimer
destroyTimer(timer: number, callback: AsyncCallback&lt;void&gt;): void
销毁定时器。
销毁定时器,使用callback异步回调
**系统能力:** SystemCapability.MiscServices.Time
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ------------------------------------------------------------ |
| timer | number | 是 | 定时器的ID。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ------------ |
| timer | number | 是 | 定时器的ID。 |
| callback | AsyncCallback&lt;void> | 是 | 回调函数。 |
**示例:**
```js
```js
export default {
async systemTimer () {
var options = {
let options = {
type: systemTimer.TIMER_TYPE_REALTIME,
repeat:false
}
let timerId = await systemTimer.createTimer(options)
let triggerTime = new Date().getTime()
let triggerTime = new Date().getTime()
triggerTime += 3000
systemTimer.startTimer(timerId, triggerTime)
systemTimer.stopTimer(timerId)
systemTimer.destroyTimer(timerId, (error) => {
if (error) {
console.error(`failed to systemTime.startTimer ` + JSON.stringify(error));
console.error(`Failed to destroy timer. Cause:` + JSON.stringify(error));
return;
}
});
}
}
```
```
## systemTimer.destroyTimer
destroyTimer(timer: number): Promise&lt;void&gt;
销毁定时器。
销毁定时器,使用Promise异步回调
**系统能力:** SystemCapability.MiscServices.Time
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------- | ---- | ------------------------------------------------------------ |
| timer | number | 是 | 定时器的ID。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------ |
| timer | number | 是 | 定时器的ID。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------------- |
| Promise\<void> | 无返回结果的Promise对象。 |
**示例:**
```js
```js
export default {
async systemTimer (){
var options = {
let options = {
type: systemTimer.TIMER_TYPE_REALTIME,
repeat:false
}
let timerId = await systemTimer.createTimer(options)
let triggerTime = new Date().getTime()
let triggerTime = new Date().getTime()
triggerTime += 3000
systemTimer.startTimer(timerId, triggerTime)
systemTimer.stopTimer(timerId)
systemTimer.destroyTimer(timerId, 10000).then((data) => {
console.log(`systemTime.startTimer success data : ` + JSON.stringify(data));
console.log(`Succeeded in destroying timer. Data:` + JSON.stringify(data));
}).catch((error) => {
console.error(`failed to systemTime.startTimer because ` + JSON.stringify(error));
console.error(`Failed to destroy timer. Cause:` + JSON.stringify(error));
});
}
}
```
## TimerOptions
createTimer的初始化选项。
**系统能力:** SystemCapability.MiscServices.Time
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------| ---- | ------------------------------------------------------------------------------------------------------------------------- |
| type | number | 是 | const TIMER_TYPE_REALTIME: 设置为系统启动时间定时器(当设置系统时间超过定时器启动时间,定时器则失效),否则为walltime定时器; <br/>const TIMER_TYPE_WAKEUP: 设置为唤醒定时器,否则为非唤醒; <br/>const TIMER_TYPE_EXACT: 设置为精准定时器,否则为非精准定时器; <br/>const TIMER_TYPE_IDLE: number: 设置为IDLE模式定时器,否则为非IDLE模式定时器(暂不支持) |
| repeat | boolean | 是 | true 为循环定时器,false为单次定时器。 |
| interval | number | 否 | 如果是循环定时器,repeat值应大于5000毫秒,非重复定时器置为0。 |
| wantAgent| wantAgent | 否 | 设置通知的wantagent,定时器到期后通知。(支持拉起应用MainAbility,暂不支持拉起ServiceAbility) |
| callback | number | 是 | 以回调函数的形式返回定时器的ID |
\ No newline at end of file
```
\ No newline at end of file
......@@ -640,16 +640,16 @@ let ret = usb.getSupportedModes(0);
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ------------- | ------------------------------------------- | ------------- |
| address | number | 端点地址。 |
| attributes | number | 端点属性。 |
| interval | number | 端点间隔。 |
| maxPacketSize | number | 端点最大数据包大小。 |
| direction | [USBRequestDirection](#usbrequestdirection) | 端点的方向。 |
| number | number | 端点号。 |
| type | number | 端点类型。 |
| interfaceId | number | 端点所属的接口的唯一标识。 |
| 名称 | 类型 | 必填 | 说明 |
| ------------- | ------------------------------------------- | ------------- |------------ |
| address | number | 是 |端点地址。 |
| attributes | number | 是 |端点属性。 |
| interval | number | 是 |端点间隔。 |
| maxPacketSize | number | 是 |端点最大数据包大小。 |
| direction | [USBRequestDirection](#usbrequestdirection) | 是 |端点的方向。 |
| number | number | 是 |端点号。 |
| type | number | 是 |端点类型。 |
| interfaceId | number | 是 |端点所属的接口的唯一标识。 |
## USBInterface
......@@ -657,15 +657,15 @@ let ret = usb.getSupportedModes(0);
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ---------------- | ---------------------------------------- | --------------------- |
| id | number | 接口的唯一标识。 |
| protocol | number | 接口的协议。 |
| clazz | number | 设备类型。 |
| subClass | number | 设备子类。 |
| alternateSetting | number | 在同一个接口中的多个描述符中进行切换设置。 |
| name | string | 接口名称。 |
| endpoints | Array&lt;[USBEndpoint](#usbendpoint)&gt; | 当前接口所包含的端点。 |
| 名称 | 类型 | 必填 |说明 |
| ---------------- | ---------------------------------------- | ------------- |--------------------- |
| id | number | 是 |接口的唯一标识。 |
| protocol | number | 是 |接口的协议。 |
| clazz | number | 是 |设备类型。 |
| subClass | number | 是 |设备子类。 |
| alternateSetting | number | 是 |在同一个接口中的多个描述符中进行切换设置。 |
| name | string | 是 |接口名称。 |
| endpoints | Array&lt;[USBEndpoint](#usbendpoint)&gt; | 是 |当前接口所包含的端点。 |
## USBConfig
......@@ -673,15 +673,15 @@ USB配置,一个[USBDevice](#usbdevice)中可以含有多个配置。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| -------------- | ------------------------------------------------ | --------------- |
| id | number | 配置的唯一标识。 |
| attributes | number | 配置的属性。 |
| maxPower | number | 最大功耗,以毫安为单位。 |
| name | string | 配置的名称,可以为空。 |
| isRemoteWakeup | boolean | 检查当前配置是否支持远程唤醒。 |
| isSelfPowered | boolean | 检查当前配置是否支持独立电源。 |
| interfaces | Array&nbsp;&lt;[USBInterface](#usbinterface)&gt; | 配置支持的接口属性。 |
| 名称 | 类型 | 必填 |说明 |
| -------------- | ------------------------------------------------ | --------------- |----------- |
| id | number | 是 |配置的唯一标识。 |
| attributes | number | 是 |配置的属性。 |
| maxPower | number | 是 |最大功耗,以毫安为单位。 |
| name | string | 是 |配置的名称,可以为空。 |
| isRemoteWakeup | boolean | 是 |检查当前配置是否支持远程唤醒。 |
| isSelfPowered | boolean | 是 |检查当前配置是否支持独立电源。 |
| interfaces | Array&nbsp;&lt;[USBInterface](#usbinterface)&gt; | 是 |配置支持的接口属性。 |
## USBDevice
......@@ -689,21 +689,21 @@ USB设备信息。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ---------------- | ------------------------------------ | ---------- |
| busNum | number | 总线地址。 |
| devAddress | number | 设备地址。 |
| serial | string | 序列号。 |
| name | string | 设备名字。 |
| manufacturerName | string | 产商信息。 |
| productName | string | 产品信息。 |
| version | string | 版本。 |
| vendorId | number | 厂商ID。 |
| productId | number | 产品ID。 |
| clazz | number | 设备类。 |
| subClass | number | 设备子类。 |
| protocol | number | 设备协议码。 |
| configs | Array&lt;[USBConfig](#usbconfig)&gt; | 设备配置描述符信息。 |
| 名称 | 类型 | 必填 |说明 |
| ---------------- | ------------------------------------ | ---------- |---------- |
| busNum | number | 是 |总线地址。 |
| devAddress | number | 是 |设备地址。 |
| serial | string | 是 |序列号。 |
| name | string | 是 |设备名字。 |
| manufacturerName | string | 是 |产商信息。 |
| productName | string | 是 |产品信息。 |
| version | string | 是 |版本。 |
| vendorId | number | 是 |厂商ID。 |
| productId | number | 是 |产品ID。 |
| clazz | number | 是 |设备类。 |
| subClass | number | 是 |设备子类。 |
| protocol | number | 是 |设备协议码。 |
| configs | Array&lt;[USBConfig](#usbconfig)&gt; | 是 |设备配置描述符信息。 |
## USBDevicePipe
......@@ -711,10 +711,10 @@ USB设备消息传输通道,用于确定设备。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ---------- | ------ | ----- |
| busNum | number | 总线地址。 |
| devAddress | number | 设备地址。 |
| 名称 | 类型 | 必填 |说明 |
| ---------- | ------ | ----- |----- |
| busNum | number | 是 |总线地址。 |
| devAddress | number | 是 |设备地址。 |
## USBControlParams
......@@ -722,14 +722,14 @@ USB设备消息传输通道,用于确定设备。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ------- | ----------------------------------------------- | ---------------- |
| request | number | 请求类型。 |
| target | [USBRequestTargetType](#usbrequesttargettype) | 请求目标类型。 |
| reqType | [USBControlRequestType](#usbcontrolrequesttype) | 请求控制类型。 |
| value | number | 请求参数。 |
| index | number | 请求参数value对应的索引值。 |
| data | Uint8Array | 用于写入或读取的缓冲区。 |
| 名称 | 类型 | 必填 |说明 |
| ------- | ----------------------------------------------- | ---------------- |---------------- |
| request | number | 是 |请求类型。 |
| target | [USBRequestTargetType](#usbrequesttargettype) | 是 |请求目标类型。 |
| reqType | [USBControlRequestType](#usbcontrolrequesttype) | 是 |请求控制类型。 |
| value | number | 是 |请求参数。 |
| index | number | 是 |请求参数value对应的索引值。 |
| data | Uint8Array | 是 |用于写入或读取的缓冲区。 |
## USBPort<sup>9+</sup>
......@@ -739,11 +739,11 @@ USB设备端口。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| -------------- | -------------------------------- | ----------------------------------- |
| id | number | USB端口唯一标识。 |
| supportedModes | [PortModeType](#portmodetype9) | USB端口所支持的模式的数字组合掩码。 |
| status | [USBPortStatus](#usbportstatus9) | USB端口角色。 |
| 名称 | 类型 | 必填 |说明 |
| -------------- | -------------------------------- | -------------- |----------------------------------- |
| id | number | 是 |USB端口唯一标识。 |
| supportedModes | [PortModeType](#portmodetype9) | 是 |USB端口所支持的模式的数字组合掩码。 |
| status | [USBPortStatus](#usbportstatus9) | 是 |USB端口角色。 |
## USBPortStatus<sup>9+</sup>
......@@ -753,11 +753,11 @@ USB设备端口角色信息。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ---------------- | -------- | ---------------------- |
| currentMode | number | 当前的USB模式。 |
| currentPowerRole | number | 当前设备充电模式。 |
| currentDataRole | number | 当前设备数据传输模式。 |
| 名称 | 类型 | 必填 |说明 |
| ---------------- | -------- | ----------- |---------------------- |
| currentMode | number | 是 |当前的USB模式。 |
| currentPowerRole | number | 是 |当前设备充电模式。 |
| currentDataRole | number | 是 |当前设备数据传输模式。 |
## USBRequestTargetType
......
......@@ -718,16 +718,16 @@ let ret = usb.getSupportedModes(0);
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ------------- | ------------------------------------------- | ------------- |
| address | number | 端点地址。 |
| attributes | number | 端点属性。 |
| interval | number | 端点间隔。 |
| maxPacketSize | number | 端点最大数据包大小。 |
| direction | [USBRequestDirection](#usbrequestdirection) | 端点的方向。 |
| number | number | 端点号。 |
| type | number | 端点类型。 |
| interfaceId | number | 端点所属的接口的唯一标识。 |
| 名称 | 类型 | 必填 |说明 |
| ------------- | ------------------------------------------- | ------------- |------------- |
| address | number | 是 |端点地址。 |
| attributes | number | 是 |端点属性。 |
| interval | number | 是 |端点间隔。 |
| maxPacketSize | number | 是 |端点最大数据包大小。 |
| direction | [USBRequestDirection](#usbrequestdirection) | 是 |端点的方向。 |
| number | number | 是 |端点号。 |
| type | number | 是 |端点类型。 |
| interfaceId | number | 是 |端点所属的接口的唯一标识。 |
## USBInterface
......@@ -735,15 +735,15 @@ let ret = usb.getSupportedModes(0);
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ---------------- | ---------------------------------------- | --------------------- |
| id | number | 接口的唯一标识。 |
| protocol | number | 接口的协议。 |
| clazz | number | 设备类型。 |
| subClass | number | 设备子类。 |
| alternateSetting | number | 在同一个接口中的多个描述符中进行切换设置。 |
| name | string | 接口名称。 |
| endpoints | Array&lt;[USBEndpoint](#usbendpoint)&gt; | 当前接口所包含的端点。 |
| 名称 | 类型 | 必填 |说明 |
| ---------------- | ---------------------------------------- | ------------- |--------------------- |
| id | number | 是 |接口的唯一标识。 |
| protocol | number | 是 |接口的协议。 |
| clazz | number | 是 |设备类型。 |
| subClass | number | 是 |设备子类。 |
| alternateSetting | number | 是 |在同一个接口中的多个描述符中进行切换设置。 |
| name | string | 是 |接口名称。 |
| endpoints | Array&lt;[USBEndpoint](#usbendpoint)&gt; | 是 |当前接口所包含的端点。 |
## USBConfig
......@@ -751,15 +751,15 @@ USB配置,一个[USBDevice](#usbdevice)中可以含有多个配置。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| -------------- | ------------------------------------------------ | --------------- |
| id | number | 配置的唯一标识。 |
| attributes | number | 配置的属性。 |
| maxPower | number | 最大功耗,以毫安为单位。 |
| name | string | 配置的名称,可以为空。 |
| isRemoteWakeup | boolean | 检查当前配置是否支持远程唤醒。 |
| isSelfPowered | boolean | 检查当前配置是否支持独立电源。 |
| interfaces | Array&nbsp;&lt;[USBInterface](#usbinterface)&gt; | 配置支持的接口属性。 |
| 名称 | 类型 | 必填 |说明 |
| -------------- | ------------------------------------------------ | --------------- |--------------- |
| id | number | 是 |配置的唯一标识。 |
| attributes | number | 是 |配置的属性。 |
| maxPower | number | 是 |最大功耗,以毫安为单位。 |
| name | string | 是 |配置的名称,可以为空。 |
| isRemoteWakeup | boolean | 是 |检查当前配置是否支持远程唤醒。 |
| isSelfPowered | boolean | 是 | 检查当前配置是否支持独立电源。 |
| interfaces | Array&nbsp;&lt;[USBInterface](#usbinterface)&gt; | 是 |配置支持的接口属性。 |
## USBDevice
......@@ -767,21 +767,21 @@ USB设备信息。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ---------------- | ------------------------------------ | ---------- |
| busNum | number | 总线地址。 |
| devAddress | number | 设备地址。 |
| serial | string | 序列号。 |
| name | string | 设备名字。 |
| manufacturerName | string | 产商信息。 |
| productName | string | 产品信息。 |
| version | string | 版本。 |
| vendorId | number | 厂商ID。 |
| productId | number | 产品ID。 |
| clazz | number | 设备类。 |
| subClass | number | 设备子类。 |
| protocol | number | 设备协议码。 |
| configs | Array&lt;[USBConfig](#usbconfig)&gt; | 设备配置描述符信息。 |
| 名称 | 类型 | 必填 |说明 |
| ---------------- | ------------------------------------ | ---------- |---------- |
| busNum | number | 是 |总线地址。 |
| devAddress | number | 是 |设备地址。 |
| serial | string | 是 |序列号。 |
| name | string | 是 |设备名字。 |
| manufacturerName | string | 是 | 产商信息。 |
| productName | string | 是 |产品信息。 |
| version | string | 是 |版本。 |
| vendorId | number | 是 |厂商ID。 |
| productId | number | 是 |产品ID。 |
| clazz | number | 是 |设备类。 |
| subClass | number | 是 |设备子类。 |
| protocol | number | 是 |设备协议码。 |
| configs | Array&lt;[USBConfig](#usbconfig)&gt; | 是 |设备配置描述符信息。 |
## USBDevicePipe
......@@ -789,10 +789,10 @@ USB设备消息传输通道,用于确定设备。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ---------- | ------ | ----- |
| busNum | number | 总线地址。 |
| devAddress | number | 设备地址。 |
| 名称 | 类型 | 必填 |说明 |
| ---------- | ------ | ----- |----- |
| busNum | number |是 | 总线地址。 |
| devAddress | number |是 | 设备地址。 |
## USBControlParams
......@@ -800,14 +800,14 @@ USB设备消息传输通道,用于确定设备。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ------- | ----------------------------------------------- | ---------------- |
| request | number | 请求类型。 |
| target | [USBRequestTargetType](#usbrequesttargettype) | 请求目标类型。 |
| reqType | [USBControlRequestType](#usbcontrolrequesttype) | 请求控制类型。 |
| value | number | 请求参数。 |
| index | number | 请求参数value对应的索引值。 |
| data | Uint8Array | 用于写入或读取的缓冲区。 |
| 名称 | 类型 | 必填 |说明 |
| ------- | ----------------------------------------------- | ---------------- |---------------- |
| request | number | 是 |请求类型。 |
| target | [USBRequestTargetType](#usbrequesttargettype) | 是 |请求目标类型。 |
| reqType | [USBControlRequestType](#usbcontrolrequesttype) | 是 |请求控制类型。 |
| value | number | 是 |请求参数。 |
| index | number | 是 |请求参数value对应的索引值。 |
| data | Uint8Array | 是 |用于写入或读取的缓冲区。 |
## USBPort
......@@ -817,11 +817,11 @@ USB设备端口。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| -------------- | -------------------------------- | ----------------------------------- |
| id | number | USB端口唯一标识。 |
| supportedModes | [PortModeType](#portmodetype) | USB端口所支持的模式的数字组合掩码。 |
| status | [USBPortStatus](#usbportstatus) | USB端口角色。 |
| 名称 | 类型 | 必填 |说明 |
| -------------- | ------------------------------- | ------------------- |------------------------ |
| id | number | 是 |USB端口唯一标识。 |
| supportedModes | [PortModeType](#portmodetype) | 是 |USB端口所支持的模式的数字组合掩码。 |
| status | [USBPortStatus](#usbportstatus) | 是 |USB端口角色。 |
## USBPortStatus
......@@ -831,11 +831,11 @@ USB设备端口角色信息。
**系统能力:** SystemCapability.USB.USBManager
| 名称 | 参数类型 | 说明 |
| ---------------- | -------- | ---------------------- |
| currentMode | number | 当前的USB模式。 |
| currentPowerRole | number | 当前设备充电模式。 |
| currentDataRole | number | 当前设备数据传输模式。 |
| 名称 | 类型 | 必填 |说明 |
| ---------------- | -------- | ---------------- |---------------------- |
| currentMode | number | 是 |当前的USB模式。 |
| currentPowerRole | number | 是 |当前设备充电模式。 |
| currentDataRole | number | 是 |当前设备数据传输模式。 |
## USBRequestTargetType
......
......@@ -1309,7 +1309,7 @@ getThumbnail(size: image.Size, callback: AsyncCallback&lt;image.PixelMap&gt;): v
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ---------------- |
| size | Size | 是 | 缩略图尺寸 |
| size | [image.Size](js-apis-image.md#size) | 是 | 缩略图尺寸 |
| callback | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是 | 回调返回缩略图的PixelMap |
**示例:**
......@@ -1352,7 +1352,7 @@ getThumbnail(size?: image.Size): Promise&lt;image.PixelMap&gt;
| 参数名 | 类型 | 必填 | 说明 |
| ---- | -------------- | ---- | ----- |
| size | Size | 否 | 缩略图尺寸 |
| size | [image.Size](js-apis-image.md#size) | 否 | 缩略图尺寸 |
**返回值:**
......
......@@ -108,14 +108,14 @@ import window from '@ohos.window';
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
| 名称 | 类型 | 可读 | 可写 | 必填 | 说明 |
| -------------------------------------- | -------- | ---- | ---- | ---- | ------------------------------------------------------------ |
| statusBarColor | string | 否 | 是 | 否 | 状态栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。默认值:`#0x66000000`。 |
| isStatusBarLightIcon<sup>7+</sup> | boolean | 否 | 是 | 否 | 状态栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
| statusBarContentColor<sup>8+</sup> | string | 否 | 是 | 否 | 状态栏文字颜色。当设置此属性后, `isStatusBarLightIcon`属性设置无效。默认值:`0xE5FFFFFF。` |
| navigationBarColor | string | 否 | 是 | 否 | 导航栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。默认值:`#0x66000000。` |
| isNavigationBarLightIcon<sup>7+</sup> | boolean | 否 | 是 | 否 | 导航栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
| navigationBarContentColor<sup>8+</sup> | string | 否 | 是 | 否 | 导航栏文字颜色。当设置此属性后, `isNavigationBarLightIcon`属性设置无效。默认值:`#0xE5FFFFFF。` |
| 名称 | 类型 | 必填 | 说明 |
| -------------------------------------- | -------- | ---- | ------------------------------------------------------------ |
| statusBarColor | string | 否 | 状态栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。默认值:`#0x66000000`。 |
| isStatusBarLightIcon<sup>7+</sup> | boolean | 否 | 状态栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
| statusBarContentColor<sup>8+</sup> | string | 否 | 状态栏文字颜色。当设置此属性后, `isStatusBarLightIcon`属性设置无效。默认值:`0xE5FFFFFF。` |
| navigationBarColor | string | 否 | 导航栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。默认值:`#0x66000000。` |
| isNavigationBarLightIcon<sup>7+</sup> | boolean | 否 | 导航栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
| navigationBarContentColor<sup>8+</sup> | string | 否 | 导航栏文字颜色。当设置此属性后, `isNavigationBarLightIcon`属性设置无效。默认值:`#0xE5FFFFFF。` |
## Orientation<sup>9+</sup>
......@@ -248,7 +248,7 @@ import window from '@ohos.window';
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
| 名称 | 默认值 | 说明 |
| 名称 | 值 | 说明 |
| ---------- | ------ | -------------- |
| DEFAULT | 0 | 默认色域模式。 |
| WIDE_GAMUT | 1 | 广色域模式。 |
......@@ -1987,7 +1987,7 @@ setWindowSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncC
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | -- | --------- |
| names | Array<'status'|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
| names | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**错误码:**
......@@ -2029,7 +2029,7 @@ setWindowSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ---------------------------- | -- | --------------------------------- |
| names | Array<'status'|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
| names | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
**返回值:**
......@@ -4809,7 +4809,7 @@ setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallbac
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| names | Array<'status'|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
| names | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**示例:**
......@@ -4842,7 +4842,7 @@ setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void&gt;
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------- | ---- | ------------------------ |
| names | Array<'status'|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
| names | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
**返回值:**
......@@ -5852,12 +5852,12 @@ WindowStage生命周期。
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
| 名称 | 默认值 | 说明 |
| 名称 | 值 | 说明 |
| ---------- | ------ | ---------- |
| SHOWN | 1 | 切到前台。 |
| FOREGROUND | 1 | 切到前台。 |
| ACTIVE | 2 | 获焦状态。 |
| INACTIVE | 3 | 失焦状态。 |
| HIDDEN | 4 | 切到后台。 |
| BACKGROUND | 4 | 切到后台。 |
## WindowStage<sup>9+</sup>
......
## 申请能效资源
# 申请能效资源
### 场景说明
## 场景说明
在实际的系统中,存在一些重要性高的系统应用,虽然此类应用相比普通应用具有一定的特权,但为了进一步平衡系统的功耗开销,这些应用同样需要支持在后台可被挂起。但对于系统特权应用,为了避免挂起后重要功能受到影响,提供了独立的能效资源申请接口,使这些特权应用可以在后台执行一些特殊的任务和使用特定的系统资源,例如在被挂起期间如果仍然希望能够收到系统公共事件,可以使用能效资源接口向系统申请使用公共事件资源。
对于需要升级为特权应用的,开发者需要合理评估自己的业务诉求,向应用中心提出申请。
### 接口说明
## 接口说明
**表1** 申请能效资源主要接口
......@@ -16,7 +16,7 @@
| resetAllEfficiencyResources():void | 释放申请的能效资源。 |
### 开发步骤
## 开发步骤
1、当特权应用需要在后台使用特殊资源时。向系统申请目标资源。
......
......@@ -6,7 +6,7 @@
| ---------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 准备开发环境 | 了解声明式UI的工程结构。<br>了解资源分类与访问。 | [OpenHarmony工程介绍](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-project-overview-0000001218440650)<br>[资源分类与访问](../quick-start/resource-categories-and-access.md) |
| 学习ArkTS语言 | ArkTS是HarmonyOS优选的主力应用开发语言,当前,ArkTS在TS基础上主要扩展了声明式UI能力。 | [学习ArkTS语言](../quick-start/arkts-get-started.md) |
| 开发页面 | 根据页面的使用场景,选择合适的布局。<br>根据页面需要实现的内容,添加系统内置组件,并修改组件样式。<br>更新页面内容,丰富页面展现形式。 | [创建页面](#创建页面)<br> [常见布局开发指导](ui-ts-layout-linear.md)<br> [常见组件说明](ui-ts-components-intro.md)<br>[修改组件样式](#修改组件样式)<br>[更新页面内容](#更新页面内容) |
| 开发页面 | 根据页面的使用场景,选择合适的布局。<br>根据页面需要实现的内容,添加系统内置组件,并修改组件样式。<br>更新页面内容,丰富页面展现形式。 | [创建页面](#创建页面)<br> &nbsp;&nbsp;[常见布局开发指导](ui-ts-layout-linear.md)<br> &nbsp;&nbsp;[常见组件说明](ui-ts-components-intro.md)<br>[修改组件样式](#修改组件样式)<br>[更新页面内容](#更新页面内容) |
| (可选)页面多样化 | 绘图和动画。 | [绘图组件](../reference/arkui-ts/ts-drawing-components-circle.md)<br>[画布组件](../reference/arkui-ts/ts-components-canvas-canvas.md)<br>[动画](../reference/arkui-ts/ts-animatorproperty.md) |
| (可选)页面之间的跳转 | 使用页面路由实现多个页面之前的跳转。 | [页面路由](../reference/apis/js-apis-router.md) |
| (可选)性能提升 | 避免低性能代码对应用的性能造成负面影响。 | [性能提升的推荐方法](ui-ts-performance-improvement-recommendation.md) |
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册