From d7a43053a9a84b385c709a52f0fa9bfcdfe81c0e Mon Sep 17 00:00:00 2001 From: "ester.zhou" Date: Fri, 16 Jun 2023 11:13:54 +0800 Subject: [PATCH] Update docs (18881) Signed-off-by: ester.zhou --- .../accessibilityextensionability.md | 14 ++-- .../figures/AccessibilityFramework.png | Bin 20609 -> 24973 bytes .../reference/apis/Readme-EN.md | 6 +- .../reference/apis/js-apis-animator.md | 2 + .../reference/apis/js-apis-mediaquery.md | 8 +-- .../reference/apis/js-apis-promptAction.md | 2 + .../reference/apis/js-apis-syscap.md | 42 +++++++++++ .../reference/arkui-ts/Readme-EN.md | 5 +- .../arkui-ts/ts-basic-components-marquee.md | 2 +- .../ts-container-relativecontainer.md | 2 +- .../reference/arkui-ts/ts-container-tabs.md | 12 ++-- .../arkui-ts/ts-methods-custom-dialog-box.md | 5 +- .../reference/native-apis/Readme-EN.md | 2 + .../reference/native-apis/init.md | 54 ++++++++++++++ .../reference/native-apis/syscap__ndk_8h.md | 24 +++++++ en/application-dev/reference/syscap.md | 66 ++++++++++++------ 16 files changed, 200 insertions(+), 46 deletions(-) create mode 100644 en/application-dev/reference/apis/js-apis-syscap.md create mode 100644 en/application-dev/reference/native-apis/init.md create mode 100644 en/application-dev/reference/native-apis/syscap__ndk_8h.md diff --git a/en/application-dev/application-models/accessibilityextensionability.md b/en/application-dev/application-models/accessibilityextensionability.md index 42968456fe..a76742c142 100644 --- a/en/application-dev/application-models/accessibilityextensionability.md +++ b/en/application-dev/application-models/accessibilityextensionability.md @@ -20,11 +20,11 @@ Below shows the AccessibilityExtensionAbility framework. ![AccessibilityFramework](figures/AccessibilityFramework.png) -1. Accessibility app: extension service application developed based on the AccessibilityExtensionAbility framework, for example, a screen reader application. -2. Target app: application assisted by the accessibility app. -3. AccessibilityAbilityManagerService (AAMS): main service of the AccessibilityExtensionAbility framework, which is used to manage the lifecycle of accessibility apps and provide a bridge for information exchange between accessibility apps and target apps. -4. AccessibilityAbility (AAkit): ability that is used by the accessibility app to build an extension service ability operating environment and that provides interfaces for the accessibility app to query and operate the target app, including performing click/long press operations. -5. AccessibilitySystemAbilityClient (ASACkit): used by the target app to send accessibility events, such as content change events, to AAMS, and respond to the instructions (such as performing click/long press operations) sent by the accessibility app through AAMS. +1. Accessibility application: extension service application developed based on the AccessibilityExtensionAbility framework, for example, a screen reader application. +2. Target application: application assisted by the accessibility application. +3. AccessibilityAbilityManagerService (AAMS): main service of the AccessibilityExtensionAbility framework, which is used to manage the lifecycle of accessibility applications and provide a bridge for information exchange between accessibility applications and target applications. +4. AccessibilityAbility (AAkit): ability that is used by the accessibility application to build an extension service ability operating environment and that provides interfaces for the accessibility application to query and operate the target application, including performing click/long press operations. +5. AccessibilitySystemAbilityClient (ASACkit): used by the target application to send accessibility events, such as content change events, to AAMS, and respond to the instructions (such as performing click/long press operations) sent by the accessibility application through AAMS. ## Creating an Accessibility Extension Service @@ -116,13 +116,13 @@ After developing the custom logic for an accessibility extension service, you mu ] } ``` -## Enabling a Custom Accessibility Extension Service +## Enabling or Disabling a Custom Accessibility Extension Service To enable or disable an accessibility extension service, run the following command: - To enable the service: **accessibility enable -a AccessibilityExtAbility -b com.example.demo -c rg** - To disable the service: **accessibility disable -a AccessibilityExtAbility -b com.example.demo** -In the preceding commands, **AccessibilityExtAbility** indicates the name of the accessibility extension service, **com.example.demo** indicates the bundle name, and **rg** indicates the capabilities (**r** is short for retrieve). +In the preceding commands, **AccessibilityExtAbility** indicates the name of the accessibility extension service, **com.example.demo** indicates the bundle name, and **rg** indicates the capabilities (**r** is short for retrieve and **g** gesture). If the service is enabled or disabled successfully, the message "enable ability successfully" or "disable ability successfully" is displayed. diff --git a/en/application-dev/application-models/figures/AccessibilityFramework.png b/en/application-dev/application-models/figures/AccessibilityFramework.png index 786233e6ac160972f62b9786397eb077f7ee767c..31abfb8cf00bf1c91e8718c06647443301892002 100644 GIT binary patch literal 24973 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 Nfv&O6>+49=KLD5rloJ2| diff --git a/en/application-dev/reference/apis/Readme-EN.md b/en/application-dev/reference/apis/Readme-EN.md index 8b122dde91..ebac838368 100644 --- a/en/application-dev/reference/apis/Readme-EN.md +++ b/en/application-dev/reference/apis/Readme-EN.md @@ -145,9 +145,12 @@ - [NotificationTemplate](js-apis-inner-notification-notificationTemplate.md) - [NotificationUserInput](js-apis-inner-notification-notificationUserInput.md) - Common Events + - [Common Events of the Ability Subsystem](common_event/commonEvent-ability.md) - [Common Events of the Bundle Management Subsystem](common_event/commonEvent-bundleManager.md) - [Common Events of the Notification Service](common_event/commonEvent-ans.md) + - [Common Events of the Resource Scheduler Subsystem](common_event/commonEvent-resourceschedule.md) - [Common Events of the Telephony Subsystem](common_event/commonEvent-telephony.md) + - [Common Events of the USB Subsystem](common_event/commonEvent-usb.md) - Bundle Management - [@ohos.bundle.appControl (appControl)](js-apis-appControl.md) - [@ohos.bundle.bundleManager (bundleManager)](js-apis-bundleManager.md) @@ -211,7 +214,7 @@ - [@ohos.multimedia.image (Image Processing)](js-apis-image.md) - [@ohos.multimedia.media (Media)](js-apis-media.md) - [@ohos.multimedia.systemSoundManager (System Sound Management)](js-apis-systemSoundManager.md) - - multimedia + - Multimedia - [ringtonePlayer (Ringtone Player)](js-apis-inner-multimedia-ringtonePlayer.md) - Resource Manager @@ -332,6 +335,7 @@ - [@ohos.web.webview (Webview)](js-apis-webview.md) - [Console](js-apis-logs.md) - [Timer](js-apis-timer.md) + - [SysCap](js-apis-syscap.md) - application - [AccessibilityExtensionContext (Accessibility Extension Context)](js-apis-inner-application-accessibilityExtensionContext.md) diff --git a/en/application-dev/reference/apis/js-apis-animator.md b/en/application-dev/reference/apis/js-apis-animator.md index 3aaf9f11af..5eb3e73a20 100644 --- a/en/application-dev/reference/apis/js-apis-animator.md +++ b/en/application-dev/reference/apis/js-apis-animator.md @@ -5,6 +5,8 @@ The **Animator** module provides APIs for applying animation effects, including > **NOTE** > > The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version. +> +> This module can be used only after a component instance is created, and it cannot be used in the [UIAbility](./js-apis-app-ability-uiAbility.md). ## Modules to Import diff --git a/en/application-dev/reference/apis/js-apis-mediaquery.md b/en/application-dev/reference/apis/js-apis-mediaquery.md index e5e74dc82b..b2b8dfd30e 100644 --- a/en/application-dev/reference/apis/js-apis-mediaquery.md +++ b/en/application-dev/reference/apis/js-apis-mediaquery.md @@ -5,6 +5,8 @@ The **mediaquery** module provides different styles for different media types. > **NOTE** > > The APIs of this module are supported since API version 7. Updates will be marked with a superscript to indicate their earliest API version. +> +> This module can be used only after a component instance is created, and it cannot be used in the [UIAbility](./js-apis-app-ability-uiAbility.md). ## Modules to Import @@ -26,7 +28,7 @@ Sets the media query condition. This API returns the corresponding media query l | Name | Type | Mandatory | Description | | --------- | ------ | ---- | ---------------------------------------- | -| condition | string | Yes | Media query condition. For details, see [Syntax of Media Query Conditions](../../ui/arkts-layout-development-media-query.md#syntax-of-media-query-conditions).| +| condition | string | Yes | Media query condition. For details, see [Syntax](../../ui/arkts-layout-development-media-query.md#syntax).| **Return value** @@ -146,7 +148,7 @@ struct MediaQueryExample { } aboutToAppear() { - let portraitFunc = this.onPortrait.bind(this) // Bind the current JS instance. + let portraitFunc = this.onPortrait.bind(this) // Bind the JS instance. this.listener.on('change', portraitFunc) } @@ -158,5 +160,3 @@ struct MediaQueryExample { } } ``` - - \ No newline at end of file diff --git a/en/application-dev/reference/apis/js-apis-promptAction.md b/en/application-dev/reference/apis/js-apis-promptAction.md index 4250e7503f..aed51460eb 100644 --- a/en/application-dev/reference/apis/js-apis-promptAction.md +++ b/en/application-dev/reference/apis/js-apis-promptAction.md @@ -5,6 +5,8 @@ The **PromptAction** module provides APIs for creating and showing toasts, dialo > **NOTE** > > The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. +> +> This module can be used only after a component instance is created, and it cannot be used in the [UIAbility](./js-apis-app-ability-uiAbility.md). ## Modules to Import diff --git a/en/application-dev/reference/apis/js-apis-syscap.md b/en/application-dev/reference/apis/js-apis-syscap.md new file mode 100644 index 0000000000..05439e8cd6 --- /dev/null +++ b/en/application-dev/reference/apis/js-apis-syscap.md @@ -0,0 +1,42 @@ +# SysCap + +SystemCapability (SysCap) refers to a standalone feature in the operating system. Different devices support different SysCap sets. Each SysCap corresponds to one or more APIs. You can determine whether an API can be used by checking SysCap support. + +> **NOTE** +> +> The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version. + +## canIUse + +canIUse(syscap: string): boolean + +Checks whether a SysCap is supported. + +**System capability**: SystemCapability.ArkUI.ArkUI.Full + +**Parameters** + +| Name| Type| Mandatory| Description| +| -------- | -------- | -------- | -------- | +| syscap | string | Yes| Name of the SysCap to check.| + +**Return value** + +| Type| Description| +| -------- | -------- | +| boolean | Check result. The value **true** means that the SysCap is supported, and **false** means the opposite.| + +**Example** + + ```js +import geolocation from '@ohos.geolocation' + +const isLocationAvailable = canIUse('SystemCapability.Location.Location'); +if (isLocationAvailable) { + geolocation.getCurrentLocation((location) => { + console.log(location.latitude, location.longitue); + }); +} else { + console.log('Location not by this device.'); +} + ``` diff --git a/en/application-dev/reference/arkui-ts/Readme-EN.md b/en/application-dev/reference/arkui-ts/Readme-EN.md index f2b75b5ee7..bb367dd6c3 100644 --- a/en/application-dev/reference/arkui-ts/Readme-EN.md +++ b/en/application-dev/reference/arkui-ts/Readme-EN.md @@ -41,7 +41,6 @@ - [Foreground Color](ts-universal-attributes-foreground-color.md) - [Click Effect](ts-universal-attributes-click-effect.md) - Touch Interactions - - [Click Control](ts-universal-attributes-click.md) - [Touch Target](ts-universal-attributes-touch-target.md) - [Hit Test Control](ts-universal-attributes-hit-test-behavior.md) - Touch Interactions @@ -177,5 +176,7 @@ - [Pixel Units](ts-pixel-units.md) - [Enums](ts-appendix-enums.md) - [Types](ts-types.md) -- Components No Longer Maintained +- Components No Longer Maintained - [GridContainer](ts-container-gridcontainer.md) +- APIs No Longer Maintained + - [Click Control](ts-universal-attributes-click.md) \ No newline at end of file diff --git a/en/application-dev/reference/arkui-ts/ts-basic-components-marquee.md b/en/application-dev/reference/arkui-ts/ts-basic-components-marquee.md index a6c0b032ca..e14c0aee93 100644 --- a/en/application-dev/reference/arkui-ts/ts-basic-components-marquee.md +++ b/en/application-dev/reference/arkui-ts/ts-basic-components-marquee.md @@ -33,7 +33,7 @@ Since API version 9, this API is supported in ArkTS widgets. | Name | Type| Description | | ---------- | -------- | ------------------------------------------------------------ | -| allowScale | boolean | Whether to allow text to scale.
Default value: **false**
Since API version 9, this API is supported in ArkTS widgets.| +| allowScale | boolean | Whether to allow text to scale.
This attribute is not supported currently.
Default value: **false** | ## Events diff --git a/en/application-dev/reference/arkui-ts/ts-container-relativecontainer.md b/en/application-dev/reference/arkui-ts/ts-container-relativecontainer.md index 77f136b9f2..d9199a9659 100644 --- a/en/application-dev/reference/arkui-ts/ts-container-relativecontainer.md +++ b/en/application-dev/reference/arkui-ts/ts-container-relativecontainer.md @@ -15,7 +15,7 @@ The **\** component is used for element alignment in complex * Alignment modes in the vertical direction can be top, center, or bottom, achieved by the **VerticalAlign.Top**, **VerticalAlign.Center**, and **VerticalAlign.Bottom** attributes of the container, respectively. * A child component can set the container or another child component as the anchor. * To show in the **\**, child components must have an ID. The container ID is fixed at **__container__**. - * Three positions of the child component in a direction can use three positions of the container or another child components in the same direction as anchors. If anchors are set for more than two positions in a single direction, the third position is skipped. + * Three positions on the child component in a specific direction can use as anchors three positions on the container or another child component in the same direction. If anchors are set for more than two positions in a single direction, then: Start and Center are preferred in the horizontal direction, and Top and Center are preferred in the vertical direction. * The child component size set on the frontend page is not affected by the **\** rules. If two or more **alignRules** values are set for one direction of the child component, you are not advised to set the size for this direction. * If offset is required after the alignment, it can be set through **offset**. * Exceptions diff --git a/en/application-dev/reference/arkui-ts/ts-container-tabs.md b/en/application-dev/reference/arkui-ts/ts-container-tabs.md index 0acc1c38aa..99f26a37c6 100644 --- a/en/application-dev/reference/arkui-ts/ts-container-tabs.md +++ b/en/application-dev/reference/arkui-ts/ts-container-tabs.md @@ -21,7 +21,7 @@ Tabs(value?: {barPosition?: BarPosition, index?: number, controller?: [TabsContr | Name | Type | Mandatory| Description | | ----------- | --------------------------------- | ---- | ------------------------------------------------------------ | | barPosition | BarPosition | No | Position of the **\** component.
Default value: **BarPosition.Start** | -| index | number | No | Initial tab index.
Default value: **0**
**NOTE**
A value less than 0 evaluates to the default value.
The value ranges from 0 to the number of **\** subnodes minus 1.
When this parameter is set to different values, the slide animation for tab switching is enabled by default. To disable the animation, set **animationDuration** to **0**.
Since API version 10, this parameter supports [$$](../../quick-start/arkts-two-way-sync.md) for two-way binding of variables.| +| index | number | No | Initial tab index.
Default value: **0**
**NOTE**
A value less than 0 evaluates to the default value.
The value ranges from 0 to the number of **\** subnodes minus 1.
When this parameter is set to different values, the slide animation for tab switching is enabled by default. To disable the animation, set **animationDuration** to **0**.
Since API version 10, this parameter supports [$$](../../quick-start/arkts-two-way-sync.md) for two-way binding of variables. | | controller | [TabsController](#tabscontroller) | No | Tab controller. | ## BarPosition @@ -41,11 +41,13 @@ In addition to the [universal attributes](ts-universal-attributes-size.md), the | vertical | boolean | Whether to use vertical tabs. The value **true** means to use vertical tabs, and **false** means to use horizontal tabs.
Default value: **false**| | scrollable | boolean | Whether the tabs are scrollable. The value **true** means that the tabs are scrollable, and **false** means the opposite.
Default value: **true**| | barMode | BarMode | Tab bar layout mode. For details, see **BarMode**.
Default value: **BarMode.Fixed**| -| barWidth | number \| Length8+ | Width of the tab bar.
**NOTE**

A value less than 0 or greater than the width of the **\** component evaluates to the default value.| -| barHeight | number \| Length8+ | Height of the tab bar.
**NOTE**
A value less than 0 or greater than the width of the **\** component evaluates to the default value. | -| animationDuration | number | Duration of the slide animation for tab switching. If this parameter is set, the tab switching animation is played when the user switches between tabs by sliding or clicking. If this parameter is not set, the tab switching animation is played only when the user switches between tabs by sliding.
Default value: **300**
**NOTE**
A value less than 0 or in percentage evaluates to the default value.| +| barWidth | number \| Length8+ | Width of the tab bar.
The default value varies.
If the tab bar has the **vertical** attribute set to **false** and does not have a style specified, the default value is the width of the **\** component.
If the tab bar has the **vertical** attribute set to **true** and does not have a style specified, the default value is **56vp**.
If the tab bar has the **vertical** attribute set to **false** and **SubTabbarStyle** specified, the default value is the width of the **\** component.
If the tab bar has the **vertical** attribute set to **true** and **SubTabbarStyle** specified, the default value is **56vp**.
If the tab bar has the **vertical** attribute set to **true** and **BottomTabbarStyle** specified, the default value is **96vp**.
If the tab bar has the **vertical** attribute set to **false** and **BottomTabbarStyle** specified, the default value is the width of the **\** component.
**NOTE**

A value less than 0 or greater than the width of the **\** component evaluates to the default value.| +| barHeight | number \| Length8+ | Height of the tab bar.
The default value varies.
If the tab bar has the **vertical** attribute set to **false** and does not have a style specified, the default value is **56vp**.
If the tab bar has the **vertical** attribute set to **true** and does not have a style specified, the default value is the height of the **\** component.
If the tab bar has the **vertical** attribute set to **false** and **SubTabbarStyle** specified, the default value is **56vp**.
If the tab bar has the **vertical** attribute set to **true** and **SubTabbarStyle** specified, the default value is the height of the **\** component.
If the tab bar has the **vertical** attribute set to **true** and **BottomTabbarStyle** specified, the default value is the height of the **\** component.
If the tab bar has the **vertical** attribute set to **false** and **BottomTabbarStyle** specified, the default value is **56vp**.
**NOTE**
A value less than 0 or greater than the height of the **\** component evaluates to the default value. | +| animationDuration | number | Duration of the slide animation for tab switching. If this parameter is set, the tab switching animation is played when the user switches between tabs by sliding or clicking. If this parameter is not set, the tab switching animation is played only when the user switches between tabs by sliding.
Default value: **300**
**NOTE**
A value less than 0 or in percentage evaluates to the default value. | | divider10+ | [DividerStyle](#dividerstyle10) \| null | Whether the divider is displayed for the **\** and **\** components and the divider style. By default, the divider is not displayed.
**DividerStyle**: divider style.
**null**: The divider is not displayed.| | fadingEdge10+ | boolean | Whether the tab fades out when it exceeds the container width.
Default value: **true** | +| barOverlap10+ | boolean | Whether the tab bar is superimposed on the **\** component after having its background blurred.
Default value: **false** | +| barBackgroundColor10+ | [ResourceColor](ts-types.md#resourcecolor) | Background color of the tab bar.
Default value: transparent| ## DividerStyle10+ @@ -91,7 +93,7 @@ Switches to the specified tab. | Name | Type | Mandatory | Description | | ----- | ------ | ---- | ---------------------------------------- | -| value | number | Yes | Index of the tab. The value starts from 0.
**NOTE**

If this parameter is set to a value less than 0 or greater than the maximum number, the event will be invalid.| +| value | number | Yes | Index of the tab. The value starts from 0.
**NOTE**
If this parameter is set to a value less than 0 or greater than the maximum number, the event will be invalid. | ## Example diff --git a/en/application-dev/reference/arkui-ts/ts-methods-custom-dialog-box.md b/en/application-dev/reference/arkui-ts/ts-methods-custom-dialog-box.md index 343b5b8536..8605a29ab1 100644 --- a/en/application-dev/reference/arkui-ts/ts-methods-custom-dialog-box.md +++ b/en/application-dev/reference/arkui-ts/ts-methods-custom-dialog-box.md @@ -112,9 +112,10 @@ struct CustomDialogUser { customStyle: false }) + // Delete the dialogController instance and set it to undefined when the custom component is about to be destroyed. aboutToDisappear() { - delete this.dialogController, - this.dialogController = undefined + delete this.dialogController, // Delete the dialogController instance. + this.dialogController = undefined //Set dialogController to undefined. } onCancel() { diff --git a/en/application-dev/reference/native-apis/Readme-EN.md b/en/application-dev/reference/native-apis/Readme-EN.md index 59113d614c..ee896c6740 100644 --- a/en/application-dev/reference/native-apis/Readme-EN.md +++ b/en/application-dev/reference/native-apis/Readme-EN.md @@ -18,6 +18,7 @@ - [HuksKeyApi](_huks_key_api.md) - [HuksParamSetApi](_huks_param_set_api.md) - [HuksTypeApi](_huks_type_api.md) + - [Init](init.md) - [Memory](memory.md) - Header Files - [drawing_bitmap.h](drawing__bitmap_8h.md) @@ -57,6 +58,7 @@ - [native_huks_api.h](native__huks__api_8h.md) - [native_huks_param.h](native__huks__param_8h.md) - [native_huks_type.h](native__huks__type_8h.md) + - [syscap_ndk.h](syscap__ndk_8h.md) - [purgeable_memory.h](purgeable__memory_8h.md) - Structs - [OH_Drawing_BitmapFormat](_o_h___drawing___bitmap_format.md) diff --git a/en/application-dev/reference/native-apis/init.md b/en/application-dev/reference/native-apis/init.md new file mode 100644 index 0000000000..fcbf32da04 --- /dev/null +++ b/en/application-dev/reference/native-apis/init.md @@ -0,0 +1,54 @@ +# Init + + +## Overview + +Provides APIs for checking SystemCapability (SycCap) support. + +You can use the provided APIs to read the SycCap parameter file to check whether a specific SycCap is supported. + +**Since:** + +8 + + +## Summary + + +### Files + +| Name| Description| +| -------- | -------- | +| [syscap_ndk.h](syscap__ndk_8h.md) | Defines the APIs for checking SycCap support.| + + +### Functions + +| Name| Description| +| -------- | -------- | +| [canIUse](#caniuse) (const char \*cap) | Checks whether a SysCap is supported. SystemCapability (SysCap) refers to a standalone feature in the operating system. Different devices support different SysCap sets. Each SysCap corresponds to one or more APIs. You can determine whether an API can be used by checking SysCap support.| + + +## Function Description + + +### canIUse() + + +``` +bool canIUse (const char * cap) +``` + +**Description** + +Checks whether a SysCap is supported. SystemCapability (SysCap) refers to a standalone feature in the operating system. Different devices support different SysCap sets. Each SysCap corresponds to one or more APIs. You can determine whether an API can be used by checking SysCap support. + +**Parameters** + +| Name| Description| +| -------- | -------- | +| cap | Name of the SysCap to check.| + +**Returns** + +Check result. The value **true** means that the SysCap is supported, and **false** means the opposite. diff --git a/en/application-dev/reference/native-apis/syscap__ndk_8h.md b/en/application-dev/reference/native-apis/syscap__ndk_8h.md new file mode 100644 index 0000000000..a96ab91cd6 --- /dev/null +++ b/en/application-dev/reference/native-apis/syscap__ndk_8h.md @@ -0,0 +1,24 @@ +# syscap_ndk.h + + +## Overview + +Declares the APIs for checking SycCap support. + +**Since:** + +8 + +**Related Modules:** + +[Init](init.md) + + +## Summary + + +### Functions + +| Name| Description| +| -------- | -------- | +| [canIUse](init.md#caniuse) (const char \*cap) | Checks whether a SysCap is supported.
SystemCapability (SysCap) refers to a standalone feature in the operating system. Different devices support different SysCap sets. Each SysCap corresponds to one or more APIs. You can determine whether an API can be used by checking SysCap support.| diff --git a/en/application-dev/reference/syscap.md b/en/application-dev/reference/syscap.md index 03c2f4c42b..f5db3a40c6 100644 --- a/en/application-dev/reference/syscap.md +++ b/en/application-dev/reference/syscap.md @@ -93,29 +93,49 @@ By default, the associated SysCap set of an application is the union of multiple ### Checking Whether an API Is Available -- Method 1: Use the **canIUse()** API to check whether a SysCap is supported. - - ```ts - if (canIUse("SystemCapability.ArkUI.ArkUI.Full")) { - console.log("This device supports SystemCapability.ArkUI.ArkUI.Full."); - } else { - console.log("This device does not support SystemCapability.ArkUI.ArkUI.Full."); - } - ``` - -- Method 2: Import a module using the **import** API. If the current device does not support the module, the import result is **undefined**. Before using an API, you must make sure the API is available. - - ```ts - import geolocation from '@ohos.geolocation'; - - if (geolocation) { - geolocation.getCurrentLocation((location) => { - console.log(location.latitude, location.longitude); - }); - } else { - console.log('This device does not support location information.'); - } - ``` +You can use either the ArtTS or native API to determine whether an API is available. + +- ArkTS API + + - Method 1: Use the **canIUse()** API to check whether a SysCap is supported. + + ```ts + if (canIUse("SystemCapability.ArkUI.ArkUI.Full")) { + console.log("This device supports SystemCapability.ArkUI.ArkUI.Full."); + } else { + console.log("This device does not support SystemCapability.ArkUI.ArkUI.Full."); + } + ``` + + - Method 2: Import a module using the **import** API. If the current device does not support the module, the import result is **undefined**. Before using an API, you must make sure the API is available. + + ```ts + import geolocation from '@ohos.geolocation'; + + if (geolocation) { + geolocation.getCurrentLocation((location) => { + console.log(location.latitude, location.longitude); + }); + } else { + console.log('This device does not support location information.'); + } + ``` +- Native API + + ```c + #include + #include + #include "syscap_ndk.h" + + char syscap[] = "SystemCapability.ArkUI.ArkUI.Full"; + bool result = canIUse(syscap); + if (result) { + printf("SysCap: %s is supported!\n", syscap); + } else { + printf("SysCap: %s is not supported!\n", syscap); + } + ``` + You can also find out the SysCap to which an API belongs by referring to the API reference document. ### Checking the Differences Between Devices with a Specific SysCap -- GitLab