diff --git a/en/application-dev/device/device-location-info.md b/en/application-dev/device/device-location-info.md index dce40ff38546fe1b86a60bf670cb18adf9e15968..a32decd05ac0ba0d6db06749c18dcd31d3a7645b 100644 --- a/en/application-dev/device/device-location-info.md +++ b/en/application-dev/device/device-location-info.md @@ -14,49 +14,49 @@ The following table describes APIs available for obtaining device location infor **Table 1** APIs for obtaining device location information -| API | Description | -| -------- | -------- | -| on(type: 'locationChange', request: LocationRequest, callback: Callback<Location>) : void | Registers a listener for location changes with a location request initiated. | -| off(type: 'locationChange', callback?: Callback<Location>) : void | Unregisters the listener for location changes with the corresponding location request deleted. | -| on(type: 'locationServiceState', callback: Callback<boolean>) : void | Registers a listener for location service status change events. | -| off(type: 'locationServiceState', callback: Callback<boolean>) : void | Unregisters the listener for location service status change events. | -| on(type: 'cachedGnssLocationsReporting', request: CachedGnssLoactionsRequest, callback: Callback<Array<Location>>) : void; | Registers a listener for cached GNSS location reports. | -| off(type: 'cachedGnssLocationsReporting', callback?: Callback<Array<Location>>) : void; | Unregisters the listener for cached GNSS location reports. | -| on(type: 'gnssStatusChange', callback: Callback<SatelliteStatusInfo>) : void; | Registers a listener for satellite status change events. | -| off(type: 'gnssStatusChange', callback?: Callback<SatelliteStatusInfo>) : void; | Unregisters the listener for satellite status change events. | -| on(type: 'nmeaMessageChange', callback: Callback<string>) : void; | Registers a listener for GNSS NMEA message change events. | -| off(type: 'nmeaMessageChange', callback?: Callback<string>) : void; | Unregisters the listener for GNSS NMEA message change events. | -| on(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void; | Registers a listener for status change events of the specified geofence. | -| off(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void; | Unregisters the listener for status change events of the specified geofence. | -| getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback<Location>) : void | Obtains the current location. This function uses an asynchronous callback to return the result. | -| getCurrentLocation(request?: CurrentLocationRequest) : Promise<Location> | Obtains the current location. This function uses a promise to return the result. | -| getLastLocation(callback: AsyncCallback<Location>) : void | Obtains the previous location. This function uses an asynchronous callback to return the result. | -| getLastLocation() : Promise<Location> | Obtains the previous location. This function uses a promise to return the result. | -| isLocationEnabled(callback: AsyncCallback<boolean>) : void | Checks whether the location service is enabled. This function uses an asynchronous callback to return the result. | -| isLocationEnabled() : Promise<boolean> | Checks whether the location service is enabled. This function uses a promise to return the result. | -| requestEnableLocation(callback: AsyncCallback<boolean>) : void | Requests to enable the location service. This function uses an asynchronous callback to return the result. | -| requestEnableLocation() : Promise<boolean> | Requests to enable the location service. This function uses a promise to return the result. | -| enableLocation(callback: AsyncCallback<boolean>) : void | Enables the location service. This function uses an asynchronous callback to return the result. | -| enableLocation() : Promise<boolean> | Enables the location service. This function uses a promise to return the result. | -| disableLocation(callback: AsyncCallback<boolean>) : void | Disables the location service. This function uses an asynchronous callback to return the result. | -| disableLocation() : Promise<boolean> | Disables the location service. This function uses a promise to return the result. | -| getCachedGnssLocationsSize(callback: AsyncCallback<number>) : void; | Obtains the number of cached GNSS locations. This function uses an asynchronous callback to return the result. | -| getCachedGnssLocationsSize() : Promise<number>; | Obtains the number of cached GNSS locations. This function uses a promise to return the result. | -| flushCachedGnssLocations(callback: AsyncCallback<boolean>) : void; | Obtains all cached GNSS locations and clears the GNSS cache queue. This function uses an asynchronous callback to return the result. | -| flushCachedGnssLocations() : Promise<boolean>; | Obtains all cached GNSS locations and clears the GNSS cache queue. This function uses a promise to return the result. | -| sendCommand(command: LocationCommand, callback: AsyncCallback<boolean>) : void; | Sends extended commands to the location subsystem. This function uses an asynchronous callback to return the result. | -| sendCommand(command: LocationCommand) : Promise<boolean>; | Sends extended commands to the location subsystem. This function uses a promise to return the result. | -| isLocationPrivacyConfirmed(type : LocationPrivacyType, callback: AsyncCallback<boolean>) : void; | Checks whether a user agrees with the privacy statement of the location service. This function uses an asynchronous callback to return the result. | -| isLocationPrivacyConfirmed(type : LocationPrivacyType,) : Promise<boolean>; | Checks whether a user agrees with the privacy statement of the location service. This function uses a promise to return the result. | -| setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed : boolean, callback: AsyncCallback<boolean>) : void; | Sets the user confirmation status for the privacy statement of the location service. This function uses an asynchronous callback to return the result. | -| setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed : boolean) : Promise<boolean>; | Sets the user confirmation status for the privacy statement of the location service. This function uses a promise to return the result. | +| API | Description | +| ------------------------------------------------------------ | ------------------------------------------------------------ | +| on(type: 'locationChange', request: LocationRequest, callback: Callback<Location>) : void | Registers a listener for location changes with a location request initiated. | +| off(type: 'locationChange', callback?: Callback<Location>) : void | Unregisters the listener for location changes with the corresponding location request deleted. | +| on(type: 'locationServiceState', callback: Callback<boolean>) : void | Registers a listener for location service status change events. | +| off(type: 'locationServiceState', callback: Callback<boolean>) : void | Unregisters the listener for location service status change events. | +| on(type: 'cachedGnssLocationsReporting', request: CachedGnssLoactionsRequest, callback: Callback<Array<Location>>) : void; | Registers a listener for cached GNSS location reports. | +| off(type: 'cachedGnssLocationsReporting', callback?: Callback<Array<Location>>) : void; | Unregisters the listener for cached GNSS location reports. | +| on(type: 'gnssStatusChange', callback: Callback<SatelliteStatusInfo>) : void; | Registers a listener for satellite status change events. | +| off(type: 'gnssStatusChange', callback?: Callback<SatelliteStatusInfo>) : void; | Unregisters the listener for satellite status change events. | +| on(type: 'nmeaMessageChange', callback: Callback<string>) : void; | Registers a listener for GNSS NMEA message change events. | +| off(type: 'nmeaMessageChange', callback?: Callback<string>) : void; | Unregisters the listener for GNSS NMEA message change events. | +| on(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void; | Registers a listener for status change events of the specified geofence. | +| off(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void; | Unregisters the listener for status change events of the specified geofence. | +| getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback<Location>) : void | Obtains the current location. This API uses an asynchronous callback to return the result. | +| getCurrentLocation(request?: CurrentLocationRequest) : Promise<Location> | Obtains the current location. This API uses a promise to return the result. | +| getLastLocation(callback: AsyncCallback<Location>) : void | Obtains the previous location. This API uses an asynchronous callback to return the result. | +| getLastLocation() : Promise<Location> | Obtains the previous location. This API uses a promise to return the result. | +| isLocationEnabled(callback: AsyncCallback<boolean>) : void | Checks whether the location service is enabled. This API uses an asynchronous callback to return the result. | +| isLocationEnabled() : Promise<boolean> | Checks whether the location service is enabled. This API uses a promise to return the result. | +| requestEnableLocation(callback: AsyncCallback<boolean>) : void | Requests to enable the location service. This API uses an asynchronous callback to return the result. | +| requestEnableLocation() : Promise<boolean> | Requests to enable the location service. This API uses a promise to return the result. | +| enableLocation(callback: AsyncCallback<boolean>) : void | Enables the location service. This API uses an asynchronous callback to return the result. | +| enableLocation() : Promise<boolean> | Enables the location service. This API uses a promise to return the result. | +| disableLocation(callback: AsyncCallback<boolean>) : void | Disables the location service. This API uses an asynchronous callback to return the result. | +| disableLocation() : Promise<boolean> | Disables the location service. This API uses a promise to return the result. | +| getCachedGnssLocationsSize(callback: AsyncCallback<number>) : void; | Obtains the number of cached GNSS locations. This API uses an asynchronous callback to return the result. | +| getCachedGnssLocationsSize() : Promise<number>; | Obtains the number of cached GNSS locations. This API uses a promise to return the result. | +| flushCachedGnssLocations(callback: AsyncCallback<boolean>) : void; | Obtains all cached GNSS locations and clears the GNSS cache queue. This API uses an asynchronous callback to return the result.| +| flushCachedGnssLocations() : Promise<boolean>; | Obtains all cached GNSS locations and clears the GNSS cache queue. This API uses a promise to return the result.| +| sendCommand(command: LocationCommand, callback: AsyncCallback<boolean>) : void; | Sends extended commands to the location subsystem. This API uses an asynchronous callback to return the result.| +| sendCommand(command: LocationCommand) : Promise<boolean>; | Sends extended commands to the location subsystem. This API uses a promise to return the result. | +| isLocationPrivacyConfirmed(type : LocationPrivacyType, callback: AsyncCallback<boolean>) : void; | Checks whether a user agrees with the privacy statement of the location service. This API uses an asynchronous callback to return the result.| +| isLocationPrivacyConfirmed(type : LocationPrivacyType,) : Promise<boolean>; | Checks whether a user agrees with the privacy statement of the location service. This API uses a promise to return the result.| +| setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed : boolean, callback: AsyncCallback<boolean>) : void; | Sets the user confirmation status for the privacy statement of the location service. This API uses an asynchronous callback to return the result.| +| setLocationPrivacyConfirmStatus(type : LocationPrivacyType, isConfirmed : boolean) : Promise<boolean>; | Sets the user confirmation status for the privacy statement of the location service. This API uses a promise to return the result.| ## How to Develop To learn more about the APIs for obtaining device location information, see [Geolocation](../reference/apis/js-apis-geolocation.md). -1. Before using basic location capabilities, check whether your application has been granted the permission to access the device location information. If not, your application needs to obtain the permission from the user. For details, see the following section. +1. Before using basic location capabilities, check whether your application has been granted the permission to access the device location information. If not, your application needs to obtain the permission from the user as described below. The system provides the following location permissions: - ohos.permission.LOCATION @@ -64,9 +64,9 @@ To learn more about the APIs for obtaining device location information, see [Geo The **ohos.permission.LOCATION** permission is a must if your application needs to access the device location information. - If your application needs to access the device location information when running on the background, it must be allowed to run on the background in the configuration file and also granted the **ohos.permission.LOCATION_IN_BACKGROUND** permission. In this way, the system continues to report device location information even when your application moves to the background. + If your application needs to access the device location information when running on the background, it must be configured to be able to run on the background and be granted the **ohos.permission.LOCATION_IN_BACKGROUND** permission. In this way, the system continues to report device location information after your application moves to the background. - To allow your application to access device location information, you can declare the required permissions in the **config.json** file of your application. The sample code is as follows: + To allow your application to access device location information, declare the required permissions in the **module.json** file of your application. The sample code is as follows: ``` @@ -83,8 +83,8 @@ To learn more about the APIs for obtaining device location information, see [Geo } } ``` - - For details about the fields, see . + + For details about the fields, see [Application Package Structure Configuration File](../quick-start/stage-structure.md). 2. Import the **geolocation** module by which you can implement all APIs related to the basic location capabilities. @@ -92,7 +92,7 @@ To learn more about the APIs for obtaining device location information, see [Geo import geolocation from '@ohos.geolocation'; ``` -3. Instantiate the **LocationRequest** object. This object provides APIs to notify the system of the location service type and the interval of reporting location information. +3. Instantiate the **LocationRequest** object. This object provides APIs to notify the system of the location service type and the interval of reporting location information.
**Method 1:** To better serve your needs for using APIs, the system has categorized APIs into different packages to match your common use cases of the location function. In this way, you can directly use the APIs specific to a certain use case, making application development much easier. The following table lists the use cases currently supported. @@ -112,15 +112,15 @@ To learn more about the APIs for obtaining device location information, see [Geo **Table 2** Common use cases of the location function - | Use Case | Constant | Description | - | -------- | -------- | -------- | - | Navigation | NAVIGATION | Applicable when your application needs to obtain the real-time location of a mobile device outdoors, such as navigation for driving or walking. In this scenario, the GNSS positioning technology is mainly used to ensure the location accuracy. However, due to its limitations, the technology may be unable to provide the location service when navigation is just started or when the user moves into a shielded environment such as indoors or a garage. To resolve this issue, the system uses the network positioning technology as an alternative to provide the location service for your application until the GNSS can provide stable location results. This helps achieve a smooth navigation experience for users.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization. | - | Trajectory tracking | TRAJECTORY_TRACKING | Applicable when your application needs to record user trajectories, for example, the track recording function of sports applications. In this scenario, the GNSS positioning technology is mainly used to ensure the location accuracy.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization. | - | Ride hailing | CAR_HAILING | Applicable when your application needs to obtain the current location of a user who is hailing a taxi.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization. | - | Life service | DAILY_LIFE_SERVICE | Applicable when your application only needs the approximate user location for recommendations and push notifications in scenarios such as when the user is browsing news, shopping online, and ordering food.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization. | - | Power efficiency | NO_POWER | Applicable when your application does not proactively start the location service for a higher battery efficiency. When responding to another application requesting the same location service, the system marks a copy of the location result to your application. In this way, your application will not consume extra power for obtaining the user location.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization. | - - The following example instantiates the **RequestParam** object for navigation: + | Use Case | Constant | Description | + | ------------ | ------------------- | ------------------------------------------------------------ | + | Navigation | NAVIGATION | Applicable when your application needs to obtain the real-time location of a mobile device outdoors, such as navigation for driving or walking. In this scenario, the GNSS positioning technology is mainly used to ensure the location accuracy. However, due to its limitations, the technology may be unable to provide the location service when navigation is just started or when the user moves into a shielded environment such as indoors or a garage. To resolve this issue, the system uses the network positioning technology as an alternative to provide the location service for your application until the GNSS can provide stable location results. This helps achieve a smooth navigation experience for users.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization.| + | Trajectory tracking| TRAJECTORY_TRACKING | Applicable when your application needs to record user trajectories, for example, the track recording function of sports applications. In this scenario, the GNSS positioning technology is mainly used to ensure the location accuracy.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization.| + | Ride hailing| CAR_HAILING | Applicable when your application needs to obtain the current location of a user who is hailing a taxi.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization.| + | Life service| DAILY_LIFE_SERVICE | Applicable when your application only needs the approximate user location for recommendations and push notifications in scenarios such as when the user is browsing news, shopping online, and ordering food.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization.| + | Power efficiency | NO_POWER | Applicable when your application does not proactively start the location service for a higher battery efficiency. When responding to another application requesting the same location service, the system marks a copy of the location result to your application. In this way, your application will not consume extra power for obtaining the user location.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization.| + + Sample code for initializing **requestInfo** for navigation: ``` var requestInfo = {'scenario': geolocation.LocationRequestScenario.NAVIGATION, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0}; @@ -143,20 +143,20 @@ To learn more about the APIs for obtaining device location information, see [Geo **Table 3** Location priority policies - | Policy | Constant | Description | - | -------- | -------- | -------- | - | Location accuracy priority | ACCURACY | This policy mainly uses the GNSS positioning technology. In an open area, the technology can achieve the meter-level location accuracy, depending on the hardware performance of the device. However, in a shielded environment, the location accuracy may significantly decrease.
To use this policy, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization. | - | Fast location priority | FAST_FIRST_FIX | This policy uses the GNSS positioning, base station positioning, WLAN positioning, and Bluetooth positioning technologies simultaneously to obtain the device location in both the indoor and outdoor scenarios. When all positioning technologies provide a location result, the system provides the most accurate location result for your application. This policy can lead to significant hardware resource consumption and power consumption.
To use this policy, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization. | - | Power efficiency priority | LOW_POWER | This policy mainly uses the base station positioning, WLAN positioning, and Bluetooth positioning technologies to obtain device location in both indoor and outdoor scenarios. The location accuracy depends on the distribution of surrounding base stations, visible WLANs, and Bluetooth devices and therefore may fluctuate greatly. This policy is recommended and can reduce power consumption when your application does not require high location accuracy or when base stations, visible WLANs, and Bluetooth devices are densely distributed.
To use this policy, you must declare at least the **ohos.permission.LOCATION** permission and obtain users' authorization. | + | Policy | Constant | Description | + | ------------------ | -------------- | ------------------------------------------------------------ | + | Location accuracy priority | ACCURACY | This policy mainly uses the GNSS positioning technology. In an open area, the technology can achieve the meter-level location accuracy, depending on the hardware performance of the device. However, in a shielded environment, the location accuracy may significantly decrease.
To use this policy, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization.| + | Fast location priority | FAST_FIRST_FIX | This policy uses the GNSS positioning, base station positioning, WLAN positioning, and Bluetooth positioning technologies simultaneously to obtain the device location in both the indoor and outdoor scenarios. When all positioning technologies provide a location result, the system provides the most accurate location result for your application. This policy can lead to significant hardware resource consumption and power consumption.
To use this policy, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization.| + | Power efficiency priority| LOW_POWER | This policy mainly uses the base station positioning, WLAN positioning, and Bluetooth positioning technologies to obtain device location in both indoor and outdoor scenarios. The location accuracy depends on the distribution of surrounding base stations, visible WLANs, and Bluetooth devices and therefore may fluctuate greatly. This policy is recommended and can reduce power consumption when your application does not require high location accuracy or when base stations, visible WLANs, and Bluetooth devices are densely distributed.
To use this policy, you must declare at least the **ohos.permission.LOCATION** permission and obtain users' authorization.| - The following example instantiates the **RequestParam** object for the location accuracy priority policy: + Sample code for initializing **requestInfo** for the location accuracy priority policy: ``` var requestInfo = {'priority': geolocation.LocationRequestPriority.ACCURACY, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0}; ``` 4. Instantiate the **Callback** object for the system to report location results. - Your application needs to implement the callback interface defined by the system. When the system successfully obtains the real-time location of a device, it will report the location result to your application through the callback interface. Your application can implement the callback interface in such a way to complete your own service logic. + Your application needs to implement the callback defined by the system. When the system successfully obtains the real-time location of a device, it will report the location result to your application through the callback interface. Your application can implement the callback interface in such a way to complete your own service logic. ``` var locationChange = (location) => { @@ -176,8 +176,8 @@ To learn more about the APIs for obtaining device location information, see [Geo geolocation.off('locationChange', locationChange); ``` - If your application does not need the real-time device location, it can use the last known device location cached in the system instead. - +If your application does not need the real-time device location, it can use the last known device location cached in the system instead. + ``` geolocation.getLastLocation((err, data) => { if (err) { diff --git a/en/application-dev/reference/apis/js-apis-util.md b/en/application-dev/reference/apis/js-apis-util.md index e0fcbc5689c1b0f90f4aec8713d4cd2c4a679daf..a4ae0d235f5e2ff3297c2bddb887890967213a29 100755 --- a/en/application-dev/reference/apis/js-apis-util.md +++ b/en/application-dev/reference/apis/js-apis-util.md @@ -1913,8 +1913,7 @@ Checks whether the input value is of the **native external** type. **Example** ```js var that = new util.types(); - const data = util.createExternalType(); - var result = that.isExternal(data); + var result = that.isExternal(true); ``` diff --git a/zh-cn/application-dev/key-features/multi-device-app-dev/resource-usage.md b/zh-cn/application-dev/key-features/multi-device-app-dev/resource-usage.md index 4915ade834a8f61eb902b015f1cd090a7122e6a4..20129df52a83ba41e72039ef1ee3320624da9b66 100644 --- a/zh-cn/application-dev/key-features/multi-device-app-dev/resource-usage.md +++ b/zh-cn/application-dev/key-features/multi-device-app-dev/resource-usage.md @@ -38,7 +38,7 @@ 在工程中,通过 "$r('app.type.name')" 的形式引用应用资源。app代表是应用内resources目录中定义的资源;type 代表资源类型(或资源的存放位置),可以取 color、float、string、plural和media,name代表资源命名,由开发者定义资源时确定。 > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> - 可以查看[声明式开发范式资源访问](../../ui/ts-application-resource-access.md),了解资源访问的更多细节。 +> - 可以查看[声明式开发范式资源访问](../../ui/ts-resource-access.md),了解资源访问的更多细节。 > > - 类Web开发范式的资源文件路径及资源限定词的使用与声明式范式不同,详情请参考[类Web开发范式资源限定与访问](../../ui/js-framework-resource-restriction.md)及[类Web开发范式文件组织](../../ui/js-framework-file.md)。 diff --git a/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md b/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md index af042fbd6f43103babce2fea8e620354d3fb547a..122835b12e2fece6d2d17e30fba9b8d06cc93ef8 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md +++ b/zh-cn/application-dev/reference/apis/js-apis-abilityAccessCtrl.md @@ -104,7 +104,7 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl 授予应用user grant权限,使用Promise方式异步返回结果。 -此接口为系统接口,三方应用不支持调用。 +此接口为系统接口。 **需要权限:** ohos.permission.GRANT_SENSITIVE_PERMISSIONS @@ -142,7 +142,7 @@ grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFl 授予应用user grant权限,使用callback回调异步返回结果。 -此接口为系统接口,三方应用不支持调用。 +此接口为系统接口。 **需要权限:** ohos.permission.GRANT_SENSITIVE_PERMISSIONS @@ -178,7 +178,7 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF 撤销应用user grant权限,使用Promise方式异步返回结果。 -此接口为系统接口,三方应用不支持调用。 +此接口为系统接口。 **需要权限:** ohos.permission.REVOKE_SENSITIVE_PERMISSIONS @@ -216,7 +216,7 @@ revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionF 撤销应用user grant权限,使用callback回调异步返回结果。 -此接口为系统接口,三方应用不支持调用。 +此接口为系统接口。 **需要权限:** ohos.permission.REVOKE_SENSITIVE_PERMISSIONS @@ -252,7 +252,7 @@ getPermissionFlags(tokenID: number, permissionName: string): Promise<number&g 获取指定应用的指定权限的flag,使用Promise方式异步返回结果。 -此接口为系统接口,三方应用不支持调用。 +此接口为系统接口。 **需要权限:** ohos.permission.GET_SENSITIVE_PERMISSIONS or ohos.permission.GRANT_SENSITIVE_PERMISSIONS or ohos.permission.REVOKE_SENSITIVE_PERMISSIONS diff --git a/zh-cn/application-dev/reference/apis/js-apis-abilityrunninginfo.md b/zh-cn/application-dev/reference/apis/js-apis-abilityrunninginfo.md index 33b9ff847ac76c6f00d67e2734547894aa287344..5f9195932a5a290805d973bc0780bd30947c057b 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-abilityrunninginfo.md +++ b/zh-cn/application-dev/reference/apis/js-apis-abilityrunninginfo.md @@ -25,9 +25,9 @@ abilitymanager.getAbilityRunningInfos((err,data) => { | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | -| ability | ElementName | 是 | 否 | Ability匹配信息 | -| pid | number | 是 | 否 | 进程ID。 | -| uid | number | 是 | 否 | 用户ID。 | -| processName | string | 是 | 否 | 进程名称。 | -| startTime | number | 是 | 否 | Ability启动时间。 | -| abilityState | [abilityManager.AbilityState](js-apis-abilityManager.md#abilityState) | 是 | 否 | Ability状态。 | \ No newline at end of file +| ability | ElementName | 是 | 否 | Ability匹配信息 | +| pid | number | 是 | 否 | 进程ID。 | +| uid | number | 是 | 否 | 用户ID。 | +| processName | string | 是 | 否 | 进程名称。 | +| startTime | number | 是 | 否 | Ability启动时间。 | +| abilityState | [abilityManager.AbilityState](js-apis-application-abilityManager.md#abilitystate) | 是 | 否 | Ability状态。 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-appAccount.md b/zh-cn/application-dev/reference/apis/js-apis-appAccount.md index da43ecfd8c1f9e62325002ce505da8d7ad4ce35b..7b8267ffc31efde4a2b1ee2f8a6182c61fce1301 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-appAccount.md +++ b/zh-cn/application-dev/reference/apis/js-apis-appAccount.md @@ -1952,11 +1952,11 @@ setAuthenticatorProperties(owner: string, options: SetPropertiesOptions, callbac **系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------------- | ---- | ----------------- | -| authType | string | 是 | 令牌的鉴权类型。 | -| token | string | 是 | 令牌的取值。 | -| account | AppAccountInfo | 否 | 令牌所属的帐号信息。| +| 参数名 | 类型 | 必填 | 说明 | +| -------------------- | -------------- | ----- | ---------------- | +| authType | string | 是 | 令牌的鉴权类型。 | +| token | string | 是 | 令牌的取值。 | +| account9+ | AppAccountInfo | 否 | 令牌所属的帐号信息。| ## AuthenticatorInfo8+ diff --git a/zh-cn/application-dev/reference/apis/js-apis-call.md b/zh-cn/application-dev/reference/apis/js-apis-call.md index a2a58a10f00924651426da21848c682e9f8f1fa2..485b10f670342d3aa081ab927f735d305404e184 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-call.md +++ b/zh-cn/application-dev/reference/apis/js-apis-call.md @@ -1864,7 +1864,7 @@ promise.then(data => { separateConference\(callId: number, callback: AsyncCallback\): void -断开会议电话。使用callback异步回调。 +分离会议电话。使用callback异步回调。 此接口为系统接口。 @@ -1890,7 +1890,7 @@ call.separateConference(1, (err, data) => { separateConference\(callId: number\): Promise -断开会议电话。使用Promise异步回调。 +分离会议电话。使用Promise异步回调。 此接口为系统接口。 diff --git a/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md b/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md index 298ebd478448792dec0770c68f7739250d594c7a..bbf897d68d49ceea7d709c536e7bbd55600e0567 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md +++ b/zh-cn/application-dev/reference/apis/js-apis-cardEmulation.md @@ -19,7 +19,7 @@ isSupported(feature: number): boolean 是否支持某种类型的卡模拟 -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **返回值:** @@ -39,7 +39,7 @@ startHCE(aidList: string[]): boolean **需要权限**:ohos.permission.NFC_CARD_EMULATION -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **参数:** @@ -55,7 +55,7 @@ stopHCE(): boolean **需要权限**:ohos.permission.NFC_CARD_EMULATION -**系统能力:** SystemCapability.Communication.NFC +**系统能力:** SystemCapability.Communication.NFC.Core ### on @@ -65,7 +65,7 @@ on(type: "hceCmd", callback: AsyncCallback): void; **需要权限**:ohos.permission.NFC_CARD_EMULATION -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **参数:** @@ -82,7 +82,7 @@ sendResponse(responseApdu: number[]): void; **需要权限**:ohos.permission.NFC_CARD_EMULATION -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **参数:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-connectedTag.md b/zh-cn/application-dev/reference/apis/js-apis-connectedTag.md index 6f62b388faf8642a95796829f7f39147e03db897..ad3d5ba16515ab88a5998bdebba3d053cb16e02a 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-connectedTag.md +++ b/zh-cn/application-dev/reference/apis/js-apis-connectedTag.md @@ -219,6 +219,8 @@ off(type: "notify", callback?: Callback<number>): void 表示NFC场强状态的枚举。 +**系统能力**:SystemCapability.Communication.ConnectedTag + | 名称 | 默认值 | 说明 | | -------- | -------- | -------- | | NFC_RF_LEAVE | 0 | NFC离场事件 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-continuation-continuationManager.md b/zh-cn/application-dev/reference/apis/js-apis-continuation-continuationManager.md index 43e80440bf086fa424af5bd06a2122f3f8ed06d0..6f8c8b23efd22a2dd9d3e287a7029a9037429af6 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-continuation-continuationManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-continuation-continuationManager.md @@ -97,6 +97,7 @@ register(options?: ContinuationExtraParams): Promise\; **示例:** ```js + let token = -1; let continuationExtraParams = { deviceType: ["00E"] }; @@ -157,6 +158,7 @@ on(type: "deviceConnect", token: number, callback: Callback\ { console.info('onDeviceConnect len: ' + data.length); for (let i = 0; i < data.length; i++) { @@ -186,6 +188,7 @@ on(type: "deviceDisconnect", token: number, callback: Callback\>) **示例:** ```js + let token = 1; continuationManager.on("deviceDisconnect", token, (data) => { console.info('onDeviceDisconnect len: ' + data.length); for (let i = 0; i < data.length; i++) { @@ -213,6 +216,7 @@ off(type: "deviceConnect", token: number): void; **示例:** ```js + let token = 1; continuationManager.off("deviceConnect", token); ``` @@ -234,6 +238,7 @@ off(type: "deviceDisconnect", token: number): void; **示例:** ```js + let token = 1; continuationManager.off("deviceDisconnect", token); ``` @@ -255,6 +260,7 @@ startDeviceManager(token: number, callback: AsyncCallback\): void; **示例:** ```js + let token = 1; continuationManager.startDeviceManager(token, (err, data) => { if (err.code != 0) { console.error('startDeviceManager failed, cause: ' + JSON.stringify(err)); @@ -283,6 +289,7 @@ startDeviceManager(token: number, options: ContinuationExtraParams, callback: As **示例:** ```js + let token = 1; let continuationExtraParams = { deviceType: ["00E"] }; @@ -319,6 +326,7 @@ startDeviceManager(token: number, options?: ContinuationExtraParams): Promise\ { if (err.code != 0) { @@ -386,6 +395,7 @@ updateConnectStatus(token: number, deviceId: string, status: DeviceConnectState) **示例:** ```js + let token = 1; let deviceId: string = "test deviceId"; continuationManager.updateConnectStatus(token, deviceId, continuationManager.DeviceConnectState.CONNECTED) .then((data) => { @@ -414,6 +424,7 @@ unregister(token: number, callback: AsyncCallback\): void; **示例:** ```js + let token = 1; continuationManager.unregister(token, (err, data) => { if (err.code != 0) { console.error('unregister failed, cause: ' + JSON.stringify(err)); @@ -446,6 +457,7 @@ unregister(token: number): Promise\; **示例:** ```js + let token = 1; continuationManager.unregister(token) .then((data) => { console.info('unregister finished, ' + JSON.stringify(data)); diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-ValuesBucket.md b/zh-cn/application-dev/reference/apis/js-apis-data-ValuesBucket.md index 7190b74c45174c90482e16bc6dc3fe90514628b9..a533ef34ce47b3fa69235a680b92a2c1ae3ca915 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-ValuesBucket.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-ValuesBucket.md @@ -20,7 +20,7 @@ import { ValuesBucket } from '@ohos.data.ValuesBucket'; **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core -| 名称 | 说明 | +| 类型 | 说明 | | ------- | -------------------- | | number | 表示字段类型为数字。 | | string | 表示字段类型为字符串。 | @@ -28,11 +28,10 @@ import { ValuesBucket } from '@ohos.data.ValuesBucket'; ## ValuesBucket -该类型用于存储一系列键值对。 +用于存储键值对的类型。 **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core -| 名称 | 参数类型 | 必填 | 说明 | -| ------------- | --------------------------------------------- | ---- | ------------------------------------------------------------ | -| [key: string] | [ValueType](#valuetype)\| Uint8Array \| null | 是 | 键的类型为字符串型;值的类型可以为数字、字符串、布尔值、无符号整型8位数组、空值。 | - +| 键类型 | 值类型 | +| ------------- | --------------------------------------------- | +| string | [ValueType](#valuetype)\| Uint8Array \| null | diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-ability.md b/zh-cn/application-dev/reference/apis/js-apis-data-ability.md index aa8b98db48cf52c477131f2cea304462f2271634..4f8e0a3e017f84fc0e4091881a9a4e756d0ba136 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-ability.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-ability.md @@ -789,7 +789,7 @@ notIn(field: string, value: Array<ValueType>): DataAbilityPredicates **系统能力:** SystemCapability.DistributedDataManager.DataShare.Core。 -| 名称 | 说明 | +| 类型 | 说明 | | ------- | -------------------- | | number | 表示值类型为数字。 | | string | 表示值类型为字符。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md b/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md index 8ed0dd29dfb55764bece703a3d3ef21ba2ed2f8d..827571daedecf93ec7ba80b78565b3a12fa46f28 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md @@ -681,7 +681,7 @@ data_preferences.getPreferences(this.context, 'mystore', function (err, preferen **系统能力:** SystemCapability.DistributedDataManager.Preferences.Core -| 名称 | 说明 | +| 类型 | 说明 | | -------------- | ------------------------------ | | number | 表示值类型为数字。 | | string | 表示值类型为字符串。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md b/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md index ed678b96b9696d4527174fc498abdca488c04286..031eaf5924bb1c45a6fc3419943dd0471d8ceabd 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md @@ -1992,7 +1992,7 @@ try { **系统能力:** 以下各项对应的系统能力均为SystemCapability.DistributedDataManager.RelationalStore.Core。 -| 名称 | 说明 | +| 类型 | 说明 | | -------- | -------- | | number | 表示值类型为数字。 | | string | 表示值类型为字符。 | @@ -2001,14 +2001,13 @@ try { ## ValuesBucket -用于存储键值对。 +用于存储键值对的类型。 **系统能力:** 以下各项对应的系统能力均为SystemCapability.DistributedDataManager.RelationalStore.Core。 -| 名称 | 参数类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| [key: string] | [ValueType](#valuetype)\| Uint8Array \| null | 是 | 用于存储键值对。 | - +| 键类型 | 值类型 | +| -------- | -------- | +| string | [ValueType](#valuetype)\| Uint8Array \| null | ## SyncMode8+ diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-storage.md b/zh-cn/application-dev/reference/apis/js-apis-data-storage.md index e0e2307ced5b2ace2a6699cd070f0fc37f6938c9..bf111b8806a4bce5cf224b160ea3746e2b688913 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-storage.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-storage.md @@ -793,7 +793,7 @@ off(type: 'change', callback: Callback<StorageObserver>): void **系统能力:** SystemCapability.DistributedDataManager.Preferences.Core -| 名称 | 说明 | +| 类型 | 说明 | | ------- | -------------------- | | number | 表示值类型为数字。 | | string | 表示值类型为字符。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-distributed-account.md b/zh-cn/application-dev/reference/apis/js-apis-distributed-account.md index b732f93c73422cd4bfeafc01ca25962202fef2a1..626629182d7da7c388a03a3c4b0aa37168458d71 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-distributed-account.md +++ b/zh-cn/application-dev/reference/apis/js-apis-distributed-account.md @@ -94,7 +94,7 @@ updateOsAccountDistributedInfo(accountInfo: DistributedInfo, callback: AsyncCall **系统能力:** SystemCapability.Account.OsAccount -**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS,该权限仅供系统应用使用。 +**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS。 - 参数: | 参数名 | 类型 | 必填 | 说明 | @@ -119,7 +119,7 @@ updateOsAccountDistributedInfo(accountInfo: DistributedInfo): Promise<void> **系统能力:** SystemCapability.Account.OsAccount -**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS,该权限仅供系统应用使用。 +**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS。 - 参数: | 参数名 | 类型 | 必填 | 说明 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-distributedMissionManager.md b/zh-cn/application-dev/reference/apis/js-apis-distributedMissionManager.md index c231350a73495a1ac47f649f3171fafbee290044..06169009fee0a611cf2251fdd8e0a41587f3ecfe 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-distributedMissionManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-distributedMissionManager.md @@ -1,10 +1,12 @@ -# distributedMissionManager +# 分布式任务管理 -distributedMissionManager模块提供跨设备系统任务管理能力,包括注册系统任务状态监听、取消系统任务状态监听、开始同步远端任务列表、停止同步远端任务列表操作。 +分布式任务管理模块提供跨设备系统任务管理能力,包括注册系统任务状态监听、取消系统任务状态监听、开始同步远端任务列表、停止同步远端任务列表操作。 > **说明:** > > 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> +> 本模块接口为系统接口。 ## 导入模块 @@ -12,9 +14,6 @@ distributedMissionManager模块提供跨设备系统任务管理能力,包括 import distributedMissionManager from '@ohos.distributedMissionManager' ``` -## 权限列表 - -ohos.permission.MANAGE_MISSIONS ## distributedMissionManager.registerMissionListener @@ -26,14 +25,12 @@ registerMissionListener(parameter: MissionDeviceInfo, options: MissionCallback, **系统能力**:SystemCapability.Ability.AbilityRuntime.Mission -**系统API**: 此接口为系统接口,三方应用不支持调用。 - **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | parameter | MissionDeviceInfo | 是 | 注册监听设备信息。 | - | options | MissionCallback | 是 | 注册的回调方法。 | + | parameter | [MissionDeviceInfo](#missiondeviceinfo) | 是 | 注册监听设备信息。 | + | options | [MissionCallback](#missioncallback) | 是 | 注册的回调方法。 | | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | **示例:** @@ -72,13 +69,11 @@ registerMissionListener(parameter: MissionDeviceInfo, options: MissionCallback): **系统能力**:SystemCapability.Ability.AbilityRuntime.Mission -**系统API**: 此接口为系统接口,三方应用不支持调用。 - **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | parameter | MissionDeviceInfo | 是 | 设备信息。 | + | parameter | [MissionDeviceInfo](#missiondeviceinfo) | 是 | 设备信息。 | | options | MissionCallback | 是 | 注册的回调方法。 | **返回值:** @@ -128,14 +123,11 @@ unregisterMissionListener(parameter: MissionDeviceInfo, callback: AsyncCallback& **系统能力**:SystemCapability.Ability.AbilityRuntime.Mission -**系统API**: 此接口为系统接口,三方应用不支持调用。 - **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 | - | parameter | MissionDeviceInfo | 是 | 设备信息。 | + | parameter | [MissionDeviceInfo](#missiondeviceinfo) | 是 | 设备信息。 | | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | **示例:** @@ -160,13 +152,11 @@ unregisterMissionListener(parameter: MissionDeviceInfo): Promise<void> **系统能力**:SystemCapability.Ability.AbilityRuntime.Mission -**系统API**: 此接口为系统接口,三方应用不支持调用。 - **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | parameter | MissionDeviceInfo | 是 | 设备信息。 | + | parameter | [MissionDeviceInfo](#missiondeviceinfo) | 是 | 设备信息。 | **返回值:** @@ -198,14 +188,11 @@ startSyncRemoteMissions(parameter: MissionParameter, callback: AsyncCallback< **系统能力**:SystemCapability.Ability.AbilityRuntime.Mission -**系统API**: 此接口为系统接口,三方应用不支持调用。 - **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 | - | parameter | MissionParameter | 是 | 同步信息。 | + | parameter | [MissionParameter](#missionparameter) | 是 | 同步信息。 | | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | **示例:** @@ -231,13 +218,11 @@ startSyncRemoteMissions(parameter: MissionParameter): Promise<void> **系统能力**:SystemCapability.Ability.AbilityRuntime.Mission -**系统API**: 此接口为系统接口,三方应用不支持调用。 - **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | parameter | MissionParameter | 是 | 同步信息。 | + | parameter | [MissionParameter](#missionparameter) | 是 | 同步信息。 | **返回值:** @@ -271,14 +256,11 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo, callback: AsyncCallback< **系统能力**:SystemCapability.Ability.AbilityRuntime.Mission -**系统API**: 此接口为系统接口,三方应用不支持调用。 - **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 | - | parameter | MissionDeviceInfo | 是 | 同步信息。 | + | parameter | [MissionDeviceInfo](#missiondeviceinfo) | 是 | 同步信息。 | | callback | AsyncCallback<void> | 是 | 执行结果回调函数。 | **示例:** @@ -302,13 +284,11 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo): Promise<void> **系统能力**:SystemCapability.Ability.AbilityRuntime.Mission -**系统API**: 此接口为系统接口,三方应用不支持调用。 - **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | parameter | MissionDeviceInfo | 是 | 同步信息。 | + | parameter | [MissionDeviceInfo](#missiondeviceinfo) | 是 | 同步信息。 | **返回值:** @@ -330,42 +310,36 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo): Promise<void> }) ``` -## MissionCallback +## MissionCallback 表示开始同步后,建立的回调函数。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Mission -**系统API**: 此接口为系统接口,三方应用不支持调用。 - | 名称 | 类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | | notifyMissionsChanged | function | 是 | 否 | 通知任务变化,返回设备ID。| | notifySnapshot | function | 是 | 否 | 通知快照变化,返回设备ID,任务ID | | notifyNetDisconnect | function | 是 | 否 | 通知断开连接,返回设备ID,网络状态 | -## MissionParameter +## MissionParameter 表示同步时所需参数的枚举。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Mission -**系统API**: 此接口为系统接口,三方应用不支持调用。 - | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | | deviceId | string | 是 | 是 | 表示设备ID。| | fixConflict | boolean | 是 | 是 | 表示是否存在版本冲突。 | | tag | number | 是 | 是 | 表示特定的标签。 | -## MissionDeviceInfo +## MissionDeviceInfo 表示注册监听时所需参数的枚举。 **系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Mission -**系统API**: 此接口为系统接口,三方应用不支持调用。 - | 名称 | 参数类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | | deviceId | string | 是 | 是 | 表示设备ID。| \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-http.md b/zh-cn/application-dev/reference/apis/js-apis-http.md index 33f83d33ea014f99f8d0e484b7d3a9cba2204dd3..54875254f16c162376e44e39b0239173193afd5e 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-http.md +++ b/zh-cn/application-dev/reference/apis/js-apis-http.md @@ -1,6 +1,6 @@ # 数据请求 -本模块提供http数据请求能力。应用可以通过HTTP发起一个数据请求,支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 +本模块提供HTTP数据请求能力。应用可以通过HTTP发起一个数据请求,支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 >**说明:** > @@ -18,15 +18,15 @@ import http from '@ohos.net.http'; ```js import http from '@ohos.net.http'; -// 每一个httpRequest对应一个http请求任务,不可复用 +// 每一个httpRequest对应一个HTTP请求任务,不可复用 let httpRequest = http.createHttp(); -// 用于订阅http响应头,此接口会比request请求先返回。可以根据业务需要订阅此消息 +// 用于订阅HTTP响应头,此接口会比request请求先返回。可以根据业务需要订阅此消息 // 从API 8开始,使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。 8+ httpRequest.on('headersReceive', (header) => { console.info('header: ' + JSON.stringify(header)); }); httpRequest.request( - // 填写http请求的url地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定 + // 填写HTTP请求的URL地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定 "EXAMPLE_URL", { method: http.RequestMethod.POST, // 可选,默认为http.RequestMethod.GET @@ -38,14 +38,14 @@ httpRequest.request( extraData: { "data": "data to send", }, - connectTimeout: 60000, // 可选,默认为60s - readTimeout: 60000, // 可选,默认为60s + connectTimeout: 60000, // 可选,默认为60000ms + readTimeout: 60000, // 可选,默认为60000ms }, (err, data) => { if (!err) { - // data.result为http响应内容,可根据业务需要进行解析 + // data.result为HTTP响应内容,可根据业务需要进行解析 console.info('Result:' + data.result); console.info('code:' + data.responseCode); - // data.header为http响应头,可根据业务需要进行解析 + // data.header为HTTP响应头,可根据业务需要进行解析 console.info('header:' + JSON.stringify(data.header)); console.info('cookies:' + data.cookies); // 8+ } else { @@ -61,7 +61,7 @@ httpRequest.request( createHttp\(\): HttpRequest -创建一个http,里面包括发起请求、中断请求、订阅/取消订阅HTTP Response Header 事件。每一个HttpRequest对象对应一个Http请求。如需发起多个Http请求,须为每个Http请求创建对应HttpRequest对象。 +创建一个HTTP请求,里面包括发起请求、中断请求、订阅/取消订阅HTTP Response Header事件。每一个HttpRequest对象对应一个HTTP请求。如需发起多个HTTP请求,须为每个HTTP请求创建对应HttpRequest对象。 **系统能力**:SystemCapability.Communication.NetStack @@ -81,7 +81,7 @@ let httpRequest = http.createHttp(); ## HttpRequest -http请求任务。在调用HttpRequest的方法前,需要先通过[createHttp\(\)](#httpcreatehttp)创建一个任务。 +HTTP请求任务。在调用HttpRequest的方法前,需要先通过[createHttp\(\)](#httpcreatehttp)创建一个任务。 ### request @@ -432,9 +432,9 @@ request方法回调函数的返回值类型。 | 参数名 | 类型 | 必填 | 说明 | | -------------------- | -------------------------------------------- | ---- | ------------------------------------------------------------ | -| result | string \| Object \| ArrayBuffer8+ | 是 | Http请求根据响应头中Content-type类型返回对应的响应格式内容:
- application/json:返回JSON格式的字符串,如需Http响应具体内容,需开发者自行解析
- application/octet-stream:ArrayBuffer
- 其他:string | +| result | string \| Object \| ArrayBuffer8+ | 是 | HTTP请求根据响应头中Content-type类型返回对应的响应格式内容:
- application/json:返回JSON格式的字符串,如需HTTP响应具体内容,需开发者自行解析
- application/octet-stream:ArrayBuffer
- 其他:string | | responseCode | [ResponseCode](#responsecode) \| number | 是 | 回调函数执行成功时,此字段为[ResponseCode](#responsecode)。若执行失败,错误码将会从AsyncCallback中的err字段返回。错误码参考[Response错误码](#response常用错误码)。 | -| header | Object | 是 | 发起http请求返回来的响应头。当前返回的是JSON格式字符串,如需具体字段内容,需开发者自行解析。常见字段及解析方式如下:
- Content-Type:header['Content-Type'];
- Status-Line:header['Status-Line'];
- Date:header.Date/header['Date'];
- Server:header.Server/header['Server']; | +| header | Object | 是 | 发起HTTP请求返回来的响应头。当前返回的是JSON格式字符串,如需具体字段内容,需开发者自行解析。常见字段及解析方式如下:
- Content-Type:header['Content-Type'];
- Status-Line:header['Status-Line'];
- Date:header.Date/header['Date'];
- Server:header.Server/header['Server']; | | cookies8+ | Array\ | 是 | 服务器返回的 cookies。 | ## Response常用错误码 diff --git a/zh-cn/application-dev/reference/apis/js-apis-media.md b/zh-cn/application-dev/reference/apis/js-apis-media.md index 88e0e86c694e85721a6685e10104352f3971fc71..f8964e2aea402ab3662c6b01670e90236b16d69e 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-media.md +++ b/zh-cn/application-dev/reference/apis/js-apis-media.md @@ -276,8 +276,8 @@ Codec MIME类型枚举。 | 名称 | 类型 | 可读 | 可写 | 说明 | | ------------------------------- | ----------------------------------- | ---- | ---- | ------------------------------------------------------------ | -| src | string | 是 | 是 | 音频媒体URI,支持当前主流的视频格式(m4a、aac、mp3、ogg、wav)。
**支持路径示例**:
1. fd类型播放:fd://xx
![](figures/zh-cn_image_url.png)
2. http网络播放: http://xx
3. https网络播放: https://xx
4. hls网络播放路径:http://xx或者https://xx
**注意事项**:
**需要权限:** ohos.permission.READ_MEDIA;如果需要使用网络素材,还需要申请ohos.permission.INTERNET。 | -| fdSrc9+ | [AVFileDescriptor](#interruptmode9) | 是 | 是 | 音频媒体文件描述,使用场景:应用中的音频资源被连续存储在同一个文件中。
**使用示例**:
假设一个连续存储的音乐文件:
音乐1(地址偏移:0,字节长度:100)
音乐2(地址偏移:101,字节长度:50)
音乐3(地址偏移:151,字节长度:150)
1. 播放音乐1:AVFileDescriptor { fd = 资源句柄; offset = 0; lengt = 100; }
2. 播放音乐2:AVFileDescriptor { fd = 资源句柄; offset = 101; length = 50; }
3. 播放音乐3:AVFileDescriptor { fd = 资源句柄; offset = 151; length = 150; }
假设是一个独立的音乐文件: 请使用src=fd://xx
**注意事项**:
**需要权限:** ohos.permission.READ_MEDIA; | +| src | string | 是 | 是 | 音频媒体URI,支持当前主流的视频格式(m4a、aac、mp3、ogg、wav)。
**支持路径示例**:
1. fd类型播放:fd://xx
![](figures/zh-cn_image_url.png)
2. http网络播放: http://xx
3. https网络播放: https://xx
4. hls网络播放路径:http://xx或者https://xx
**需要权限:** ohos.permission.READ_MEDIA;如果需要使用网络素材,还需要申请ohos.permission.INTERNET。 | +| fdSrc9+ | [AVFileDescriptor](#interruptmode9) | 是 | 是 | 音频媒体文件描述,使用场景:应用中的音频资源被连续存储在同一个文件中。
**使用示例**:
假设一个连续存储的音乐文件:
音乐1(地址偏移:0,字节长度:100)
音乐2(地址偏移:101,字节长度:50)
音乐3(地址偏移:151,字节长度:150)
1. 播放音乐1:AVFileDescriptor { fd = 资源句柄; offset = 0; lengt = 100; }
2. 播放音乐2:AVFileDescriptor { fd = 资源句柄; offset = 101; length = 50; }
3. 播放音乐3:AVFileDescriptor { fd = 资源句柄; offset = 151; length = 150; }
假设是一个独立的音乐文件: 请使用src=fd://xx
**注意事项**:
**需要权限:** ohos.permission.READ_MEDIA | | loop | boolean | 是 | 是 | 音频循环播放属性,设置为'true'表示循环播放。 | | audioInterruptMode9+ | [InterruptMode](#interruptmode9) | 是 | 是 | 音频焦点模型。 | | currentTime | number | 是 | 否 | 音频的当前播放位置,单位为毫秒(ms)。 | @@ -694,8 +694,8 @@ audioPlayer.setVolume(3); //设置volume为无效值,触发'error'事件 | 名称 | 类型 | 可读 | 可写 | 说明 | | ------------------------ | ---------------------------------- | ---- | ---- | ------------------------------------------------------------ | -| url8+ | string | 是 | 是 | 视频媒体URL,支持当前主流的视频格式(mp4、mpeg-ts、webm、mkv)。
**支持路径示例**:
1. fd类型播放:fd://xx
![](figures/zh-cn_image_url.png)
2. http网络播放: http://xx
3. https网络播放: https://xx
4. hls网络播放路径:http://xx或者https://xx
**注意事项**:
**需要权限:** ohos.permission.READ_MEDIA;如果需要使用网络素材,还需要申请ohos.permission.INTERNET。 | -| fdSrc9+ | [AVFileDescriptor](#interruptmode9) | 是 | 是 | 音频媒体文件描述,使用场景:应用中的音频资源被连续存储在同一个文件中。
**使用示例**:
假设一个连续存储的音乐文件:
音乐1(地址偏移:0,字节长度:100)
音乐2(地址偏移:101,字节长度:50)
音乐3(地址偏移:151,字节长度:150)
1. 播放音乐1:AVFileDescriptor { fd = 资源句柄; offset = 0; lengt = 100; }
2. 播放音乐2:AVFileDescriptor { fd = 资源句柄; offset = 101; length = 50; }
3. 播放音乐3:AVFileDescriptor { fd = 资源句柄; offset = 151; length = 150; }
假设是一个独立的音乐文件: 请使用src=fd://xx
**注意事项**:
**需要权限:** ohos.permission.READ_MEDIA; | +| url8+ | string | 是 | 是 | 视频媒体URL,支持当前主流的视频格式(mp4、mpeg-ts、webm、mkv)。
**支持路径示例**:
1. fd类型播放:fd://xx
![](figures/zh-cn_image_url.png)
2. http网络播放: http://xx
3. https网络播放: https://xx
4. hls网络播放路径:http://xx或者https://xx
**需要权限:** ohos.permission.READ_MEDIA;如果需要使用网络素材,还需要申请ohos.permission.INTERNET。 | +| fdSrc9+ | [AVFileDescriptor](#interruptmode9) | 是 | 是 | 音频媒体文件描述,使用场景:应用中的音频资源被连续存储在同一个文件中。
**使用示例**:
假设一个连续存储的音乐文件:
音乐1(地址偏移:0,字节长度:100)
音乐2(地址偏移:101,字节长度:50)
音乐3(地址偏移:151,字节长度:150)
1. 播放音乐1:AVFileDescriptor { fd = 资源句柄; offset = 0; lengt = 100; }
2. 播放音乐2:AVFileDescriptor { fd = 资源句柄; offset = 101; length = 50; }
3. 播放音乐3:AVFileDescriptor { fd = 资源句柄; offset = 151; length = 150; }
假设是一个独立的音乐文件: 请使用src=fd://xx
**注意事项**:
**需要权限:** ohos.permission.READ_MEDIA | | loop8+ | boolean | 是 | 是 | 视频循环播放属性,设置为'true'表示循环播放。 | | videoScaleType9+ | [VideoScaleType](#videoscaletype9) | 是 | 是 | 视频缩放模式。 | | audioInterruptMode9+ | [InterruptMode](#interruptmode9) | 是 | 是 | 音频焦点模型。 | @@ -1365,7 +1365,7 @@ videoPlayer.setSpeed(speed).then() => { selectBitrate(bitrate:number, callback: AsyncCallback\): void -通过回调方式设置码率,通过[availableBitratesCollect](#on('availableBitratesCollect')9+)获取当前码流支持的Bitrate。 +通过回调方式设置码率,通过[availableBitratesCollect](#onavailablebitratescollect9)获取当前码流支持的Bitrate。 **系统能力:** SystemCapability.Multimedia.Media.VideoPlayer @@ -1393,7 +1393,7 @@ videoPlayer.selectBitrate(bitrate, (err, result) => { selectBitrate(bitrate:number): Promise\ -通过Promise方式设置码率,通过[availableBitratesCollect](#on('availableBitratesCollect')9+)获取当前码流支持的Bitrate。 +通过Promise方式设置码率,通过[availableBitratesCollect](#onavailablebitratescollect9)获取当前码流支持的Bitrate。 **系统能力:** SystemCapability.Multimedia.Media.VideoPlayer @@ -2020,7 +2020,7 @@ prepare(config: VideoRecorderConfig): Promise\; 异步方式进行视频录制的参数设置。通过Promise获取返回值。 -**需要权限:** ohos.permission.MICROPHONE,ohos.permission.CAMERA +**需要权限:** ohos.permission.MICROPHONE **系统能力:** SystemCapability.Multimedia.Media.VideoRecorder diff --git a/zh-cn/application-dev/reference/apis/js-apis-nfcController.md b/zh-cn/application-dev/reference/apis/js-apis-nfcController.md index 3c5f93e921166502fb31087f60398aa317748960..2e77f939b7aecb764479e398adec859ce0b0cc04 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-nfcController.md +++ b/zh-cn/application-dev/reference/apis/js-apis-nfcController.md @@ -19,6 +19,8 @@ isNfcAvailable(): boolean 查询是否有NFC功能 +**系统能力**:SystemCapability.Communication.NFC.Core + **返回值:** | **类型** | **说明** | @@ -34,7 +36,7 @@ openNfc(): boolean **需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **返回值:** @@ -50,7 +52,7 @@ closeNfc(): boolean **需要权限**:ohos.permission.MANAGE_SECURE_SETTINGS -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **返回值:** @@ -64,7 +66,7 @@ isNfcOpen(): boolean 查询NFC是否打开。 -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **返回值:** @@ -78,7 +80,7 @@ getNfcState(): NfcState 查询NFC状态。 -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **返回值:** @@ -92,7 +94,7 @@ on(type: "nfcStateChange", callback: Callback<NfcState>): void 注册NFC开关状态事件。 -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **参数** @@ -109,7 +111,7 @@ off(type: "nfcStateChange", callback?: Callback<NfcState>): void 取消NFC开关状态事件的注册。 -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **参数** @@ -140,6 +142,8 @@ off(type: "nfcStateChange", callback?: Callback<NfcState>): void 表示NFC状态的枚举。 +**系统能力**:SystemCapability.Communication.NFC.Core + | 名称 | 默认值 | 说明 | | -------- | -------- | -------- | | STATE_OFF | 1 | NFC关闭状态 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md b/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md index 1bdfb12782670be5df4a7c1ec26a15d57918aee7..94550568a43da3bf71c1313b18d8a6a6cd1eafbd 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md +++ b/zh-cn/application-dev/reference/apis/js-apis-nfcTag.md @@ -21,7 +21,7 @@ getNfcATag(tagInfo: TagInfo): NfcATag **需要权限**:ohos.permission.NFC_TAG -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **返回值:** @@ -37,7 +37,7 @@ getNfcBTag(tagInfo: TagInfo): NfcBTag **需要权限**:ohos.permission.NFC_TAG -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **返回值:** @@ -53,7 +53,7 @@ getNfcFTag(tagInfo: TagInfo): NfcFTag **需要权限**:ohos.permission.NFC_TAG -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **返回值:** @@ -69,7 +69,7 @@ getNfcVTag(tagInfo: TagInfo): NfcVTag **需要权限**:ohos.permission.NFC_TAG -**系统能力**:SystemCapability.Communication.NFC +**系统能力**:SystemCapability.Communication.NFC.Core **返回值:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-radio.md b/zh-cn/application-dev/reference/apis/js-apis-radio.md index b8665dec70d0478eb375734d4525fa26e5f67939..6e8a6b65b23fc23f04149007c1aa293745ed06ad 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-radio.md +++ b/zh-cn/application-dev/reference/apis/js-apis-radio.md @@ -1886,7 +1886,7 @@ Nr的选择模式。 | 名称 | 类型 | 说明 | | ---------------------- | ------------------------------------------------- | -------------- | | isNetworkSearchSuccess | boolean | 网络搜索成功。 | -| networkSearchResult | Array<[NetworkInformation](#networkInformation)\> | 网络搜索结果。 | +| networkSearchResult | Array<[NetworkInformation](#networkinformation)\> | 网络搜索结果。 | ## NetworkInformation @@ -1900,7 +1900,7 @@ Nr的选择模式。 | --------------- | ----------------------------------------- | -------------- | | operatorName | string | 运营商的名称。 | | operatorNumeric | string | 运营商数字。 | -| state | [NetworkInformation](#networkInformation) | 网络信息状态。 | +| state | [NetworkInformationState](#networkinformationstate) | 网络信息状态。 | | radioTech | string | 无线电技术。 | ## NetworkInformationState diff --git a/zh-cn/application-dev/reference/apis/js-apis-request.md b/zh-cn/application-dev/reference/apis/js-apis-request.md index e035d2ffaa79c9c5780cd30a2d2c3ae52883e0d5..8f614569dea1038acd5932ba45a1a3d68aed2461 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-request.md +++ b/zh-cn/application-dev/reference/apis/js-apis-request.md @@ -18,7 +18,7 @@ import request from '@ohos.request'; 在开发FA模型下的应用程序时,需要在config.json配置文件中对应用结构进行声明,在config.json文件中增加network标签,属性标识 "cleartextTraffic": true。即: -``` +```js var config = { "deviceConfig": { "default": { @@ -341,6 +341,8 @@ remove(callback: AsyncCallback<boolean>): void ## UploadConfig +**需要权限**:ohos.permission.INTERNET + **系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Upload。 | 名称 | 类型 | 必填 | 说明 | @@ -354,7 +356,9 @@ remove(callback: AsyncCallback<boolean>): void ## File -**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Upload。 +**需要权限**:ohos.permission.INTERNET + +**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Download | 名称 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -366,8 +370,9 @@ remove(callback: AsyncCallback<boolean>): void ## RequestData -**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Upload。 +**需要权限**:ohos.permission.INTERNET +**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Download | 名称 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | name | string | 是 | 表示表单元素的名称。 | @@ -939,6 +944,8 @@ resume(callback: AsyncCallback<void>): void ## DownloadConfig +**需要权限**:ohos.permission.INTERNET + **系统能力**: SystemCapability.MiscServices.Download | 名称 | 类型 | 必填 | 说明 | @@ -955,6 +962,8 @@ resume(callback: AsyncCallback<void>): void ## DownloadInfo7+ +**需要权限**:ohos.permission.INTERNET + **系统能力**: SystemCapability.MiscServices.Download | 名称 | 类型 | 必填 | 说明 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-router.md b/zh-cn/application-dev/reference/apis/js-apis-router.md index 377832a995bd028f998553f0ae3bc72fb4d316f1..2b6cf2dcb4dd56d65dc34cb7d3e7ef7c841833f6 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-router.md +++ b/zh-cn/application-dev/reference/apis/js-apis-router.md @@ -133,7 +133,7 @@ back(options?: RouterOptions ): void **示例:** ```js -router.back({uri:'pages/detail'}); +router.back({url:'pages/detail'}); ``` ## router.clear @@ -313,7 +313,7 @@ export default { // 在detail页面中 export default { onInit() { - console.info('showData1:' + router.getParams().data1); + console.info('showData1:' + router.getParams()[data1]); } } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-screen-lock.md b/zh-cn/application-dev/reference/apis/js-apis-screen-lock.md index 7581861012f98b643114b083430ce37cf1ae0734..1f3b7ed1329150c973496061d0a4bd780cf08616 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-screen-lock.md +++ b/zh-cn/application-dev/reference/apis/js-apis-screen-lock.md @@ -177,6 +177,8 @@ on(type: 'beginWakeUp' | 'endWakeUp' | 'beginScreenOn' | 'endScreenOn' | 'beginS **系统能力**: SystemCapability.MiscServices.ScreenLock +**系统API**:此接口为系统接口,三方应用不支持调用。 + **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -199,6 +201,8 @@ on(type: 'beginSleep' | 'endSleep' | 'changeUser', callback: Callback\) **系统能力**: SystemCapability.MiscServices.ScreenLock +**系统API**:此接口为系统接口,三方应用不支持调用。 + **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -220,6 +224,8 @@ on(type: 'screenlockEnabled', callback: Callback\): void **系统能力**: SystemCapability.MiscServices.ScreenLock +**系统API**:此接口为系统接口,三方应用不支持调用。 + **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -243,6 +249,8 @@ off(type: 'beginWakeUp' | 'endWakeUp' | 'beginScreenOn' | 'endScreenOn' | 'begin **系统能力**: SystemCapability.MiscServices.ScreenLock +**系统API**:此接口为系统接口,三方应用不支持调用。 + **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | @@ -265,6 +273,8 @@ sendScreenLockEvent(event: String, parameter: number, callback: AsyncCallback\9+ -sendScreenLockEvent(event: String, parameter: number): Promise +sendScreenLockEvent(event: String, parameter: number): Promise\ 应用发送事件到锁屏服务,异步方法。 **系统能力**: SystemCapability.MiscServices.ScreenLock +**系统API**:此接口为系统接口,三方应用不支持调用。 + **参数**: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | diff --git a/zh-cn/application-dev/reference/apis/js-apis-sim.md b/zh-cn/application-dev/reference/apis/js-apis-sim.md index 49a02e0b4d5aa3528b2ad47b3865a458331358c4..2b6bd5ab5c47dda68a1940f8a6b8a3901199f1ac 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-sim.md +++ b/zh-cn/application-dev/reference/apis/js-apis-sim.md @@ -2133,7 +2133,7 @@ getOperatorConfigs(slotId: number): Promise> | 类型 | 说明 | | --------------------------------------------------- | ----------------------------- | -| Promise> | 以Promise形式返回运营商配置。 | +| Promise> | 以Promise形式返回运营商配置。 | **示例:** @@ -2163,7 +2163,7 @@ queryIccDiallingNumbers(slotId: number, type: ContactType, callback: AsyncCallba | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------------------------------------------ | ---- | ---------------------------------------------------------- | | slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| type | ContactType | 是 | 联系人类型。
1 : GENERAL_CONTACT
2 : FIXED_DIALING | +| type | [ContactType](#contactype8) | 是 | 联系人类型。
1 : GENERAL_CONTACT
2 : FIXED_DIALING | | callback | AsyncCallback> | 是 | 回调函数。 | **示例:** @@ -2192,7 +2192,7 @@ queryIccDiallingNumbers(slotId: number, type: ContactType): Promise- 0:卡槽1
- 1:卡槽2 | -| type | ContactType | 是 | 联系人类型。
1 : GENERAL_CONTACT
2 : FIXED_DIALING | +| type | [ContactType](#contactype8) | 是 | 联系人类型。
1 : GENERAL_CONTACT
2 : FIXED_DIALING | **返回值:** @@ -2829,7 +2829,7 @@ SIM卡状态。 | LOCK_OFF | 0 | 锁关闭状态 | | LOCK_ON | 1 | 锁开启状态 | -## **PersoLockType**8+ +## PersoLockType8+ 定制锁类型。 @@ -2850,7 +2850,7 @@ SIM卡状态。 | SIM_PIN_LOCK | 8 | 定制SIM的PIN锁*(参照 3GPP TS 22.022 [33])* | | SIM_PUK_LOCK | 9 | 定制SIM的PUK锁 | -## **LockStatusResponse**7+ +## LockStatusResponse7+ 锁状态响应。 @@ -2863,7 +2863,7 @@ SIM卡状态。 | result | number | 当前操作的结果 | | remain?: number | number | 剩余次数(可以为空) | -## **LockInfo**8+ +## LockInfo8+ 锁状态响应。 @@ -2877,7 +2877,7 @@ SIM卡状态。 | password | string | 密码 | | state | [LockState](#lockstate8) | 锁状态 | -## **PersoLockInfo**8+ +## PersoLockInfo8+ 锁状态响应。 @@ -2890,7 +2890,7 @@ SIM卡状态。 | lockType | [PersoLockType](#persolocktype8) | 定制锁的类型 | | password | string | 密码 | -## **IccAccountInfo**7+ +## IccAccountInfo7+ Icc账户信息。 @@ -2908,7 +2908,7 @@ Icc账户信息。 | showName | string | SIM卡显示名称 | | showNumber | string | SIM卡显示号码 | -## **OperatorConfig**8+ +## OperatorConfig8+ 运营商配置。 @@ -2921,7 +2921,7 @@ Icc账户信息。 | field | string | 字段 | | value | string | 值 | -## **DiallingNumbersInfo**8+ +## DiallingNumbersInfo8+ 拨号号码信息。 @@ -2936,7 +2936,7 @@ Icc账户信息。 | recordNumber | number | 记录编号 | | pin2 | string | pin2密码 | -## **ContactType**8+ +## ContactType8+ 联系人类型。 diff --git a/zh-cn/application-dev/reference/apis/js-apis-sms.md b/zh-cn/application-dev/reference/apis/js-apis-sms.md index 4fd42d04b18e03ac03e1d70d9f4a252fb44f1bf5..65468e08bab26059709abe64f47cf0eed8c0d5c7 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-sms.md +++ b/zh-cn/application-dev/reference/apis/js-apis-sms.md @@ -818,7 +818,7 @@ getSmsSegmentsInfo(slotId: number, message: string, force7bit: boolean, callback | slotId | number | 是 | SIM卡槽ID:
- 0:卡槽1
- 1:卡槽2 | | message | string | 是 | 消息 | | force7bit | boolean | 是 | 是否使用7bit编码 | -| callback | AsyncCallback<[SmsSegmentsInfo](#<smssegmentsinfo8)> | 是 | 回调函数 | +| callback | AsyncCallback<[SmsSegmentsInfo](#smssegmentsinfo8)> | 是 | 回调函数 | **示例:** @@ -852,7 +852,7 @@ getSmsSegmentsInfo(slotId: number, message: string, force7bit: boolean): Promise | 类型 | 说明 | | ------------------------------------------------------- | ----------------------------- | -| Promise<[SmsSegmentsInfo](#<smssegmentsinfo8)> | 以Promise形式返回短信段信息。 | +| Promise<[SmsSegmentsInfo](#smssegmentsinfo8)> | 以Promise形式返回短信段信息。 | **示例:** @@ -1209,7 +1209,7 @@ promise.then(data => { | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------------------------------------------------------------ | ---- | --------- | | messageType | [MessageType](#messagetype8) | 是 | 消息类型 | -| mmsType | [MmsSendReq](#mmssendreq8) \|[MmsSendConf](#mmssendconf8) \|[MmsNotificationInd](#mmsnotificationind8) \|[MmsRespInd](#mmsrespind8) \|[MmsRetrieveConf](#mmsretrieveconf8)\|[MmsAcknowledgeInd](#mmsacknowledgeind8)\|[MmsDeliveryInd](#mmsdeliveryind8)\|[MmsReadOrigInd](#mmsreadorigInd8)\|[MmsReadRecInd](#mmsreadorigind8) | 是 | pdu头类型 | +| mmsType | [MmsSendReq](#mmssendreq8) \|[MmsSendConf](#mmssendconf8) \|[MmsNotificationInd](#mmsnotificationind8) \|[MmsRespInd](#mmsrespind8) \|[MmsRetrieveConf](#mmsretrieveconf8)\|[MmsAcknowledgeInd](#mmsacknowledgeind8)\|[MmsDeliveryInd](#mmsdeliveryind8)\|[MmsReadOrigInd](#mmsreadorigind8)\|[MmsReadRecInd](#mmsreadrecind8) | 是 | pdu头类型 | | attachment | Array<[MmsAttachment](#mmsattachment8)\> | 否 | 附件 | ## MmsSendReq8+ @@ -1307,7 +1307,7 @@ promise.then(data => { | from | [MmsAddress](#mmsaddress8) | 否 | 来源 | | cc | Array<[MmsAddress](#mmsaddress8)\> | 否 | 抄送 | | subject | string | 否 | 主题 | -| priority | [MmsPriorityType](#mmsPrioritytype8) | 否 | 优先级 | +| priority | [MmsPriorityType](#mmsprioritytype8) | 否 | 优先级 | | deliveryReport | number | 否 | 状态报告 | | readReport | number | 否 | 阅读报告 | | retrieveStatus | number | 否 | 检索状态 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-system-mediaquery.md b/zh-cn/application-dev/reference/apis/js-apis-system-mediaquery.md index 03a18e692036dcb20736e2e068877fe4da0da26a..8863410838a0358dcf16328583d12a169d055d9b 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-system-mediaquery.md +++ b/zh-cn/application-dev/reference/apis/js-apis-system-mediaquery.md @@ -40,11 +40,7 @@ matchMedia(condition: string): MediaQueryList **示例:** ``` -export default { - matchMedia() { - var mMediaQueryList = mediaquery.matchMedia('(max-width: 466)'); - }, -} +var mMediaQueryList = mediaquery.matchMedia('(max-width: 466)'); ``` ## MediaQueryEvent @@ -102,6 +98,11 @@ addListener(callback: (event: MediaQueryEvent) => void): void **示例:** ``` +function maxWidthMatch(e){ + if(e.matches){ + // do something + } +} mMediaQueryList.addListener(maxWidthMatch); ``` @@ -123,6 +124,11 @@ removeListener(callback: (event: MediaQueryEvent) => void): void **示例:** ``` +function maxWidthMatch(e){ + if(e.matches){ + // do something + } +} mMediaQueryList.removeListener(maxWidthMatch); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-util.md b/zh-cn/application-dev/reference/apis/js-apis-util.md index 742e63da1256359ad60510c0283ae75ac9577d52..284ed6b1fd24575280e07ec2c273d5fa2f58ea4e 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-util.md +++ b/zh-cn/application-dev/reference/apis/js-apis-util.md @@ -1910,8 +1910,7 @@ isExternal(value: Object): boolean **示例:** ```js var that = new util.types(); - const data = util.createExternalType(); - var result = that.isExternal(data); + var result = that.isExternal(true); ``` diff --git a/zh-cn/application-dev/reference/arkui-js/js-components-canvas-canvasgradient.md b/zh-cn/application-dev/reference/arkui-js/js-components-canvas-canvasgradient.md index 7e15c7fe8db6ac15a3fde659c8e29b101e49f435..a8b786f7d2b8bb5449a63effabe5d92533ff81e3 100644 --- a/zh-cn/application-dev/reference/arkui-js/js-components-canvas-canvasgradient.md +++ b/zh-cn/application-dev/reference/arkui-js/js-components-canvas-canvasgradient.md @@ -22,7 +22,7 @@ addColorStop(offset: number, color: string): void ```html
- +
``` diff --git a/zh-cn/application-dev/reference/arkui-js/js-components-canvas-path2d.md b/zh-cn/application-dev/reference/arkui-js/js-components-canvas-path2d.md index b5921f229cf767b55c435695fc43e11c6090a649..803ca487efb7fb7c181a7d975828f5c0319c7765 100644 --- a/zh-cn/application-dev/reference/arkui-js/js-components-canvas-path2d.md +++ b/zh-cn/application-dev/reference/arkui-js/js-components-canvas-path2d.md @@ -21,7 +21,7 @@ addPath(path: Object): void ```html
- +
``` @@ -61,7 +61,7 @@ setTransform(scaleX: number, skewX: number, skewY: number, scaleY: number, trans ```html
- +
``` @@ -91,7 +91,7 @@ closePath(): void ```html
- +
``` @@ -130,7 +130,7 @@ moveTo(x: number, y: number): void ```html
- +
``` @@ -169,7 +169,7 @@ lineTo(x: number, y: number): void ```html
- +
``` @@ -213,7 +213,7 @@ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, ```html
- +
``` @@ -252,7 +252,7 @@ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void ```html
- +
``` @@ -293,7 +293,7 @@ arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, ```html
- +
``` @@ -332,7 +332,7 @@ arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void ```html
- +
``` @@ -374,7 +374,7 @@ ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number ```html
- +
``` @@ -412,7 +412,7 @@ rect(x: number, y: number, width: number, height: number): void ```html
- +
``` diff --git a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001250678457.gif b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001250678457.gif index 6b44b6a2adc2528e13e95bc10d2a67874226a63b..96afd9a948c90e22cd52ab4c55218bf97591b3ec 100644 Binary files a/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001250678457.gif and b/zh-cn/application-dev/reference/arkui-ts/figures/zh-cn_image_0000001250678457.gif differ diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md index c2d7304ceeedfb3237be0b2dbdaa5897d869a6b5..a22b6dbc6f0ecf949284cf5f20d8e08e211a342c 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-image.md @@ -234,8 +234,8 @@ struct ImageExample2 { @Entry @Component struct ImageExample3 { - @State width: number = 0 - @State height: number = 0 + @State widthValue: number = 0 + @State heightValue: number = 0 private on: Resource = $r('app.media.image_on') private off: Resource = $r('app.media.image_off') private on2off: Resource = $r('app.media.image_on2off') @@ -256,8 +256,8 @@ struct ImageExample3 { .height(180).width(180) // 图片加载完成后,获取图片尺寸。 .onComplete((msg: { width: number,height: number }) => { - this.width = msg.width - this.height = msg.height + this.widthValue = msg.width + this.heightValue = msg.height }) .onError(() => { console.log('load image fail') diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-remotewindow.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-remotewindow.md index 2b20aca25bc08b65bc31ac38194491f8f07f1bf2..83968b2c31527c44783936c828ec688a41408fe6 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-remotewindow.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-remotewindow.md @@ -61,13 +61,15 @@ struct RemoteWindowExample { @State target: WindowAnimationTarget = undefined // 通过windowAnimationManager获取 build() { - RemoteWindow(this.target) - .translate({x:100, y:200}) - .scale({x:0.5, y:0.5}) + Column() { + RemoteWindow(this.target) + .translate({x:100, y:200}) + .scale({x:0.5, y:0.5}) .opacity(0.8) - .position({x:px2vp(this.target?.windowBounds.left), y:px2vp(this.target?.windowBounds.top)}) - .width(px2vp(this.target?.windowBounds.width)) - .height(px2vp(this.target?.windowBounds.height)) + .position({x:px2vp(this.target?.windowBounds.left), y:px2vp(this.target?.windowBounds.top)}) + .width(px2vp(this.target?.windowBounds.width)) + .height(px2vp(this.target?.windowBounds.height)) + } } } ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-richtext.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-richtext.md index 0cad7bdb93a51273eddf25c96c70edfbe208e2f1..0f6bafb6ce0a4fffc2f41e93c164e3c9d41bceeb 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-richtext.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-richtext.md @@ -48,7 +48,7 @@ RichText\(content:string\) | \ | 用于定义客户端文本,比如JavaScript。 | \ | ## 示例 - +示例效果请以真机运行为准,当前IDE预览器不支持。 ```ts // xxx.ets @Entry diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-text.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-text.md index b01ca87835f4d78d370d767d30944bd9483b3cb3..879b659b80285fc1330a05ecad42de5f5e0e155f 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-text.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-text.md @@ -23,7 +23,7 @@ Text(content?: string) - 参数 | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | | -------- | -------- | -------- | -------- | -------- | - | content | string | 否 | '' | 文本内容,包含子组件Span时不生效,显示Span内容。 | + | content | string | 否 | '' | 文本内容。包含子组件Span时不生效,显示Span内容,并且此时text组件的样式不生效。 | ## 属性 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-xcomponent.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-xcomponent.md index a9d70accd7d88e1d2715d06407c7c9bfc627dccd..a16c30fb3ab8e46fb947384bc86869b7dff8316f 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-xcomponent.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-xcomponent.md @@ -1,7 +1,7 @@ # XComponent > **说明:** - > 该组件从API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 + > 该组件从API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 可用于EGL/OpenGLES和媒体数据写入,并显示在XComponent组件。 @@ -83,8 +83,8 @@ getXComponentContext(): Object ## 示例 -提供surface类型XComponent,支持相机预览等能力。 - +提供surface类型XComponent,支持相机预览等能力。 +示例效果请以真机运行为准,当前IDE预览器不支持。 ```ts // xxx.ets import camera from '@ohos.multimedia.camera'; diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-gestures-pinchgesture.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-gestures-pinchgesture.md index 317f763e1e1af6bba81cf61bfbed7749992b7751..d55eb0105e3ab4ff05f8b12c0169b73e8c44d702 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-gestures-pinchgesture.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-gestures-pinchgesture.md @@ -46,21 +46,21 @@ PinchGesture(options?: { fingers?: number, distance?: number }) @Entry @Component struct PinchGestureExample { - @State scale: number = 1 + @State scaleValue: number = 1 build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.SpaceBetween }) { Text('PinchGesture scale:' + this.scale) } .height(100).width(200).padding(20).border({ width: 1 }).margin(80) - .scale({ x: this.scale, y: this.scale, z: this.scale }) + .scale({ x: this.scaleValue, y: this.scaleValue, z: this.scaleValue }) .gesture( PinchGesture() .onActionStart((event: GestureEvent) => { console.info('Pinch start') }) .onActionUpdate((event: GestureEvent) => { - this.scale = event.scale + this.scaleValue = event.scale }) .onActionEnd(() => { console.info('Pinch end') diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md b/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md index 509e251930194036186e44cfd9519cc348d9564e..fcbb96d0992f6a596f7b0ea8856e40acf31dcf66 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-canvasrenderingcontext2d.md @@ -258,7 +258,7 @@ struct MiterLimit { // xxx.ets @Entry @Component -struct Font { +struct Fonts { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-combined-gestures.md b/zh-cn/application-dev/reference/arkui-ts/ts-combined-gestures.md index d5d3324e8a027846ca166638f9be4c9a93d90602..b702af0af1c0573fb956353f282a4704dd47c084 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-combined-gestures.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-combined-gestures.md @@ -46,13 +46,13 @@ struct GestureGroupExample { @State count: number = 0 @State offsetX: number = 0 @State offsetY: number = 0 - @State borderStyle: BorderStyle = BorderStyle.Solid + @State borderStyles: BorderStyle = BorderStyle.Solid build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.SpaceBetween }) { Text('sequence gesture\n' + 'LongPress onAction:' + this.count + '\nPanGesture offset:\nX: ' + this.offsetX + '\n' + 'Y: ' + this.offsetY) }.translate({ x: this.offsetX, y: this.offsetY, z: 5 }) - .height(100).width(200).padding(10).margin(80).border({ width: 1, style: this.borderStyle }) + .height(100).width(200).padding(10).margin(80).border({ width: 1, style: this.borderStyles }) .gesture( GestureGroup(GestureMode.Sequence, LongPressGesture({ repeat: true }) @@ -65,7 +65,7 @@ struct GestureGroupExample { }), PanGesture({}) .onActionStart(() => { - this.borderStyle = BorderStyle.Dashed + this.borderStyles = BorderStyle.Dashed console.log('pan start') }) .onActionUpdate((event: GestureEvent) => { diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-container-flex.md b/zh-cn/application-dev/reference/arkui-ts/ts-container-flex.md index ee0bb24bd1f9eb57601876261f641459a3cf8961..d837cc9327403593ac22f08525e849db972131f2 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-container-flex.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-container-flex.md @@ -41,10 +41,10 @@ Flex(options?: { direction?: FlexDirection, wrap?: FlexWrap, justifyContent?: F | ColumnReverse | 与Column相反方向进行布局。 | - FlexWrap枚举说明 - | 名称 | 描述 | - | ----------- | --------------------------- | - | NoWrap | Flex容器的元素单行/列布局,子项允许超出容器。 | - | Wrap | Flex容器的元素多行/列排布,子项允许超出容器。 | + | 名称 | 描述 | + | ----------- | ------------------------------------------------- | + | NoWrap | Flex容器的元素单行/列布局,子项不允许超出容器。 | + | Wrap | Flex容器的元素多行/列排布,子项允许超出容器。 | | WrapReverse | Flex容器的元素反向多行/列排布,子项允许超出容器。 | - FlexAlign枚举说明 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-offscreencanvasrenderingcontext2d.md b/zh-cn/application-dev/reference/arkui-ts/ts-offscreencanvasrenderingcontext2d.md index 636b48a740299ad172913c7f111ab131e6ddb4e4..67c71bd0f8629e485eca456e700dddd7047c2ab2 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-offscreencanvasrenderingcontext2d.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-offscreencanvasrenderingcontext2d.md @@ -266,7 +266,7 @@ struct MiterLimit { // xxx.ets @Entry @Component -struct Font { +struct Fonts { private settings: RenderingContextSettings = new RenderingContextSettings(true) private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) private offContext: OffscreenCanvasRenderingContext2D = new OffscreenCanvasRenderingContext2D(600, 600, this.settings) @@ -1920,12 +1920,12 @@ getPixelMap(sx: number, sy: number, sw: number, sh: number): PixelMap 以当前canvas指定区域内的像素创建[PixelMap](../apis/js-apis-image.md#pixelmap7)对象。 - 参数 - | 参数 | 类型 | 必填 | 默认值 | 描述 | + | 参数 | 类型 | 必填 | 默认值 | 描述 | | -------- | -------- | -------- | -------- | -------- | - | sx | number | 是 | 0 | 需要输出的区域的左上角x坐标。 | - | sy | number | 是 | 0 | 需要输出的区域的左上角y坐标。 | - | sw | number | 是 | 0 | 需要输出的区域的宽度。 | - | sh | number | 是 | 0 | 需要输出的区域的高度。 | + | sx | number | 是 | 0 | 需要输出的区域的左上角x坐标。 | + | sy | number | 是 | 0 | 需要输出的区域的左上角y坐标。 | + | sw | number | 是 | 0 | 需要输出的区域的宽度。 | + | sh | number | 是 | 0 | 需要输出的区域的高度。 | ### getImageData diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-page-transition-animation.md b/zh-cn/application-dev/reference/arkui-ts/ts-page-transition-animation.md index 5ff8def81916cc2620824bca29910b1b74457e74..357c5614ab7bab703cea7ec9d7b2fbd78fb5e61c 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-page-transition-animation.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-page-transition-animation.md @@ -68,8 +68,8 @@ PageTransitionEnter和PageTransitionExit组件支持的事件: @Entry @Component struct PageTransitionExample1 { - @State scale: number = 1 - @State opacity: number = 1 + @State scale1: number = 1 + @State opacity1: number = 1 @State active: boolean = false build() { Column() { @@ -79,19 +79,19 @@ struct PageTransitionExample1 { .onClick(() => { this.active = true }) - }.scale({ x: this.scale }).opacity(this.opacity) + }.scale({ x: this.scale1 }).opacity(this.opacity1) } // 自定义方式1:完全自定义转场过程的效果 pageTransition() { PageTransitionEnter({ duration: 1200, curve: Curve.Linear }) .onEnter((type: RouteType, progress: number) => { - this.scale = 1 - this.opacity = progress + this.scale1 = 1 + this.opacity1 = progress }) // 进场过程中会逐帧触发onEnter回调,入参为动效的归一化进度(0% -- 100%) PageTransitionExit({ duration: 1500, curve: Curve.Ease }) .onExit((type: RouteType, progress: number) => { - this.scale = 1 - progress - this.opacity = 1 + this.scale1 = 1 - progress + this.opacity1 = 1 }) // 退场过程中会逐帧触发onExit回调,入参为动效的归一化进度(0% -- 100%) } } @@ -102,27 +102,27 @@ struct PageTransitionExample1 { @Entry @Component struct AExample { - @State scale: number = 1 - @State opacity: number = 1 + @State scale2: number = 1 + @State opacity2: number = 1 @State active: boolean = false build() { Column() { Navigator({ target: 'pages/index' ,type: NavigationType.Push}) { Image($r('app.media.bg2')).width("100%").height("100%") } - }.height("100%").width("100%").scale({ x: this.scale }).opacity(this.opacity) + }.height("100%").width("100%").scale({ x: this.scale2 }).opacity(this.opacity2) } // 自定义方式1:完全自定义转场过程的效果 pageTransition() { PageTransitionEnter({ duration: 1200, curve: Curve.Linear }) .onEnter((type: RouteType, progress: number) => { - this.scale = 1 - this.opacity = progress + this.scale2 = 1 + this.opacity2 = progress }) // 进场过程中会逐帧触发onEnter回调,入参为动效的归一化进度(0% -- 100%) PageTransitionExit({ duration: 1500, curve: Curve.Ease }) .onExit((type: RouteType, progress: number) => { - this.scale = 1 - progress - this.opacity = 1 + this.scale2 = 1 - progress + this.opacity2 = 1 }) // 退场过程中会逐帧触发onExit回调,入参为动效的归一化进度(0% -- 100%) } } @@ -137,8 +137,8 @@ struct AExample { @Entry @Component struct PageTransitionExample { - @State scale: number = 1 - @State opacity: number = 1 + @State scale1: number = 1 + @State opacity1: number = 1 @State active: boolean = false build() { @@ -149,7 +149,7 @@ struct PageTransitionExample { .onClick(() => { this.active = true }) - }.scale({ x: this.scale }).opacity(this.opacity) + }.scale({ x: this.scale1 }).opacity(this.opacity1) } // 自定义方式2:使用系统提供的多种默认效果(平移、缩放、透明度等) @@ -168,8 +168,8 @@ struct PageTransitionExample { @Entry @Component struct PageTransitionExample1 { - @State scale: number = 1 - @State opacity: number = 1 + @State scale2: number = 1 + @State opacity2: number = 1 @State active: boolean = false build() { @@ -180,7 +180,7 @@ struct PageTransitionExample1 { .onClick(() => { this.active = true }) - }.scale({ x: this.scale }).opacity(this.opacity) + }.scale({ x: this.scale2 }).opacity(this.opacity2) } // 自定义方式2:使用系统提供的多种默认效果(平移、缩放、透明度等) diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-component-id.md b/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-component-id.md index b372ccc183263a9321011a8c6df308cd36fa6a6a..5c09e5661536f243fe005474aab5befe31ed72a8 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-component-id.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-component-id.md @@ -21,7 +21,7 @@ id为组件的唯一标识,在整个应用内唯一。本模块提供组件标 ## 接口 -### getInspectorByKey +### getInspectorByKey9+ getInspectorByKey(id: string): string @@ -37,7 +37,7 @@ getInspectorByKey(id: string): string | -------- | -------- | | string | 组件属性列表的JSON字符串。 | -### getInspectorTree +### getInspectorTree9+ getInspectorTree(): string @@ -49,7 +49,7 @@ getInspectorTree(): string | ------ | ---------------------------------- | | string | 组件树及组件属性列表的JSON字符串。 | -### sendEventByKey +### sendEventByKey9+ sendEventByKey(id: string, action: number, params: string): boolean @@ -67,7 +67,7 @@ sendEventByKey(id: string, action: number, params: string): boolean | -------- | -------- | | boolean | 找不到指定id的组件时返回false,其余情况返回true。 | -### sendTouchEvent +### sendTouchEvent9+ sendTouchEvent(event: TouchObject): boolean @@ -85,7 +85,7 @@ sendTouchEvent(event: TouchObject): boolean | ------- | ------------------------------------------- | | boolean | 事件发送失败时返回false,其余情况返回true。 | -### sendKeyEvent +### sendKeyEvent9+ sendKeyEvent(event: KeyEvent): boolean @@ -103,7 +103,7 @@ sendKeyEvent(event: KeyEvent): boolean | ------- | --------------------------------------------- | | boolean | 事件发送失败时时返回false,其余情况返回true。 | -### sendMouseEvent +### sendMouseEvent9+ sendMouseEvent(event: MouseEvent): boolean diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-popup.md b/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-popup.md index f0998baca409969c4bdd6706a2c6af86b01af776..009ec4b28d422fa28fb6dd7673b3de5dffcf1830 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-popup.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-popup.md @@ -70,7 +70,7 @@ struct PopupExample { @Builder popupBuilder() { Row({ space: 2 }) { Image('/resource/ic_public_thumbsup.svg').width(24).height(24).margin({ left: -5 }) - Text('Custom Popup').fontSize(12) + Text('Custom Popup').fontSize(10) }.width(100).height(50).backgroundColor(Color.White) } diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-z-order.md b/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-z-order.md index a9858490e745609b02b4f18e0ef25c53138af706..2bd3623df2a7b695f535b9acd91a252fb017f8b0 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-z-order.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-z-order.md @@ -39,7 +39,7 @@ struct ZIndexExample { Text('third child, zIndex(1)') .size({width: '70%', height: '50%'}).backgroundColor(0xc1cbac).align(Alignment.TopStart) .zIndex(1) - } + }.width('100%').height(200) }.width('100%').height(200) } } diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-universal-component-area-change-event.md b/zh-cn/application-dev/reference/arkui-ts/ts-universal-component-area-change-event.md index 290515df466fb954f78ed884ebb4282d68283a09..4f9dfcd7904d09e167a33d281cf32fa1fec72f07 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-universal-component-area-change-event.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-universal-component-area-change-event.md @@ -26,7 +26,7 @@ @Component struct AreaExample { @State value: string = 'Text' - @State size: string = '' + @State size1: string = '' build() { Column() { @@ -37,7 +37,7 @@ struct AreaExample { }) .onAreaChange((oldValue: Area, newValue: Area) => { console.info(`Ace: on area change, oldValue is ${JSON.stringify(oldValue)} value is ${JSON.stringify(newValue)}`) - this.size = JSON.stringify(newValue) + this.size1 = JSON.stringify(newValue) }) Text('new area is: \n' + this.size).margin({ right: 30, left: 30 }) } diff --git a/zh-cn/device-dev/driver/driver-peripherals-vibrator-des.md b/zh-cn/device-dev/driver/driver-peripherals-vibrator-des.md index f4b2cd8874a6425b8ae8335de2f48bbfb409f92b..af09963c38ba1d415c4529b0610e16894276d016 100755 --- a/zh-cn/device-dev/driver/driver-peripherals-vibrator-des.md +++ b/zh-cn/device-dev/driver/driver-peripherals-vibrator-des.md @@ -57,9 +57,11 @@ | 接口名 | 功能描述 | | -------------------------------------- | ------------------------------------------------ | -| int32_t StartOnce(uint32_t duration) | 按照指定持续时间触发振动马达,duration为振动持续时长。 | -| int32_t Start(const char *effectType) | 按照指定预置效果启动马达,effectType表示预置的预置效果。 | -| int32_t Stop(enum VibratorMode mode) | 按照指定的振动模式停止马达振动。 | +| int32_t StartOnce(uint32_t duration) | 按照指定持续时间触发振动马达,duration为振动持续时长。 | +| int32_t Start(const char *effectType) | 按照指定预置效果启动马达,effectType表示预置的预置效果。 | +| int32_t Stop(enum VibratorMode mode) | 按照指定的振动模式停止马达振动。 | +| int32_t EnableVibratorModulation(uint32_t duration, int32_t intensity, int32_t frequency) | 按照指定振幅、频率、持续时间触发振动马达。duration为振动持续时长,intensity为振动强度,frequency为振动频率。 | +| int32_t GetVibratorInfo(struct VibratorInfo **vibratorInfo); | 获取马达信息,包括是否支持振幅和频率的设置及振幅和频率的设置范围 。 | ### 开发步骤 @@ -90,13 +92,13 @@ Vibrator驱动模型为上层马达硬件服务层提供稳定的马达控制能 int32_t cmd, struct HdfSBuf *data, struct HdfSBuf *reply) { int32_t loop; - + for (loop = 0; loop < sizeof(g_vibratorCmdHandle) / sizeof(g_vibratorCmdHandle[0]); ++loop) { if ((cmd == g_vibratorCmdHandle[loop].cmd) && (g_vibratorCmdHandle[loop].func != NULL)) { return g_vibratorCmdHandle[loop].func(data, reply); } } - + return HDF_SUCCESS; } @@ -105,34 +107,34 @@ Vibrator驱动模型为上层马达硬件服务层提供稳定的马达控制能 { struct VibratorDriverData *drvData = NULL; CHECK_VIBRATOR_NULL_PTR_RETURN_VALUE(device, HDF_FAILURE); - + drvData = (struct VibratorDriverData *)OsalMemCalloc(sizeof(*drvData)); CHECK_VIBRATOR_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_MALLOC_FAIL); - + drvData->ioService.Dispatch = DispatchVibrator; drvData->device = device; device->service = &drvData->ioService; g_vibratorDrvData = drvData; - + return HDF_SUCCESS; } - + /* 马达驱动初始化入口函数*/ int32_t InitVibratorDriver(struct HdfDeviceObject *device) { struct VibratorDriverData *drvData = NULL; - + drvData->mode = VIBRATOR_MODE_BUTT; drvData->state = VIBRATOR_STATE_IDLE; ...... if (CreateVibratorHaptic(device) != HDF_SUCCESS) { - HDF_LOGE("%s: init workQueue fail!", __func__); + HDF_LOGE("%s: init workQueue failed!", __func__); return HDF_FAILURE; } - + return HDF_SUCCESS; } - + /* 释放马达驱动初始化时分配的资源 */ void ReleaseVibratorDriver(struct HdfDeviceObject *device) { @@ -168,7 +170,7 @@ Vibrator驱动模型为上层马达硬件服务层提供稳定的马达控制能 - 创建马达效果模型。 - ```hcs + ```c /* 创建马达效果模型,分配资源,解析马达效果HCS配置 */ int32_t CreateVibratorHaptic(struct HdfDeviceObject *device) { @@ -181,7 +183,7 @@ Vibrator驱动模型为上层马达硬件服务层提供稳定的马达控制能 hapticData->supportHaptic = false; if (OsalMutexInit(&hapticData->mutex) != HDF_SUCCESS) { - HDF_LOGE("%s: fail to init mutex", __func__); + HDF_LOGE("%s: failed to init mutex", __func__); goto EXIT; } @@ -189,7 +191,7 @@ Vibrator驱动模型为上层马达硬件服务层提供稳定的马达控制能 /* 解析马达效果HCS配置 */ if (ParserVibratorHapticConfig(device->property) != HDF_SUCCESS) { - HDF_LOGE("%s: parser haptic config fail!", __func__); + HDF_LOGE("%s: parser haptic config failed!", __func__); goto EXIT; } @@ -235,7 +237,7 @@ Vibrator驱动模型为上层马达硬件服务层提供稳定的马达控制能 马达硬件服务调用StartOnce接口动态配置持续振动时间;调用StartEffect接口启动静态配置的振动效果,为驱动开发者提供抽象的配置接口能力。 ```c - /* 按照指定持续时间触发振动马达,duration为振动持续时长 */ + /* 按照指定持续时间触发振动马达,duration为振动持续时长。 */ static int32_t StartOnce(struct HdfSBuf *data, struct HdfSBuf *reply) { uint32_t duration; @@ -250,14 +252,14 @@ Vibrator驱动模型为上层马达硬件服务层提供稳定的马达控制能 /* 根据振动效果的模式创建定时器 */ ret = StartHaptic(&config); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: start haptic fail!", __func__); + HDF_LOGE("%s: start haptic failed!", __func__); return ret; } return HDF_SUCCESS; } - /* 按照预置效果启动马达,effectType表示预置的预置效果 */ + /* 按照预置效果启动马达,effectType表示预置的预置效果。 */ static int32_t StartEffect(struct HdfSBuf *data, struct HdfSBuf *reply) { int32_t ret; @@ -272,7 +274,7 @@ Vibrator驱动模型为上层马达硬件服务层提供稳定的马达控制能 ret = StartHaptic(&config); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: start haptic fail!", __func__); + HDF_LOGE("%s: start haptic failed!", __func__); return ret; } @@ -287,10 +289,10 @@ Vibrator驱动模型为上层马达硬件服务层提供稳定的马达控制能 struct VibratorDriverData *drvData = GetVibratorDrvData(); (void)reply; ...... - /* 停止马达效果振动,销毁马达定时器 */ + /* 停止马达效果振动,销毁马达定时器。 */ ret = StopHaptic(); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: stop haptic fail!", __func__); + HDF_LOGE("%s: stop haptic failed!", __func__); return ret; } @@ -300,6 +302,58 @@ Vibrator驱动模型为上层马达硬件服务层提供稳定的马达控制能 return HDF_SUCCESS; } + + /* 按照指定振幅、频率、持续时间触发振动马达。duration为振动持续时长,intensity为振动强度,frequency为振动频率。 */ + static int32_t EnableModulationParameter(struct HdfSBuf *data, struct HdfSBuf *reply) + { + (void)reply; + struct VibratorEffectCfg config; + struct VibratorDriverData *drvData; + uint32_t duration; + int32_t intensity; + int32_t frequency; + int32_t ret; + ..... + (void)OsalMutexLock(&drvData->mutex); + drvData->mode = VIBRATOR_MODE_ONCE; + (void)OsalMutexUnlock(&drvData->mutex); + /* 设置振幅和频率 */ + ret = drvData->ops.SetParameter(intensity, frequency); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: set parameter failed", __func__); + return HDF_FAILURE; + } + + config.cfgMode = VIBRATOR_MODE_ONCE; + config.duration = duration; + config.effect = NULL; + + ret = StartHaptic(&config); + if (ret != HDF_SUCCESS) { + HDF_LOGE("%s: start haptic failed", __func__); + return HDF_FAILURE; + } + + return HDF_SUCCESS; + } + + /* 获取马达信息,包括是否支持振幅和频率的设置及振幅和频率的设置范围。 */ + static int32_t GetVibratorInfo(struct HdfSBuf *data, struct HdfSBuf *reply) + { + (void)data; + struct VibratorDriverData *drvData; + + drvData = GetVibratorDrvData(); + CHECK_VIBRATOR_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); + CHECK_VIBRATOR_NULL_PTR_RETURN_VALUE(reply, HDF_ERR_INVALID_PARAM); + + if (!HdfSbufWriteBuffer(reply, &drvData->vibratorInfo, sizeof(drvData->vibratorInfo))) { + HDF_LOGE("%s: write sbuf failed", __func__); + return HDF_FAILURE; + } + + return HDF_SUCCESS; + } ``` 4. 马达驱动模型提供给开发者马达驱动差异化接口,开发者实现差异化接口。 @@ -319,50 +373,181 @@ Vibrator驱动模型为上层马达硬件服务层提供稳定的马达控制能 drvData->ops.Start = ops->Start; drvData->ops.StartEffect = ops->StartEffect; drvData->ops.Stop = ops->Stop; + drvData->ops.SetParameter = ops->SetParameter; + (void)OsalMutexUnlock(&drvData->mutex); + + return HDF_SUCCESS; + } + + /* 注册马达信息接口 */ + int32_t RegisterVibratorInfo(struct VibratorInfo *vibratorInfo) + { + struct VibratorDriverData *drvData = GetVibratorDrvData(); + + CHECK_VIBRATOR_NULL_PTR_RETURN_VALUE(vibratorInfo, HDF_FAILURE); + CHECK_VIBRATOR_NULL_PTR_RETURN_VALUE(drvData, HDF_FAILURE); + + (void)OsalMutexLock(&drvData->mutex); + if (memcpy_s(&drvData->vibratorInfo, sizeof(drvData->vibratorInfo), vibratorInfo, sizeof(*vibratorInfo)) != EOK) { + HDF_LOGE("%s: Memcpy vibrator config failed", __func__); + return HDF_FAILURE; + } (void)OsalMutexUnlock(&drvData->mutex); return HDF_SUCCESS; } ``` + + - 马达驱动模型提供给开发者马达驱动差异化接口,具体实现如下: ```c - /* 按照指定持续时间触发线性马达的振动 */ - static int32_t StartLinearVibrator() + /* 按照指定的振动模式停止马达的振动 */ + static int32_t StopModulationParameter() { - int32_t ret; - struct VibratorLinearDriverData *drvData = GetLinearVibratorData(); - CHECK_VIBRATOR_NULL_PTR_RETURN_VALUE(drvData, HDF_FAILURE); - ...... - ret = GpioWrite(drvData->gpioNum, GPIO_VAL_LOW); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: pull gpio%d to %d level failed", __func__, drvData->gpioNum, GPIO_VAL_LOW); - return ret; + uint8_t value[DRV2605L_VALUE_BUTT]; + struct Drv2605lDriverData *drvData = NULL; + drvData = GetDrv2605lDrvData(); + + CHECK_VIBRATOR_NULL_PTR_RETURN_VALUE(drvData, HDF_FAILURE); + CHECK_VIBRATOR_NULL_PTR_RETURN_VALUE(drvData->drv2605lCfgData, HDF_FAILURE); + + value[DRV2605L_ADDR_INDEX] = (uint8_t)DRV2605_REG_MODE; + value[DRV2605L_VALUE_INDEX] = (uint8_t)DRV2605_MODE_STANDBY; + if (WriteDrv2605l(&drvData->drv2605lCfgData->vibratorBus.i2cCfg, value, sizeof(value)) != HDF_SUCCESS) { + HDF_LOGE("%s: i2c addr [%0X] write failed", __func__, value[DRV2605L_ADDR_INDEX]); + return HDF_FAILURE; + } + + value[DRV2605L_ADDR_INDEX] = (uint8_t)DRV2605_REG_RTPIN; + value[DRV2605L_VALUE_INDEX] = (uint8_t)&drvData->drv2605lCfgData->vibratorAttr.defaultIntensity; + if (WriteDrv2605l(&drvData->drv2605lCfgData->vibratorBus.i2cCfg, value, sizeof(value)) != HDF_SUCCESS) { + HDF_LOGE("%s: i2c addr [%0X] write failed", __func__, value[DRV2605L_ADDR_INDEX]); + } + + value[DRV2605L_ADDR_INDEX] = (uint8_t)DRV2605_REG_LRARESON; + value[DRV2605L_VALUE_INDEX] = (uint8_t)&drvData->drv2605lCfgData->vibratorAttr.defaultFrequency; + if (WriteDrv2605l(&drvData->drv2605lCfgData->vibratorBus.i2cCfg, value, sizeof(value)) != HDF_SUCCESS) { + HDF_LOGE("%s: i2c addr [%0X] write failed", __func__, value[DRV2605L_ADDR_INDEX]); } - return HDF_SUCCESS; - } - /* 按照预置振动效果触发线性马达的振动 */ - static int32_t StartEffectLinearVibrator(uint32_t effectType) - { - (void)effectType; - HDF_LOGE("%s: vibrator set build-in effect no support!", __func__); return HDF_SUCCESS; } - /* 按照指定的振动模式停止线性马达的振动 */ - static int32_t StopLinearVibrator() + /* 设置马达振幅和频率 */ + static void SetModulationParameter(int32_t intensity, int32_t frequency) { - int32_t ret; - struct VibratorLinearDriverData *drvData = GetLinearVibratorData(); + uint8_t value[DRV2605L_VALUE_BUTT]; + struct Drv2605lDriverData *drvData = NULL; + drvData = GetDrv2605lDrvData(); + CHECK_VIBRATOR_NULL_PTR_RETURN_VALUE(drvData, HDF_FAILURE); - ...... - ret = GpioWrite(drvData->gpioNum, GPIO_VAL_HIGH); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: pull gpio%d to %d level failed", __func__, drvData->gpioNum, GPIO_VAL_HIGH); - return ret; + + if (intensity != 0) { + value[DRV2605L_ADDR_INDEX] = (uint8_t)DRV2605_REG_RTPIN; + value[DRV2605L_VALUE_INDEX] = (uint8_t)INTENSITY_MAPPING_VALUE(intensity); + if (WriteDrv2605l(&drvData->drv2605lCfgData->vibratorBus.i2cCfg, value, sizeof(value)) != HDF_SUCCESS) { + HDF_LOGE("%s: i2c addr [%0X] write failed", __func__, value[DRV2605L_ADDR_INDEX]); + return; + } + } else { + HDF_LOGD("%s: the setting of intensity 0 is not supported and \ + will be set as the system default intensity", __func__); + } + + if (frequency != 0) { + value[DRV2605L_ADDR_INDEX] = (uint8_t)DRV2605_REG_LRARESON; + value[DRV2605L_VALUE_INDEX] = (uint8_t)FREQUENCY_MAPPING_VALUE(frequency); + if (WriteDrv2605l(&drvData->drv2605lCfgData->vibratorBus.i2cCfg, value, sizeof(value)) != HDF_SUCCESS) { + HDF_LOGE("%s: i2c addr [%0X] write failed", __func__, value[DRV2605L_ADDR_INDEX]); + return; + } + } else { + HDF_LOGD("%s: the setting of frequency 0 is not supported and \ + will be set as the system default frequency", __func__); } - return HDF_SUCCESS; } - ``` \ No newline at end of file + ``` + +### 调测验证 + +驱动开发完成后,在传感器单元测试里面开发自测试用例,验证驱动基本功能。测试环境采用开发者自测试平台。 + +``` +/* 用例执行前,初始化马达接口实例。 */ +void HdfVibratorTest::SetUpTestCase() +{ + g_vibratorDev = NewVibratorInterfaceInstance(); +} +/* 用例资源释放 */ +void HdfVibratorTest::TearDownTestCase() +{ + if(g_vibratorDev != nullptr){ + FreeVibratorInterfaceInstance(); + g_vibratorDev = nullptr; + } +} + +/* 测试单次振动 */ +HWTEST_F(HdfVibratorTest, PerformOneShotVibratorDuration_001, TestSize.Level1) +{ + ASSERT_NE(nullptr, g_vibratorDev); + + int32_t startRet = g_vibratorDev->StartOnce(g_duration); + EXPECT_EQ(startRet, HDF_SUCCESS); + + OsalMSleep(g_sleepTime1); + + int32_t endRet = g_vibratorDev->Stop(VIBRATOR_MODE_ONCE); + EXPECT_EQ(endRet, HDF_SUCCESS); +} +/* 测试预置效果振动 */ +HWTEST_F(HdfVibratorTest, ExecuteVibratorEffect_002, TestSize.Level1) +{ + ASSERT_NE(nullptr, g_vibratorDev); + + int32_t startRet = g_vibratorDev->Start(g_builtIn); + EXPECT_EQ(startRet, HDF_SUCCESS); + + OsalMSleep(g_sleepTime1); + + int32_t endRet = g_vibratorDev->Stop(VIBRATOR_MODE_PRESET); + EXPECT_EQ(endRet, HDF_SUCCESS); +} +/* 获取马达信息,包括是否支持振幅和频率的设置及振幅和频率的设置范围。 */ +HWTEST_F(HdfVibratorTest, GetVibratorInfo_001, TestSize.Level1) +{ + ASSERT_NE(nullptr, g_vibratorDev); + + int32_t startRet = g_vibratorDev->GetVibratorInfo(&g_vibratorInfo); + EXPECT_EQ(startRet, HDF_SUCCESS); + EXPECT_NE(g_vibratorInfo, nullptr); + + printf("intensity = %d, intensityMaxValue = %d, intensityMinValue = %d\n\t", + g_vibratorInfo->isSupportIntensity, g_vibratorInfo->intensityMaxValue, g_vibratorInfo->intensityMinValue); + printf("frequency = %d, frequencyMaxValue = %d, frequencyMinValue = %d\n\t", + g_vibratorInfo->isSupportFrequency, g_vibratorInfo->frequencyMaxValue, g_vibratorInfo->frequencyMinValue); +} +/* 按照指定振幅、频率、持续时间触发振动马达。duration为振动持续时长,intensity为振动强度,frequency为振动频率。 */ +HWTEST_F(HdfVibratorTest, EnableVibratorModulation_001, TestSize.Level1) +{ + int32_t startRet; + ASSERT_NE(nullptr, g_vibratorDev); + EXPECT_GT(g_duration, 0); + + if ((g_vibratorInfo->isSupportIntensity == 1) || (g_vibratorInfo->isSupportFrequency == 1)) { + EXPECT_GE(g_intensity1, g_vibratorInfo->intensityMinValue); + EXPECT_LE(g_intensity1, g_vibratorInfo->intensityMaxValue); + EXPECT_GE(g_frequency1, g_vibratorInfo->frequencyMinValue); + EXPECT_LE(g_frequency1, g_vibratorInfo->frequencyMaxValue); + + startRet = g_vibratorDev->EnableVibratorModulation(g_duration, g_intensity1, g_frequency1); + EXPECT_EQ(startRet, HDF_SUCCESS); + OsalMSleep(g_sleepTime1); + startRet = g_vibratorDev->Stop(VIBRATOR_MODE_ONCE); + EXPECT_EQ(startRet, HDF_SUCCESS); + } +} +``` + diff --git a/zh-cn/device-dev/reference/hdi-apis/Readme-CN.md b/zh-cn/device-dev/reference/hdi-apis/Readme-CN.md index c3a79510ced529a8dd075d3d89fd7a80495e2f9e..98c7de011fef755a118ea6dc9e3f4ef10d1bae4c 100644 --- a/zh-cn/device-dev/reference/hdi-apis/Readme-CN.md +++ b/zh-cn/device-dev/reference/hdi-apis/Readme-CN.md @@ -122,7 +122,6 @@ - [CompVerInfo](_comp_ver_info.md) - [CredentialInfo](_credential_info.md) - [DeviceFuncs](_device_funcs.md) - - [DeviceInfo](_device_info.md) - [DisplayCapability](_display_capability.md) - [DisplayInfo](_display_info.md) - [DisplayModeInfo](_display_mode_info.md) @@ -130,7 +129,6 @@ - [EnrollParam](_enroll_param.md) - [EnrollResultInfo](_enroll_resultinfo.md) - [EventInfo](_event_info.md) - - [EventPackage](_event_package.md) - [ExecutorInfo](_executor_info.md) - [ExecutorInfo](_user_executor_info.md) - [ExecutorRegisterInfo](_executor_register_info.md) @@ -154,10 +152,19 @@ - [IInputInterface](_i_input_interface.md) - [ILine](_i_line.md) - [InputController](_input_controller.md) + - [InputDevAbility](_input_dev_ability.md) + - [InputDevAttr](_input_dev_attr.md) + - [InputDevDesc](_input_dev_desc.md) + - [InputDevIdentify](_input_dev_identify.md) + - [InputDeviceInfo](_device_info.md) + - [InputDimensionInfo](_input_dimension_info.md) + - [InputEventCb](_input_report_event_cb.md) + - [InputEventPackage](_event_package.md) - [InputExtraCmd](_input_extra_cmd.md) + - [InputHostCb](_input_host_cb.md) + - [InputHotPlugEvent](_input_hotplug_event.md) - [InputManager](_input_manager.md) - [InputReporter](_input_reporter.md) - - [InputReportEventCb](_input_report_event_cb.md) - [IPinAuthInterface](interface_i_pin_auth_interface.md) - [IPowerHdiCallback](interface_i_power_hdi_callback.md) - [IPowerInterface](interface_i_power_interface.md) diff --git a/zh-cn/device-dev/reference/hdi-apis/_device_info.md b/zh-cn/device-dev/reference/hdi-apis/_device_info.md index 592bd0305dcd42301b5a0224d2257e994110e02f..d70dedd1806bb2b2c392c58f0ed8e4bca5deaed2 100644 --- a/zh-cn/device-dev/reference/hdi-apis/_device_info.md +++ b/zh-cn/device-dev/reference/hdi-apis/_device_info.md @@ -1,4 +1,4 @@ -# DeviceInfo +# InputDeviceInfo ## **概述** @@ -15,180 +15,104 @@ | Public 属性 | 描述 | | -------- | -------- | -| [devIndex](#devindex) | 设备索引 | -| [fd](#fd) | 设备对应的文件描述符 | -| [service](#service) | 设备对应的服务 | -| [listener](#listener) | 设备对应的事件监听器 | -| [devType](#devtype) | 设备类型 | -| [powerStatus](#powerstatus) | 电源状态 | +| [devIndex](#devindex) | 设备索引 | +| [devType](#devtype) | 设备类型 | | [chipInfo](#chipinfo) [CHIP_INFO_LEN] | 驱动芯片编码信息 | -| [vendorName](#vendorname) [VENDOR_NAME_LEN] | 模组厂商名 | +| [vendorName](#vendorname) [VENDOR_NAME_LEN] | 模组厂商名 | | [chipName](#chipname) [CHIP_NAME_LEN] | 驱动芯片型号 | -| [devNodePath](#devnodepath) [MAX_NODE_PATH_LEN] | 设备文件路径 | -| [solutionX](#solutionx) | x方向分辨率 | -| [solutionY](#solutiony) | y方向分辨率 | -| [callback](#callback) | 数据上报回调函数 [InputReportEventCb](_input_report_event_cb.md) | +| [attrSet](#attrset)| 设备属性。 | +| [abilitySet](#abilityset)| 设备能力属性。| + ## **详细描述** -input设备基础设备信息 +Input设备基础设备信息。 ## **类成员变量说明** -### callback - - -``` -InputReportEventCb* DeviceInfo::callback -``` - -**描述:** - -数据上报回调函数 [InputReportEventCb](_input_report_event_cb.md) - - ### chipInfo ``` -char DeviceInfo::chipInfo[CHIP_INFO_LEN] +char InputDeviceInfo::chipInfo[CHIP_INFO_LEN] ``` **描述:** -驱动芯片编码信息 +驱动芯片编码信息。 ### chipName ``` -char DeviceInfo::chipName[CHIP_NAME_LEN] +char InputDeviceInfo::chipName[CHIP_NAME_LEN] ``` **描述:** -驱动芯片型号 +驱动芯片型号。 ### devIndex ``` -uint32_t DeviceInfo::devIndex +uint32_t InputDeviceInfo::devIndex ``` **描述:** -设备索引 - - -### devNodePath - - -``` -char DeviceInfo::devNodePath[MAX_NODE_PATH_LEN] -``` - -**描述:** +设备索引。 -设备文件路径 ### devType ``` -uint32_t DeviceInfo::devType -``` - -**描述:** - -设备类型 - - -### fd - - -``` -int32_t DeviceInfo::fd -``` - -**描述:** - -设备对应的文件描述符 - - -### listener - - -``` -void* DeviceInfo::listener -``` - -**描述:** - -设备对应的事件监听器 - - -### powerStatus - - -``` -uint32_t DeviceInfo::powerStatus -``` - -**描述:** - -电源状态 - - -### service - - -``` -void* DeviceInfo::service +uint32_t InputDeviceInfo::devType ``` **描述:** -设备对应的服务 +设备类型。 -### solutionX +### vendorName ``` -uint32_t DeviceInfo::solutionX +char InputDeviceInfo::vendorName[VENDOR_NAME_LEN] ``` **描述:** -x方向分辨率 +模组厂商名。 -### solutionY +### attrSet ``` -uint32_t DeviceInfo::solutionY +InputDevAttr InputDeviceInfo::attrSet ``` **描述:** -y方向分辨率 +设备属性。 -### vendorName +### abilitySet ``` -char DeviceInfo::vendorName[VENDOR_NAME_LEN] +InputDevAbility InputDeviceInfo::abilitySet ``` **描述:** -模组厂商名 +设备能力属性。 \ No newline at end of file diff --git a/zh-cn/device-dev/reference/hdi-apis/_input.md b/zh-cn/device-dev/reference/hdi-apis/_input.md index 0cf606855370ad1c52641c090be4ff1808766346..9914bfec5d164e82eb19072c2bc546a26066ae65 100644 --- a/zh-cn/device-dev/reference/hdi-apis/_input.md +++ b/zh-cn/device-dev/reference/hdi-apis/_input.md @@ -23,8 +23,15 @@ | [IInputInterface](_i_input_interface.md) | 定义用于提供输入设备驱动能力的接口。[更多...](_i_input_interface.md) | | [InputReporter](_input_reporter.md) | 提供Input设备数据上报相关的接口。 [更多...](_input_reporter.md) | | [InputEventPackage](_event_package.md) | Input事件数据包结构。 [更多...](_event_package.md) | -| [InputReportEventCb](_input_report_event_cb.md) | 此结构体定义了输入事件回调函数并提供给Input服务使用。 [更多...](_input_report_event_cb.md) | -| [DeviceInfo](_device_info.md) | Input设备基础设备信息。 [更多...](_device_info.md) | +| [InputHotPlugEvent](_input_hotplug_event.md) | 热插拔事件数据包结构。 [更多...](_input_hotplug_event.md) | +| [InputDevDesc](_input_dev_desc.md) | Input设备描述信息。 [更多...](_input_dev_desc.md) | +| [InputEventCb](_input_report_event_cb.md) | 此结构体定义了输入事件回调函数并提供给Input服务使用。 [更多...](_input_report_event_cb.md) | +| [InputHostCb](_input_host_cb.md) | 此结构体定义了热插拔事件上报回调函数并提供给Input服务使用。 [更多...](_input_host_cb.md) | +| [InputDevAbility](_input_dev_ability.md) | Input设备的能力属性,存储支持事件的位图。 [更多...](_input_dev_ability.md) | +| [InputDimensionInfo](_input_dimension_info.md) | Input设备的维度信息。 [更多...](_input_dimension_info.md) | +| [InputDevIdentify](_input_dev_identify.md) | Input设备的识别信息。 [更多...](_input_dev_identify.md) | +| [InputDevAttr](_input_dev_attr.md) | Input设备属性。 [更多...](_input_dev_attr.md) | +| [InputDeviceInfo](_device_info.md) | Input设备基础设备信息。 [更多...](_device_info.md) | | [InputExtraCmd](_input_extra_cmd.md) | 扩展指令的数据结构。 [更多...](_input_extra_cmd.md) | @@ -49,10 +56,10 @@ | 枚举 | 描述 | | -------- | -------- | -| [RetStatus](#retstatus) { INPUT_SUCCESS = 0, INPUT_FAILURE = -1, INPUT_INVALID_PARAM = -2, INPUT_NOMEM = -3,   INPUT_NULL_PTR = -4, INPUT_TIMEOUT = -5, INPUT_UNSUPPORTED = -6 } | 定义返回值类型 [更多...](#retstatus) | -| [InputDevType](#inputdevtype) { INDEV_TYPE_TOUCH, INDEV_TYPE_KEY, INDEV_TYPE_KEYBOARD, INDEV_TYPE_MOUSE,   INDEV_TYPE_BUTTON, INDEV_TYPE_CROWN, INDEV_TYPE_ENCODER, INDEV_TYPE_UNKNOWN } | 定义Input设备类型 [更多...](#inputdevtype) | -| [PowerStatus](#powerstatus) { INPUT_RESUME, INPUT_SUSPEND, INPUT_LOW_POWER, INPUT_POWER_STATUS_UNKNOWN } | 定义电源状态 [更多...](#powerstatus) | -| [CapacitanceTest](#capacitancetest) { BASE_TEST, FULL_TEST, MMI_TEST, RUNNING_TEST,   TEST_TYPE_UNKNOWN } | 定义容值测试类型 [更多...](#capacitancetest) | +| [RetStatus](#retstatus) { INPUT_SUCCESS = 0, INPUT_FAILURE = -1, INPUT_INVALID_PARAM = -2, INPUT_NOMEM = -3,   INPUT_NULL_PTR = -4, INPUT_TIMEOUT = -5, INPUT_UNSUPPORTED = -6 } | 定义返回值类型。 [更多...](#retstatus) | +| [InputDevType](#inputdevtype) { INDEV_TYPE_TOUCH, INDEV_TYPE_KEY, INDEV_TYPE_KEYBOARD, INDEV_TYPE_MOUSE,   INDEV_TYPE_BUTTON, INDEV_TYPE_CROWN, INDEV_TYPE_ENCODER, INDEV_TYPE_UNKNOWN } | 定义Input设备类型。 [更多...](#inputdevtype) | +| [PowerStatus](#powerstatus) { INPUT_RESUME, INPUT_SUSPEND, INPUT_LOW_POWER, INPUT_POWER_STATUS_UNKNOWN } | 定义电源状态。 [更多...](#powerstatus) | +| [CapacitanceTest](#capacitancetest) { BASE_TEST, FULL_TEST, MMI_TEST, RUNNING_TEST,   TEST_TYPE_UNKNOWN } | 定义容值测试类型。 [更多...](#capacitancetest) | ### 函数 diff --git a/zh-cn/device-dev/reference/hdi-apis/_input_report_event_cb.md b/zh-cn/device-dev/reference/hdi-apis/_input_report_event_cb.md index 3c2d5bddbf54b98e2b32163cb2fa7075b94c807e..b6dd9371652a5af31acba24509d9bc040d8fe6c7 100644 --- a/zh-cn/device-dev/reference/hdi-apis/_input_report_event_cb.md +++ b/zh-cn/device-dev/reference/hdi-apis/_input_report_event_cb.md @@ -1,4 +1,4 @@ -# InputReportEventCb +# InputEventCb ## **概述** @@ -15,8 +15,7 @@ | Public 属性 | 描述 | | -------- | -------- | -| ( [ReportEventPkgCallback](#reporteventpkgcallback) )(const [InputEventPackage](_event_package.md) \*\*pkgs, uint32_t count, uint32_t devIndex) | 输入事件数据上报的回调函数。 [更多...](#reporteventpkgcallback) | -| ( [ReportHotPlugEventCallback](#reporthotplugeventcallback) )(const HotPlugEvent \*event) | 热插拔事件上报的回调函数。 [更多...](#reporthotplugeventcallback) | +| ( [EventPkgCallback](#eventpkgcallback) )(const [InputEventPackage](_event_package.md) \*\*pkgs, uint32_t count, uint32_t devIndex) | 输入事件数据上报的回调函数。 [更多...](#eventpkgcallback) | ## **详细描述** @@ -27,11 +26,11 @@ ## **类成员变量说明** -### ReportEventPkgCallback +### EventPkgCallback ``` -void(* InputReportEventCb::ReportEventPkgCallback) (const InputEventPackage **pkgs, uint32_t count, uint32_t devIndex) +void (* InputEventCb::EventPkgCallback)(const InputEventPackage **pkgs, uint32_t count, uint32_t devIndex); ``` **描述:** @@ -42,24 +41,7 @@ void(* InputReportEventCb::ReportEventPkgCallback) (const InputEventPackage **pk | 名称 | 描述 | | -------- | -------- | -| eventData | 驱动上报的Input事件数据。 | +| pkgs| 驱动上报的Input事件数据。 | | count | Input事件数据包的个数。 | | devIndex | Input设备索引,用于标志多个Input设备,取值从0开始,最多支持32个设备。 | - -### ReportHotPlugEventCallback - - -``` -void(* InputReportEventCb::ReportHotPlugEventCallback) (const HotPlugEvent *event) -``` - -**描述:** - -热插拔事件上报的回调函数。 - -**参数:** - - | 名称 | 描述 | -| -------- | -------- | -| event | 上报的热插拔事件数据 | diff --git a/zh-cn/device-dev/reference/hdi-apis/input__type_8h.md b/zh-cn/device-dev/reference/hdi-apis/input__type_8h.md index 312d1c97928f3d96d89e41f557c3b0673aa3c328..73d10e58c09a8c28292362c505269a7ec79f1371 100644 --- a/zh-cn/device-dev/reference/hdi-apis/input__type_8h.md +++ b/zh-cn/device-dev/reference/hdi-apis/input__type_8h.md @@ -15,10 +15,17 @@ | 类 | 描述 | | -------- | -------- | -| [EventPackage](_event_package.md) | Input事件数据包结构 [更多...](_event_package.md) | -| [InputReportEventCb](_input_report_event_cb.md) | 此结构体定义了输入事件回调函数并提供给Input服务使用 [更多...](_input_report_event_cb.md) | -| [DeviceInfo](_device_info.md) | Input设备基础设备信息 [更多...](_device_info.md) | -| [InputExtraCmd](_input_extra_cmd.md) | 扩展指令的数据结构 [更多...](_input_extra_cmd.md) | +| [InputEventPackage](_event_package.md) | Input事件数据包结构。 [更多...](_event_package.md) | +| [InputHotPlugEvent](_input_hotplug_event.md) | 热插拔事件数据包结构。 [更多...](_input_hotplug_event.md) | +| [InputDevDesc](_input_dev_desc.md) | Input设备描述信息。 [更多...](_input_dev_desc.md) | +| [InputEventCb](_input_report_event_cb.md) | 此结构体定义了输入事件回调函数并提供给Input服务使用。 [更多...](_input_report_event_cb.md) | +| [InputHostCb](_input_host_cb.md) | 此结构体定义了热插拔事件上报回调函数并提供给Input服务使用。 [更多...](_input_host_cb.md) | +| [InputDevAbility](_input_dev_ability.md) | Input设备的能力属性,存储支持事件的位图。 [更多...](_input_dev_ability.md) | +| [InputDimensionInfo](_input_dimension_info.md) | Input设备的维度信息。 [更多...](_input_dimension_info.md) | +| [InputDevIdentify](_input_dev_identify.md) | Input设备的识别信息。 [更多...](_input_dev_identify.md) | +| [InputDevAttr](_input_dev_attr.md) | Input设备属性。 [更多...](_input_dev_attr.md) | +| [InputDeviceInfo](_device_info.md) | Input设备基础设备信息。 [更多...](_device_info.md) | +| [InputExtraCmd](_input_extra_cmd.md) | 扩展指令的数据结构。 [更多...](_input_extra_cmd.md) | ### 宏定义 @@ -42,10 +49,10 @@ | 枚举 | 描述 | | -------- | -------- | -| [RetStatus](_input.md#retstatus) { INPUT_SUCCESS = 0, INPUT_FAILURE = -1, INPUT_INVALID_PARAM = -2, INPUT_NOMEM = -3,   INPUT_NULL_PTR = -4, INPUT_TIMEOUT = -5, INPUT_UNSUPPORTED = -6 } | 定义返回值类型 [更多...](_input.md#retstatus) | -| [InputDevType](_input.md#inputdevtype) { INDEV_TYPE_TOUCH, INDEV_TYPE_KEY, INDEV_TYPE_KEYBOARD, INDEV_TYPE_MOUSE,   INDEV_TYPE_BUTTON, INDEV_TYPE_CROWN, INDEV_TYPE_ENCODER, INDEV_TYPE_UNKNOWN } | 定义Input设备类型 [更多...](_input.md#inputdevtype) | -| [PowerStatus](_input.md#powerstatus) { INPUT_RESUME, INPUT_SUSPEND, INPUT_LOW_POWER, INPUT_POWER_STATUS_UNKNOWN } | 定义电源状态 [更多...](_input.md#powerstatus) | -| [CapacitanceTest](_input.md#capacitancetest) { BASE_TEST, FULL_TEST, MMI_TEST, RUNNING_TEST,   TEST_TYPE_UNKNOWN } | 定义容值测试类型 [更多...](_input.md#capacitancetest) | +| [RetStatus](_input.md#retstatus) { INPUT_SUCCESS = 0, INPUT_FAILURE = -1, INPUT_INVALID_PARAM = -2, INPUT_NOMEM = -3,   INPUT_NULL_PTR = -4, INPUT_TIMEOUT = -5, INPUT_UNSUPPORTED = -6 } | 定义返回值类型。 [更多...](_input.md#retstatus) | +| [InputDevType](_input.md#inputdevtype) { INDEV_TYPE_TOUCH, INDEV_TYPE_KEY, INDEV_TYPE_KEYBOARD, INDEV_TYPE_MOUSE,   INDEV_TYPE_BUTTON, INDEV_TYPE_CROWN, INDEV_TYPE_ENCODER, INDEV_TYPE_UNKNOWN } | 定义Input设备类型。 [更多...](_input.md#inputdevtype) | +| [PowerStatus](_input.md#powerstatus) { INPUT_RESUME, INPUT_SUSPEND, INPUT_LOW_POWER, INPUT_POWER_STATUS_UNKNOWN } | 定义电源状态。 [更多...](_input.md#powerstatus) | +| [CapacitanceTest](_input.md#capacitancetest) { BASE_TEST, FULL_TEST, MMI_TEST, RUNNING_TEST,   TEST_TYPE_UNKNOWN } | 定义容值测试类型。 [更多...](_input.md#capacitancetest) | ## **详细描述**