diff --git a/en/application-dev/application-test/arkxtest-guidelines.md b/en/application-dev/application-test/arkxtest-guidelines.md index ce7a28154635b724d127a50af801c74f84607402..bd82cae45fb4c673f014bcc13cfc02beb3853a2e 100644 --- a/en/application-dev/application-test/arkxtest-guidelines.md +++ b/en/application-dev/application-test/arkxtest-guidelines.md @@ -42,13 +42,13 @@ arkXtest is divided into two parts: unit test framework and UI test framework. - The feature availability of the unit test framework varies by version. For details about the mappings between the features and versions, see [arkXtest](https://gitee.com/openharmony/testfwk_arkxtest/blob/master/README_en.md). -## Environment preparations +## Preparing the Environment ### Environment Requirements Software for writing test scripts: DevEco Studio 3.0 or later -Hardware for running test scripts: PC connected to a OpenHarmony device, such as the RK3568 development board +Hardware for running test scripts: PC connected to an OpenHarmony device, such as the RK3568 development board ### Setting Up the Environment @@ -63,8 +63,8 @@ Hardware for running test scripts: PC connected to a OpenHarmony device, such as ## Writing a Unit Test Script ```TS -import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' -import abilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; +import abilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; const delegator = abilityDelegatorRegistry.getAbilityDelegator() export default function abilityTest() { @@ -72,7 +72,7 @@ export default function abilityTest() { it('testUiExample',0, async function (done) { console.info("uitest: TestUiExample begin"); //start tested ability - await delegator.executeShellCommand('aa start -b com.ohos.uitest -a MainAbility').then(result =>{ + await delegator.executeShellCommand('aa start -b com.ohos.uitest -a EntryAbility').then(result =>{ console.info('Uitest, start ability finished:' + result) }).catch(err => { console.info('Uitest, start ability failed: ' + err) @@ -81,7 +81,7 @@ export default function abilityTest() { //check top display ability await delegator.getCurrentTopAbility().then((Ability)=>{ console.info("get top ability"); - expect(Ability.context.abilityInfo.name).assertEqual('MainAbility'); + expect(Ability.context.abilityInfo.name).assertEqual('EntryAbility'); }) done(); }) @@ -119,7 +119,7 @@ export default function abilityTest() { it('testUiExample',0, async function (done) { console.info("uitest: TestUiExample begin"); //start tested ability - await delegator.executeShellCommand('aa start -b com.ohos.uitest -a MainAbility').then(result =>{ + await delegator.executeShellCommand('aa start -b com.ohos.uitest -a EntryAbility').then(result =>{ console.info('Uitest, start ability finished:' + result) }).catch(err => { console.info('Uitest, start ability failed: ' + err) @@ -128,7 +128,7 @@ export default function abilityTest() { //check top display ability await delegator.getCurrentTopAbility().then((Ability)=>{ console.info("get top ability"); - expect(Ability.context.abilityInfo.name).assertEqual('MainAbility'); + expect(Ability.context.abilityInfo.name).assertEqual('EntryAbility'); }) //ui test code //init uidriver @@ -154,20 +154,180 @@ export default function abilityTest() { ## Running the Test Script +### In DevEco Studio + You can run a test script in DevEco Studio in any of the following modes: -- Test package level: All test cases in the test package are executed. -- Test suite level: All test cases defined in the **describe** method are executed. -- Test method level: The specified **it** method, that is, a single test case, is executed. +1. Test package level: All test cases in the test package are executed. + +2. Test suite level: All test cases defined in the **describe** method are executed. + +3. Test method level: The specified **it** method, that is, a single test case, is executed. ![](figures/Execute.PNG) -## Viewing the Test Result +**Viewing the Test Result** After the test is complete, you can view the test result in DevEco Studio, as shown in the following figure. ![](figures/TestResult.PNG) +### In the CLI + +To run a test script in the CLI, execute **aa** commands with different execution control keywords. + +Parameters in aa test commands + +| Keyword | Abbreviation| Description | Example | +| ------------- | ------------ | -------------------------------------- | ---------------------------------- | +| --bundleName | -b | Application bundle name. | - b com.test.example | +| --packageName | -p | Application module name, which is applicable to applications developed in the FA model. | - p com.test.example.entry | +| --moduleName | -m | Application module name, which is applicable to applications developed in the stage model. | -m entry | +| NA | -s | \ pair.| - s unittest OpenHarmonyTestRunner | + +The framework supports multiple test case execution modes, which are triggered by the key-value pair following the **-s** keyword. The table below lists the available keys and values. + +| Key | Description | Value | Parameter | +| ------------ | ----------------------------------------------------------------------------- | ------------------------------------------------------------ | ----------------------------------------- | +| unittest | OpenHarmonyTestRunner object used for test case execution. | **OpenHarmonyTestRunner** or custom runner name. | - s unittest OpenHarmonyTestRunner | +| class | Test suite or test case to be executed. | {describeName}#{itName}, {describeName} | -s class attributeTest#testAttributeIt | +| notClass | Test suite or test case that does not need to be executed. | {describeName}#{itName}, {describeName} | -s notClass attributeTest#testAttributeIt | +| itName | Test case to be executed. | {itName} | -s itName testAttributeIt | +| timeout | Timeout interval for executing a test case. | Positive integer (unit: ms). If no value is set, the default value 5000 is used. | -s timeout 15000 | +| breakOnError | Whether to enable break-on-error mode. When this mode is enabled, the test execution process exits if a test assertion error or any other error occurs.| **true**/**false** (default value) | -s breakOnError true | +| testType | Type of the test case to be executed. | function, performance, power, reliability, security, global, compatibility, user, standard, safety, resilience| -s testType function | +| level | Level of the test case to be executed. | 0, 1, 2, 3, 4 | -s level 0 | +| size | Size of the test case to be executed. | small, medium, large | -s size small | +| stress | Number of times that the test case is executed. | Positive integer | -s stress 1000 | + +**Running Commands** + +> Configure hdc-related environment variables, and then perform the following: + +- Open the CLI. +- Run the **aa test** commands. + +Example 1: Execute all test cases. + +```shell + hdc shell aa test -b xxx -p xxx -s unittest OpenHarmonyTestRunner +``` + +Example 2: Execute cases in the specified test suites, separated by commas (,). + +```shell + hdc shell aa test -b xxx -p xxx -s unittest OpenHarmonyTestRunner -s class s1,s2 +``` + +Example 3: Execute specified cases in the specified test suites, separated by commas (,). + +```shell + hdc shell aa test -b xxx -p xxx -s unittest OpenHarmonyTestRunner -s class testStop#stop_1,testStop1#stop_0 +``` + +Example 4: Execute all test cases except the specified ones, separated by commas (,). + +```shell + hdc shell aa test -b xxx -p xxx -s unittest OpenHarmonyTestRunner -s notClass testStop +``` + +Example 5: Execute specified test cases, separated by commas (,). + +```shell + hdc shell aa test -b xxx -p xxx -s unittest OpenHarmonyTestRunner -s itName stop_0 +``` + +Example 6: Set the timeout interval for executing a test case. + +```shell + hdc shell aa test -b xxx -p xxx -s unittest OpenHarmonyTestRunner -s timeout 15000 +``` + +Example 7: Enable break-on-error mode. + +```shell + hdc shell aa test -b xxx -p xxx -s unittest OpenHarmonyTestRunner -s breakOnError true +``` + +Example 8: Execute test cases of the specified type. + +```shell + hdc shell aa test -b xxx -p xxx -s unittest OpenHarmonyTestRunner -s testType function +``` + +Example 9: Execute test cases at the specified level. + +```shell + hdc shell aa test -b xxx -p xxx -s unittest OpenHarmonyTestRunner -s level 0 +``` + +Example 10: Execute test cases with the specified size. + +```shell + hdc shell aa test -b xxx -p xxx -s unittest OpenHarmonyTestRunner -s size small +``` + +Example 11: Execute test cases for a specified number of times. + +```shell + hdc shell aa test -b xxx -p xxx -s unittest OpenHarmonyTestRunner -s stress 1000 +``` + +**Viewing the Test Result** + +- During test execution in the CLI, the log information similar to the following is displayed: + +``` +OHOS_REPORT_STATUS: class=testStop +OHOS_REPORT_STATUS: current=1 +OHOS_REPORT_STATUS: id=JS +OHOS_REPORT_STATUS: numtests=447 +OHOS_REPORT_STATUS: stream= +OHOS_REPORT_STATUS: test=stop_0 +OHOS_REPORT_STATUS_CODE: 1 + +OHOS_REPORT_STATUS: class=testStop +OHOS_REPORT_STATUS: current=1 +OHOS_REPORT_STATUS: id=JS +OHOS_REPORT_STATUS: numtests=447 +OHOS_REPORT_STATUS: stream= +OHOS_REPORT_STATUS: test=stop_0 +OHOS_REPORT_STATUS_CODE: 0 +OHOS_REPORT_STATUS: consuming=4 +``` + +| Log Field | Description | +| ------- | -------------------------| +| OHOS_REPORT_SUM | Total number of test cases in the current test suite.| +| OHOS_REPORT_STATUS: class | Name of the test suite that is being executed.| +| OHOS_REPORT_STATUS: id | Case execution language. The default value is JS. | +| OHOS_REPORT_STATUS: numtests | Total number of test cases in the test package.| +| OHOS_REPORT_STATUS: stream | Error information of the current test case.| +| OHOS_REPORT_STATUS: test| Name of the current test case.| +| OHOS_REPORT_STATUS_CODE | Execution result of the current test case. The options are as follows:
**0**: pass
**1**: error
**2**: fail| +| OHOS_REPORT_STATUS: consuming | Execution duration of the current test case.| + +- After the commands are executed, the log information similar to the following is displayed: + +``` +OHOS_REPORT_RESULT: stream=Tests run: 447, Failure: 0, Error: 1, Pass: 201, Ignore: 245 +OHOS_REPORT_CODE: 0 + +OHOS_REPORT_RESULT: breakOnError model, Stopping whole test suite if one specific test case failed or error +OHOS_REPORT_STATUS: taskconsuming=16029 + +``` +| Log Field | Description | +| ------------------| -------------------------| +| run | Total number of test cases in the current test package.| +| Failure | Number of failed test cases.| +| Error | Number of test cases whose execution encounters errors. | +| Pass | Number of passed test cases.| +| Ignore | Number of test cases not executed.| +| taskconsuming| Total time spent in executing the current test case.| + +> When an error occurs in break-on-error mode, check the **Ignore** and interrupt information. + ## FAQs ### FAQs About Unit Test Cases @@ -182,7 +342,7 @@ The logs added to the test case are displayed after the test case execution, rat More than one asynchronous interface is called in the test case.
In principle, logs in the test case are printed before the test case execution is complete. - **Solution** +**Solution** If more than one asynchronous interface is called, you are advised to encapsulate the interface invoking into the promise mode @@ -209,14 +369,18 @@ After the test case execution is complete, the console displays the error messag **Possible Causes** 1. The test case is executed through an asynchronous interface, but the **done** function is not executed during the execution. As a result, the test case execution does not end until it times out. -2. The time taken for API invocation is longer than the timeout interval set for test case execution. + +2. The time taken for API invocation is longer than the timeout interval set for test case execution. + +3. Test assertion fails, and a failure exception is thrown. As a result, the test case execution does not end until the timeout expires. **Solution** 1. Check the code logic of the test case to ensure that the **done** function is executed even if the assertion fails. -2. Modify the case execution timeout settings under **Run/Debug Configurations** in DevEco Studio. +2. Modify the case execution timeout settings under **Run/Debug Configurations** in DevEco Studio. +3. Check the code logic and assertion result of the test case and make sure that the assertion is passed. ### FAQs About UI Test Cases #### The failure log contains "Get windows failed/GetRootByWindow failed" @@ -237,11 +401,11 @@ Run the following command, restart the device, and execute the test case again: hdc shell param set persist.ace.testmode.enabled 1 ``` -#### The failure log contains "uitest-api dose not allow calling concurrently" +#### The failure log contains "uitest-api does not allow calling concurrently" **Problem** -The UI test case fails to be executed. The HiLog file contains the error message "uitest-api dose not allow calling concurrently". +The UI test case fails to be executed. The HiLog file contains the error message "uitest-api does not allow calling concurrently". **Possible Causes** @@ -255,11 +419,11 @@ The UI test case fails to be executed. The HiLog file contains the error message 2. Do not execute UI test cases in multiple processes. -#### The failure log contains "dose not exist on current UI! Check if the UI has changed after you got the widget object" +#### The failure log contains "does not exist on current UI! Check if the UI has changed after you got the widget object" **Problem** -The UI test case fails to be executed. The HiLog file contains the error message "dose not exist on current UI! Check if the UI has changed after you got the widget object". +The UI test case fails to be executed. The HiLog file contains the error message "does not exist on current UI! Check if the UI has changed after you got the widget object". **Possible Causes** diff --git a/en/application-dev/application-test/figures/Execute.PNG b/en/application-dev/application-test/figures/Execute.PNG index 90dcb55338ad473d29557e4c761801b16c770d45..ba96bdfdaf430249f3506153a45c6fe439eda5cc 100644 Binary files a/en/application-dev/application-test/figures/Execute.PNG and b/en/application-dev/application-test/figures/Execute.PNG differ diff --git a/en/application-dev/application-test/figures/TestResult.PNG b/en/application-dev/application-test/figures/TestResult.PNG index 300266842efab6da7a4f7469ab8c9e890f238b89..c2938e7f8fbd4ec112506db5b9b9ac03a7b42397 100644 Binary files a/en/application-dev/application-test/figures/TestResult.PNG and b/en/application-dev/application-test/figures/TestResult.PNG differ diff --git a/en/application-dev/quick-start/module-configuration-file.md b/en/application-dev/quick-start/module-configuration-file.md index f06e9f911b9d1cb949097e23d24163f7afaa09c2..260d0cab1f9aa5b9365848e58bf070e1a70b4924 100644 --- a/en/application-dev/quick-start/module-configuration-file.md +++ b/en/application-dev/quick-start/module-configuration-file.md @@ -41,7 +41,7 @@ This document gives an overview of the **module.json5** configuration file. To s "entity.system.home" ], "actions": [ - "action.system.home" + "ohos.want.action.home" ] } ] @@ -74,15 +74,15 @@ As shown above, the **module.json5** file contains several tags. | name | Name of the module. The value is a string with a maximum of 31 bytes and must be unique in the entire application.| String| No| | type | Type of the module. The value can be **entry** or **feature**.
- **entry**: main module of the application.
- **feature**: dynamic feature module of the application.| String| No| | srcEntrance | Code path corresponding to the module. The value is a string with a maximum of 127 bytes.| String| Yes (initial value: left empty)| -| description | Description of the module. The value is a string with a maximum of 255 bytes or a string resource index. | String| Yes (initial value: left empty)| +| description | Description of the module. The value is a string with a maximum of 255 bytes or a string resource index.| String| Yes (initial value: left empty)| | process | Process name of the current module. The value is a string with a maximum of 31 bytes. If **process** is configured under **HAP**, all UIAbility, DataShareExtensionAbility, and ServiceExtensionAbility components of the application run in the specified process.
**NOTE**
This tag applies only to system applications and does not take effect for third-party applications.| String| Yes (initial value: value of **bundleName** under **app** in the **app.json5** file)| -| mainElement | Name of the entry UIAbility or ExtensionAbility of the module. The value contains a maximum of 255 bytes.| String| Yes (initial value: left empty)| +| mainElement | Name of the entry UIAbility or ExtensionAbility of the module. The value is a string with a maximum of 255 bytes.| String| Yes (initial value: left empty)| | [deviceTypes](#devicetypes) | Type of the device on which the module can run.| String array| No (can be left empty)| | deliveryWithInstall | Whether the HAP file of the module will be installed when the user installs the application.
- **true**: The HAP file will be installed when the user installs the application.
- **false**: The HAP file will not be installed when the user installs the application.| Boolean| No| | installationFree | Whether the module supports the installation-free feature.
- **true**: The module supports the installation-free feature and meets installation-free constraints.
- **false**: The module does not support the installation-free feature.
**NOTE**
- If this tag is set to **true** for an entry-type module, it must also be set to **true** for feature-type modules of the same application.
- If this tag is set to **false** for an entry-type module, it can be set to **true** or **false** for feature-type modules of the same application based on service requirements.| Boolean| No| -| virtualMachine | Type of the target virtual machine (VM) where the module runs. It is used for cloud distribution, such as distribution by the application market and distribution center.
If the target VM type is ArkTS engine, the value is **ark**+*version number*. | String| Yes (initial value: automatically inserted when DevEco Studio builds the HAP file)| -| uiSyntax (deprecated)| Syntax type of the JS component defined by the module syntax. This tag is deprecated since API version 9.
- **"hml"**: The JS component is developed using HML, CSS, or JS.
- **"ets"**: The JS component is developed using ArkTS. | String| Yes (initial value: **"hml"**)| -| [pages](#pages)| Profile that represents information about each page in the JS component. The value can contain a maximum of 255 bytes.| String| No in the UIAbility scenario| +| virtualMachine | Type of the target virtual machine (VM) where the module runs. It is used for cloud distribution, such as distribution by the application market and distribution center.
If the target VM type is ArkTS engine, the value is **ark**+*version number*.| String| Yes (initial value: automatically inserted when DevEco Studio builds the HAP file)| +| uiSyntax (deprecated)| Syntax type of the component defined by the module syntax. This tag is deprecated since API version 9.
- **"hml"**: The component is developed using HML, CSS, or JS.
- **"ets"**: The component is developed using ArkTS.| String| Yes (initial value: **"hml"**)| +| [pages](#pages)| Profile that represents information about each page in the current module. The value can contain a maximum of 255 bytes.| String| No in the UIAbility scenario| | [metadata](#metadata)| Custom metadata of the module. The setting is valid only for the current module, UIAbility, or ExtensionAbility.| Object array| Yes (initial value: left empty)| | [abilities](#abilities) | UIAbility configuration of the module, which is valid only for the current UIAbility component.| Object| Yes (initial value: left empty)| | [extensionAbilities](#extensionabilities) | ExtensionAbility configuration of the module, which is valid only for the current ExtensionAbility component.| Object| Yes (initial value: left empty)| @@ -157,7 +157,7 @@ The **metadata** tag represents the custom metadata of the HAP file. The tag val | -------- | -------- | -------- | -------- | | name | Name of the data item. The value is a string with a maximum of 255 bytes.| String| Yes (initial value: left empty)| | value | Value of the data item. The value is a string with a maximum of 255 bytes.| String| Yes (initial value: left empty)| -| resource | Custom data format. The value is a resource index. It contains a maximum of 255 bytes. | String| Yes (initial value: left empty)| +| resource | Custom data format. The value is a resource index that identifies the data. It contains a maximum of 255 bytes.| String| Yes (initial value: left empty)| ```json @@ -210,14 +210,14 @@ The **abilities** tag describes the UIAbility configuration of the component, wh | name | Name of the UIAbility component, which must be unique in the entire application. The value is a string with a maximum of 127 bytes.| String| No| | srcEntrance | Code path of the entry UIAbility component. The value is a string with a maximum of 127 bytes.| String| No| | [launchType](../application-models/uiability-launch-type.md) | Launch type of the UIAbility component. The options are as follows:
- **standard**: A new UIAbility instance is created each time the UIAbility component is started.
- **singleton**: A new UIAbility instance is created only when the UIAbility component is started for the first time.
- **specified**: You can determine whether to create a new UIAbility instance when the application is running.| String| Yes (initial value: **"singleton"**)| -| description | Description of the UIAbility component. The value is a string with a maximum of 255 bytes or a resource index to the description in multiple languages. | String| Yes (initial value: left empty)| -| icon | Icon of the UIAbility component. The value is an icon resource index.
If **UIAbility** is set to **MainElement** of the current module, this attribute is mandatory. | String| Yes (initial value: left empty) | -| label | Name of the UIAbility component displayed to users. The value is a string resource index.
If **UIAbility** is set to **MainElement** of the current module, this attribute is mandatory and its value must be unique in the application. | String| No| +| description | Description of the UIAbility component. The value is a string with a maximum of 255 bytes or a resource index to the description in multiple languages.| String| Yes (initial value: left empty)| +| icon | Icon of the UIAbility component. The value is an icon resource index.
If **UIAbility** is set to **MainElement**, this attribute is mandatory. | String| Yes (initial value: left empty) | +| label | Name of the UIAbility component displayed to users. The value is a string resource index.
If **UIAbility** is set to **MainElement** of the current module, this attribute is mandatory and its value must be unique in the application.| String| No| | permissions | Permissions required for another application to access the UIAbility component.
The value is an array of permission names predefined by the system, generally in the reverse domain name notation. It contains a maximum of 255 bytes.| String array| Yes (initial value: left empty)| | [metadata](#metadata)| Metadata information of the UIAbility component.| Object array| Yes (initial value: left empty)| | visible | Whether the UIAbility component can be called by other applications.
- **true**: The UIAbility component can be called by other applications.
- **false**: The UIAbility component cannot be called by other applications.| Boolean| Yes (initial value: **false**)| | continuable | Whether the UIAbility component can be [migrated](../application-models/hop-cross-device-migration.md).
- **true**: The UIAbility component can be migrated.
- **false**: The UIAbility component cannot be migrated.| Boolean| Yes (initial value: **false**)| -| [skills](#skills) | Feature set of [wants](../application-models/want-overview.md) that can be received by the current UIAbility or ExtensionAbility component.
Configuring rule:
- For HAPs of the entry type, you can configure multiple **skills** attributes with the entry capability for an OpenHarmony application. (A **skills** attribute with the entry capability is the one that has **action.system.home** and **entity.system.home** configured.)
- For HAPs of the feature type, you can configure **skills** attributes with the entry capability for an OpenHarmony application, but not for an OpenHarmony service.| Object array| Yes (initial value: left empty)| +| [skills](#skills) | Feature set of [wants](../application-models/want-overview.md) that can be received by the current UIAbility or ExtensionAbility component.
Configuring rule:
- For HAPs of the entry type, you can configure multiple **skills** attributes with the entry capability for an OpenHarmony application. (A **skills** attribute with the entry capability is the one that has **ohos.want.action.home** and **entity.system.home** configured.)
- For HAPs of the feature type, you can configure **skills** attributes with the entry capability for an OpenHarmony application, but not for an OpenHarmony service.| Object array| Yes (initial value: left empty)| | backgroundModes | Continuous tasks of the UIAbility component.
Continuous tasks are classified into the following types:
- **dataTransfer**: service for downloading, backing up, sharing, or transferring data from the network or peer devices.
- **audioPlayback**: audio playback service.
- **audioRecording**: audio recording service.
- **location**: location and navigation services.
- **bluetoothInteraction**: Bluetooth scanning, connection, and transmission services (wearables).
- **multiDeviceConnection**: multi-device interconnection service.
- **wifiInteraction**: Wi-Fi scanning, connection, and transmission services (as used in the Multi-screen Collaboration and clone features)
- **voip**: voice/video call and VoIP services.
- **taskKeeping**: computing service.| String array| Yes (initial value: left empty)| | startWindowIcon | Index to the icon file of the UIAbility component startup page. Example: **$media:icon**.
The value is a string with a maximum of 255 bytes.| String| No| | startWindowBackground | Index to the background color resource file of the UIAbility component startup page. Example: **$color:red**.
The value is a string with a maximum of 255 bytes.| String| No| @@ -250,7 +250,7 @@ Example of the **abilities** structure: "visible": true, "continuable": true, "skills": [{ - "actions": ["action.system.home"], + "actions": ["ohos.want.action.home"], "entities": ["entity.system.home"], "uris": [] }], @@ -298,11 +298,11 @@ The **skills** tag represents the feature set of [wants](../application-models/w | Name| Description| Data Type| Initial Value Allowed| | -------- | -------- | -------- | -------- | -| scheme | Scheme of the URI, such as HTTP, HTTPS, file, and FTP.| String| Yes when only **type** is set in **uris** (initial value: left empty) | +| scheme | Scheme of the URI, such as HTTP, HTTPS, file, and FTP.| String| Yes when only **type** is set in **uris** (initial value: left empty)| | host | Host address of the URI. This attribute is valid only when **schema** is set. Common methods:
- domain name, for example, **example.com**.
- IP address, for example, **10.10.10.1**.| String| Yes (initial value: left empty)| | port | Port number of the URI. For example, the default HTTP port number is 80, the default HTTPS port number is 443, and the default FTP port number is 21. This attribute is valid only when both **scheme** and **host** are set.| String| Yes (initial value: left empty)| | path \| pathStartWith \| pathRegex | Path of the URI. **path**, **pathStartWith**, and **pathRegex** represent different matching modes between the paths in the URI and the want. Set any one of them as needed. **path** indicates full matching, **pathStartWith** indicates prefix matching, and **pathRegex** indicates regular expression matching. This attribute is valid only when both **scheme** and **host** are set.| String| Yes (initial value: left empty)| -| type | Data type that matches the want. The value compiles with the [Multipurpose Internet Mail Extensions (MIME)](https://www.iana.org/assignments/media-types/media-types.xhtml?utm_source=ld246.com %E3%80%82) type specification. This attribute can be configured together with **scheme** or be configured separately. | String| Yes (initial value: left empty)| +| type | Data type that matches the want. The value compiles with the Multipurpose Internet Mail Extensions (MIME) type specification. This attribute can be configured together with **scheme** or be configured separately.| String| Yes (initial value: left empty)| Example of the **skills** structure: @@ -314,7 +314,7 @@ Example of the **skills** structure: "skills": [ { "actions": [ - "action.system.home" + "ohos.want.action.home" ], "entities": [ "entity.system.home" @@ -346,15 +346,15 @@ The **extensionAbilities** tag represents the configuration of extensionAbilitie | -------- | -------- | -------- | -------- | | name | Name of the ExtensionAbility component. The value is a string with a maximum of 127 bytes. The name must be unique in the entire application.| String| No| | srcEntrance | Code path corresponding to the ExtensionAbility component. The value is a string with a maximum of 127 bytes.| String| No| -| description | Description of the ExtensionAbility component. The value is a string with a maximum of 255 bytes or a resource index to the description. | String| Yes (initial value: left empty)| -| icon | Icon of the ExtensionAbility component. The value is the index to an icon resource file. If **ExtensionAbility** is set to **MainElement** of the current module, this attribute is mandatory and its value must be unique in the application.| String| Yes (initial value: left empty)| -| label | Name of the ExtensionAbility component displayed to users. The value is the index to a string resource.
**NOTE**
If **ExtensionAbility** is set to **MainElement** of the current module, this attribute is mandatory and its value must be unique in the application.| String| No| +| description | Description of the ExtensionAbility component. The value is a string with a maximum of 255 bytes or a resource index to the description.| String| Yes (initial value: left empty)| +| icon | Icon of the ExtensionAbility component. The value is an icon resource index. If **ExtensionAbility** is set to **MainElement** of the current module, this attribute is mandatory and its value must be unique in the application.| String| Yes (initial value: left empty)| +| label | Name of the ExtensionAbility component displayed to users. The value is a string resource index.
**NOTE**
If **ExtensionAbility** is set to **MainElement** of the current module, this attribute is mandatory and its value must be unique in the application.| String| No| | type | Type of the ExtensionAbility component. The options are as follows:
- **form**: ExtensionAbility of a widget.
- **workScheduler**: ExtensionAbility of a Work Scheduler task.
- **inputMethod**: ExtensionAbility of an input method.
- **service**: service component running in the background.
- **accessibility**: ExtensionAbility of an accessibility feature.
- **dataShare**: ExtensionAbility for data sharing.
- **fileShare**: ExtensionAbility for file sharing.
- **staticSubscriber**: ExtensionAbility for static broadcast.
- **wallpaper**: ExtensionAbility of the wallpaper.
- **backup**: ExtensionAbility for data backup.
- **window**: ExtensionAbility of a window. This type of ExtensionAbility creates a window during startup for which you can develop the GUI. The window is then combined with other application windows through **abilityComponent**.
- **thumbnail**: ExtensionAbility for obtaining file thumbnails. You can provide thumbnails for files of customized file types.
- **preview**: ExtensionAbility for preview. This type of ExtensionAbility can parse the file and display it in a window. You can combine the window with other application windows.
**NOTE**
The **service** and **dataShare** types apply only to system applications and do not take effect for third-party applications. | String| No| | permissions | Permissions required for another application to access the ExtensionAbility component.
The value is generally in the reverse domain name notation and contains a maximum of 255 bytes. It is an array of permission names predefined by the system or customized. The name of a customized permission must be the same as the **name** value of a permission defined in the **defPermissions** attribute.| String array| Yes (initial value: left empty)| | uri | Data URI provided by the ExtensionAbility component. The value is a string with a maximum of 255 bytes, in the reverse domain name notation.
**NOTE**
This attribute is mandatory when **type** of the ExtensionAbility component is set to **dataShare**.| String| Yes (initial value: left empty)| -|skills | Feature set of [wants](../application-models/want-overview.md) that can be received by the ExtensionAbility component.
Configuration rule: In an entry package, you can configure multiple **skills** attributes with the entry capability. (A **skills** attribute with the entry capability is the one that has **action.system.home** and **entity.system.home** configured.) The **label** and **icon** in the first ExtensionAbility that has **skills** configured are used as the **label** and **icon** of the entire OpenHarmony service/application.
**NOTE**
The **skills** attribute with the entry capability can be configured for the feature-type package of an OpenHarmony application, but not for an OpenHarmony service. | Array| Yes (initial value: left empty)| +|skills | Feature set of [wants](../application-models/want-overview.md) that can be received by the ExtensionAbility component.
Configuration rule: In an entry package, you can configure multiple **skills** attributes with the entry capability. (A **skills** attribute with the entry capability is the one that has **ohos.want.action.home** and **entity.system.home** configured.) The **label** and **icon** in the first ExtensionAbility that has **skills** configured are used as the **label** and **icon** of the entire OpenHarmony service/application.
**NOTE**
The **skills** attribute with the entry capability can be configured for the feature-type package of an OpenHarmony application, but not for an OpenHarmony service. | Array| Yes (initial value: left empty)| | [metadata](#metadata)| Metadata of the ExtensionAbility component.| Object| Yes (initial value: left empty)| -| visible | Whether the ExtensionAbility component can be called by other applications.
- **true**: The ExtensionAbility component can be called by other applications.
- **false**: The ExtensionAbility component cannot be called by other applications.| Boolean| Yes (initial value: **false**)| +| visible | Whether the ExtensionAbility component can be called by other applications.
- **true**: The ExtensionAbility component can be called by other applications.
- **false**: The UIAbility component cannot be called by other applications.| Boolean| Yes (initial value: **false**)| Example of the **extensionAbilities** structure: @@ -401,7 +401,7 @@ The **requestPermissions** tage represents a set of permissions that the applica | -------- | -------- | -------- | -------- | -------- | | name | Permission name. This attribute is mandatory.| String| Custom| –| | reason | Reason for requesting the permission. This attribute is mandatory when the permission to request is **user_grant**.
**NOTE**
If the permission to request is **user_grant**, this attribute is required for the application to be released to the application market, and multi-language adaptation is required. | String| Resource reference of the string type in $string: \*\*\* format| A null value| -| usedScene | Scene under which the permission is used. It consists of the **abilities** and **when** sub-attributes. Multiple abilities can be configured.
**NOTE**
This attribute is optional by default. If the permission to request is **user_grant**, the **abilities** sub-attribute is mandatory and **when** is optional. | **abilities**: string array
**when**: string| **abilities**: array of names of UIAbility or ExtensionAbility components
**when**: **inuse** or **always**| **abilities**: null
**when**: null| +| usedScene | Scene under which the permission is used. It consists of the **abilities** and **when** sub-attributes. Multiple abilities can be configured.
**NOTE**
This attribute is optional by default. If the permission to request is **user_grant**, the **abilities** sub-attribute is mandatory and **when** is optional.| **abilities**: string array
**when**: string| **abilities**: array of names of UIAbility or ExtensionAbility components
**when**: **inuse** or **always**| **abilities**: null
**when**: null| Example of the **requestPermissions** structure: @@ -440,7 +440,7 @@ The **shortcut** information is identified in **metadata**, where: | -------- | -------- | -------- | -------- | | shortcutId | ID of the shortcut. The value is a string with a maximum of 63 bytes.| String| No| | label | Label of the shortcut, that is, the text description displayed for the shortcut. The value can be a string or a resource index to the label, with a maximum of 255 bytes.| String| Yes (initial value: left empty)| -| icon | Icon of the shortcut. The value is an icon resource index. | String| Yes (initial value: left empty)| +| icon | Icon of the shortcut. The value is an icon resource index.| String| Yes (initial value: left empty)| | [wants](../application-models/want-overview.md) | Wants to which the shortcut points. Each want consists of the **bundleName** and **abilityName** sub-attributes.
**bundleName**: target bundle name of the shortcut. The value is a string.
**abilityName**: target component name of the shortcut. The value is a string.| Object| Yes (initial value: left empty)| @@ -481,7 +481,7 @@ The **shortcut** information is identified in **metadata**, where: "entity.system.home" ], "actions": [ - "action.system.home" + "ohos.want.action.home" ] } ], @@ -509,8 +509,8 @@ The **distroFilter** tag defines the rules for distributing HAP files based on d | apiVersion | Supported API versions.| Object array| Yes (initial value: left empty)| | screenShape | Supported screen shapes.| Object array| Yes (initial value: left empty)| | screenWindow | Supported window resolutions for when the application is running. This attribute applies only to the lite wearables.| Object array| Yes (initial value: left empty)| -| screenDensity | Pixel density of the screen, in dots per inch (DPI). This attribute is optional. The options are as follows:
- **sdpi**: small-scale DPI. This value is applicable to devices with a DPI range of (0, 120].
- **mdpi**: medium-scale DPI. This value is applicable to devices with a DPI range of (120, 160].
- **ldpi**: large-scale DPI. This value is applicable to devices with a DPI range of (160, 240].
- **xldpi**: extra-large-scale DPI. This value is applicable to devices with a DPI range of (240, 320].
- **xxldpi**: extra-extra-large-scale DPI. This value is applicable to devices with a DPI range of (320, 480].
- **xxxldpi**: extra-extra-extra-large-scale DPI. This value is applicable to devices with a DPI range of (480, 640]. | Object array| Yes (initial value: left empty)| -| countryCode | Code of the country or region to which the application is to be distributed. The value is subject to the [ISO-3166-1](https://developer.harmonyos.com/en/docs/documentation/doc-guides/basic-resource-file-categories-0000001052066099) standard. Enumerated definitions of multiple countries and regions are supported.| Object array| Yes (initial value: left empty)| +| screenDensity | Pixel density of the screen, in dots per inch (DPI). This attribute is optional. The value options are as follows:
- **sdpi**: small-scale DPI. This value is applicable to devices with a DPI range of (0, 120].
- **mdpi**: medium-scale DPI. This value is applicable to devices with a DPI range of (120, 160].
- **ldpi**: large-scale DPI. This value is applicable to devices with a DPI range of (160, 240].
- **xldpi**: extra-large-scale DPI. This value is applicable to devices with a DPI range of (240, 320].
- **xxldpi**: extra-extra-large-scale DPI. This value is applicable to devices with a DPI range of (320, 480].
- **xxxldpi**: extra-extra-extra-large-scale DPI. This value is applicable to devices with a DPI range of (480, 640].| Object array| Yes (initial value: left empty)| +| countryCode | Code of the country or region to which the application is to be distributed. The value is subject to the ISO-3166-1 standard. Enumerated definitions of multiple countries and regions are supported.| Object array| Yes (initial value: left empty)| **Table 10** apiVersion @@ -619,7 +619,7 @@ The **testRunner** tag represents the supported test runner. | Name| Description| Data Type| Initial Value Allowed| | -------- | -------- | -------- | -------- | | name | Name of the test runner object. The value is a string with a maximum of 255 bytes.| String| No| -| srcPath | Code path of the test runner. The value is a string with a maximum of 255 bytes. | String| No| +| srcPath | Code path of the test runner. The value is a string with a maximum of 255 bytes.| String| No| Example of the / structure: diff --git a/en/application-dev/reference/apis/js-apis-distributedKVStore.md b/en/application-dev/reference/apis/js-apis-distributedKVStore.md index 7dbc21ff6db0ac0115bb3f7eee6e6b7596dd744e..11b7053bbd4ed6e0ebcf6c65fc9d7576d8a080f5 100644 --- a/en/application-dev/reference/apis/js-apis-distributedKVStore.md +++ b/en/application-dev/reference/apis/js-apis-distributedKVStore.md @@ -271,10 +271,10 @@ Creates a **KVManager** instance to manage KV stores. Stage model: ```js -import AbilityStage from '@ohos.application.Ability' +import UIAbility from '@ohos.app.ability.UIAbility' let kvManager; -export default class MyAbilityStage extends AbilityStage { +export default class EntryAbility extends UIAbility { onCreate() { console.log("MyAbilityStage onCreate") let context = this.context @@ -722,7 +722,7 @@ Subscribes to service status changes. | Name | Type | Mandatory| Description | | ------------- | -------------------- | ---- | ------------------------------------------------------------ | | event | string | Yes | Event to subscribe to. The value is **distributedDataServiceDie**, which indicates a service status change event.| -| deathCallback | Callback<void> | Yes | Callback invoked to return service status changes. | +| deathCallback | Callback<void> | Yes | Callback invoked to return service status changes. | **Example** @@ -2847,7 +2847,7 @@ try { ### get -get(key: string, callback: AsyncCallback): void +get(key: string, callback: AsyncCallback<boolean | string | number | Uint8Array>): void Obtains the value of the specified key. This API uses an asynchronous callback to return the result. @@ -2898,7 +2898,7 @@ try { ### get -get(key: string): Promise<boolean | string| number | Uint8Array> +get(key: string): Promise<boolean | string | number | Uint8Array> Obtains the value of the specified key. This API uses a promise to return the result. @@ -4849,7 +4849,7 @@ Before calling any method in **DeviceKVStore**, you must use [getKVStore](#getkv ### get -get(key: string, callback: AsyncCallback): void +get(key: string, callback: AsyncCallback<boolean | string | number | Uint8Array>): void Obtains the value of the specified key for this device. This API uses an asynchronous callback to return the result. @@ -4900,7 +4900,7 @@ try { ### get -get(key: string): Promise<boolean | string| number | Uint8Array> +get(key: string): Promise<boolean | string | number | Uint8Array> Obtains the value of the specified key for this device. This API uses a promise to return the result. @@ -4952,7 +4952,7 @@ try { ### get -get(deviceId: string, key: string, callback: AsyncCallback<boolean|string|number|Uint8Array>): void +get(deviceId: string, key: string, callback: AsyncCallback<boolean | string | number | Uint8Array>): void Obtains a string value that matches the specified device ID and key. This API uses an asynchronous callback to return the result. @@ -5004,7 +5004,7 @@ try { ### get -get(deviceId: string, key: string): Promise<boolean|string|number|Uint8Array> +get(deviceId: string, key: string): Promise<boolean | string | number | Uint8Array> Obtains a string value that matches the specified device ID and key. This API uses a promise to return the result. diff --git a/en/application-dev/reference/apis/js-apis-system-storage.md b/en/application-dev/reference/apis/js-apis-system-storage.md index 57891f91e4793b12f7f5918826c4e14986b47e2b..a4a3bb6b5d885308f6a6a28d994b9f27fda27536 100644 --- a/en/application-dev/reference/apis/js-apis-system-storage.md +++ b/en/application-dev/reference/apis/js-apis-system-storage.md @@ -1,23 +1,22 @@ # @system.storage (Data Storage) -> **NOTE**
+> **NOTE** > -> - The APIs of this module are no longer maintained since API Version 6, and you are advised to use [`@ohos.data.storage`](js-apis-data-storage.md). From API Version 9, you are advised to use [`@ohos.data.preferences`](js-apis-data-preferences.md). +> - The APIs of this module are no longer maintained since API version 6, and you are advised to use [`@ohos.data.storage`](js-apis-data-storage.md). From API version 9, you are advised to use [`@ohos.data.preferences`](js-apis-data-preferences.md). > -> - The initial APIs of this module are supported since API version 3. Newly added APIs will be marked with a superscript to indicate their earliest API version. -> - The APIs of this module can be used only in the FA model. +> - The initial APIs of this module are supported since API version 3. Newly added APIs will be marked with a superscript to indicate their earliest API version. +> +> - The APIs of this module can be used only in the FA model. ## Modules to Import - ```js import storage from '@system.storage'; ``` - ## storage.get -get(Object): void +get(options: GetStorageOptions): void Reads the value stored in the cache based on the specified key. @@ -25,13 +24,9 @@ Reads the value stored in the cache based on the specified key. **Parameters** -| Name| Type| Mandatory| Description| -| -------- | -------- | -------- | -------- | -| key | string | Yes| Key of the data to read.| -| default | string | No| Default value returned when the **key** does not exist.| -| success | Function | No| Called to return the value obtained when **storage.get()** is successful.| -| fail | Function | No| Called when **storage.get()** fails. In the callback, **data** indicates the error information, and **code** indicates the error code.| -| complete | Function | No| Called when **storage.get()** is complete.| +| Name | Type | Mandatory| Description | +| ------- | -------------------- | ---- | ---------- | +| options | [GetStorageOptions](#getstorageoptions) | Yes | API configuration.| **Example** @@ -54,10 +49,9 @@ export default { } ``` - ## storage.set -set(Object): void +set(options: SetStorageOptions): void Sets the value in the cache based on the specified key. @@ -65,13 +59,9 @@ Sets the value in the cache based on the specified key. **Parameters** -| Name| Type| Mandatory| Description| -| -------- | -------- | -------- | -------- | -| key | string | Yes| Key of the data to set.| -| value | string | Yes| New value to set. The length must be less than 128 bytes.| -| success | Function | No| Called when **storage.set()** is successful.| -| fail | Function | No| Called when **storage.set()** fails. In the callback, **data** indicates the error information, and **code** indicates the error code.| -| complete | Function | No| Called when **storage.set()** is complete.| +| Name | Type | Mandatory| Description | +| ------- | ------------------- | ---- | ---------- | +| options | [SetStorageOptions](#setstorageoptions) | Yes | API configuration.| **Example** @@ -92,10 +82,9 @@ export default { } ``` - ## storage.clear -clear(Object): void +clear(options?: ClearStorageOptions): void Clears the key-value pairs from the cache. @@ -103,11 +92,9 @@ Clears the key-value pairs from the cache. **Parameters** -| Name| Type| Mandatory| Description| -| -------- | -------- | -------- | -------- | -| success | Function | No| Called when **storage.clear()** is successful.| -| fail | Function | No| Called when **storage.clear()** fails. In the callback, **data** indicates the error information, and **code** indicates the error code.| -| complete | Function | No| Called when **storage.clear()** is complete.| +| Name | Type | Mandatory| Description | +| ------- | ------------------------------------------- | ---- | -------------- | +| options | [ClearStorageOptions](#clearstorageoptions) | No | API configuration.| **Example** @@ -126,10 +113,9 @@ export default { } ``` - ## storage.delete -delete(Object): void +delete(options: DeleteStorageOptions): void Deletes the key-value pair based on the specified key. @@ -137,12 +123,9 @@ Deletes the key-value pair based on the specified key. **Parameters** -| Name| Type| Mandatory| Description| -| -------- | -------- | -------- | -------- | -| key | string | Yes| Key of the data to delete.| -| success | Function | No| Called when **storage.delete()** is successful.| -| fail | Function | No| Called when **storage.delete()** fails. In the callback, **data** indicates the error information, and **code** indicates the error code.| -| complete | Function | No| Called when **storage.delete()** is complete.| +| Name | Type | Mandatory| Description | +| ------- | --------------------------------------------- | ---- | -------------- | +| options | [DeleteStorageOptions](#deletestorageoptions) | Yes | API configuration.| **Example** @@ -161,3 +144,52 @@ export default { } } ``` + +## GetStorageOptions + +**System capability**: SystemCapability.DistributedDataManager.Preferences.Core + +| Name | Type | Mandatory| Description | +| -------- | ---------------- | ---- | ------------------- | +| key | string | Yes | Key of the target data. | +| default | string | No | Default value returned when the specified key does not exist. | +| success | (data: any) => void | No | Called to return the result when **storage.get()** is called successfully. **data** is the value indexed by the specified key. | +| fail | (data: string, code: number) => void | No | Called to return the result when **storage.get()** fails to be called. **data** is the error information, and **code** indicates the error code. | +| complete | () => void | No | Called when **storage.get()** is complete. | + + +## SetStorageOptions + +**System capability**: SystemCapability.DistributedDataManager.Preferences.Core + +| Name | Type | Mandatory| Description | +| -------- | ------------------- | ---- | -------------------- | +| key | string | Yes | Key of the data to set. | +| value | string | Yes | New value to set. The length must be less than 128 bytes. | +| success | () => void | No | Called when **storage.set()** is called successfully. | +| fail | (data: string, code: number) => void | No | Called to return the result when **storage.set()** fails to be called. **data** is the error information, and **code** indicates the error code. | +| complete | () => void | No | Called when **storage.set()** is complete. | + + +## ClearStorageOptions + +**System capability**: SystemCapability.DistributedDataManager.Preferences.Core + +| Name | Type | Mandatory| Description | +| -------- | --------------------- | ---- | -------------------- | +| success | () => void | No | Called when **storage.clear()** is called successfully. | +| fail | (data: string, code: number) => void | No | Called to return the result when **storage.clear()** fails to be called. **data** is the error information, and **code** indicates the error code. | +| complete | () => void | No | Called when **storage.clear()** is complete. | + + +## DeleteStorageOptions + +**System capability**: SystemCapability.DistributedDataManager.Preferences.Core + +| Name | Type | Mandatory| Description | +| -------- | -------------------- | ---- | ------------------ | +| key | string | Yes | Key of the data to delete. | +| success | () => void | No | Called when **storage.delete()** is called successfully. | +| fail | (data: string, code: number) => void | No | Called to return the result when **storage.delete()** fails to be called. **data** is the error information, and **code** indicates the error code. | +| complete | () => void | No | Called when **storage.delete()** is complete. | + diff --git a/en/application-dev/reference/apis/js-apis-userFileManager.md b/en/application-dev/reference/apis/js-apis-userFileManager.md index 4de8727e244f81858ca14137197ca676c0a2c792..c783b02f46c014a12ddba60432e1fe182cb93b42 100644 --- a/en/application-dev/reference/apis/js-apis-userFileManager.md +++ b/en/application-dev/reference/apis/js-apis-userFileManager.md @@ -83,10 +83,10 @@ async function example() { console.info('fetchResult success'); let fileAsset = await fetchResult.getFirstObject(); if (fileAsset != undefined) { - console.info("fileAsset.displayName :" + fileAsset.displayName); + console.info("fileAsset.displayName : " + fileAsset.displayName); } } else { - console.info('fetchResult fail' + err); + console.error('fetchResult fail' + err); } }); } @@ -137,7 +137,7 @@ async function example() { } } } catch (err) { - console.info('getPhotoAssets failed, message = ', err); + console.error('getPhotoAssets failed, message = ', err); } } ``` @@ -178,7 +178,7 @@ async function example() { console.info('createPhotoAsset file displayName' + fileAsset.displayName); console.info('createPhotoAsset successfully'); } else { - console.info('createPhotoAsset failed, message = ', err); + console.error('createPhotoAsset failed, message = ', err); } }); } @@ -212,7 +212,7 @@ async function example() { console.info('createPhotoAsset file displayName' + fileAsset.displayName); console.info('createPhotoAsset successfully'); } else { - console.info('createPhotoAsset failed, message = ', err); + console.error('createPhotoAsset failed, message = ', err); } }); } @@ -252,7 +252,7 @@ async function example() { console.info('createPhotoAsset file displayName' + fileAsset.displayName); console.info('createPhotoAsset successfully'); } catch (err) { - console.info('createPhotoAsset failed, message = ', err); + console.error('createPhotoAsset failed, message = ', err); } } ``` @@ -294,11 +294,11 @@ async function example() { if (album != undefined) { console.info('first album.albumName = ' + album.albumName); } else { - console.info('album is undefined, err = ', err); + console.error('album is undefined, err = ', err); } }); } else { - console.info('getPhotoAlbums fail, message = ', err); + console.error('getPhotoAlbums fail, message = ', err); } }); } @@ -343,7 +343,7 @@ async function example() { const album = await fetchResult.getFirstObject(); console.info('first album.albumName = ' + album.albumName); } catch (err) { - console.info('getPhotoAlbums fail, message = ' + err); + console.error('getPhotoAlbums fail, message = ' + err); } } ``` @@ -376,7 +376,7 @@ async function example() { let trashAlbum = await fetchResult.getFirstObject(); console.info('first album.albumName = ' + trashAlbum.albumName); } else { - console.info('getPrivateAlbum failed. message = ', err); + console.error('getPrivateAlbum failed. message = ', err); } }); } @@ -415,7 +415,7 @@ async function example() { let trashAlbum = await fetchResult.getFirstObject(); console.info('first album.albumName = ' + trashAlbum.albumName); } catch (err) { - console.info('getPrivateAlbum failed. message = ', err); + console.error('getPrivateAlbum failed. message = ', err); } } ``` @@ -459,7 +459,7 @@ async function example() { console.info("fileAsset.displayName :" + fileAsset.displayName); } } else { - console.info('fetchFileResult fail' + err); + console.error('fetchFileResult fail' + err); } }); } @@ -503,7 +503,7 @@ async function example() { try { var fetchResult = await mgr.getAudioAssets(fetchOptions); } catch (err) { - console.info('getAudioAssets failed, message = ', err); + console.error('getAudioAssets failed, message = ', err); } if (fetchResult != undefined) { @@ -559,7 +559,7 @@ async function example() { if (err == undefined) { console.info("delete successfully"); } else { - console.info("delete failed with error:" + err); + console.error("delete failed with error: " + err); } }); } @@ -613,7 +613,7 @@ async function example() { await mgr.delete(asset.uri); console.info("delete successfully"); } catch (err) { - console.info("delete failed with error:" + err); + console.error("delete failed with error: " + err); } } ``` @@ -649,13 +649,13 @@ async function example() { console.info('createPhotoAsset file displayName' + fileAsset.displayName); console.info('createPhotoAsset successfully'); } catch (err) { - console.info('createPhotoAsset failed, message = ' + err); + console.error('createPhotoAsset failed, message = ' + err); } //sleep 1s if (count > 0) { console.info("onDemo success"); } else { - console.info("onDemo fail"); + console.error("onDemo fail"); } mgr.off('imageChange', () => { // Unsubscription succeeds. @@ -699,13 +699,13 @@ async function example() { console.info('createPhotoAsset file displayName' + fileAsset.displayName); console.info('createPhotoAsset successfully'); } catch (err) { - console.info('createPhotoAsset failed, message = ' + err); + console.error('createPhotoAsset failed, message = ' + err); } //sleep 1s if (count == 0) { console.info("offDemo success"); } else { - console.info("offDemo fail"); + console.error("offDemo fail"); } } ``` @@ -736,7 +736,7 @@ async function example() { console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId); } } else { - console.info('getActivePeers failed. message = ', err); + console.error('getActivePeers failed. message = ', err); } }); } @@ -764,7 +764,7 @@ async function example() { try { var devicesInfo = await mgr.getActivePeers(); } catch (err) { - console.info('getActivePeers failed. message = ', err); + console.error('getActivePeers failed. message = ', err); } if (devicesInfo != undefined) { console.log('getActivePeers succeed.'); @@ -772,7 +772,7 @@ async function example() { console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId); } } else { - console.info('get distributed fail'); + console.error('get distributed fail'); } } ``` @@ -803,7 +803,7 @@ async function example() { console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId); } } else { - console.info('getAllPeers failed. message = ', err); + console.error('getAllPeers failed. message = ', err); } }); } @@ -831,7 +831,7 @@ async function example() { try { var devicesInfo = await mgr.getAllPeers(); } catch (err) { - console.info('getAllPeers failed. message = ', err); + console.error('getAllPeers failed. message = ', err); } if (devicesInfo != undefined) { console.log('getAllPeers succeed.'); @@ -839,7 +839,7 @@ async function example() { console.info('get distributed info ' + devicesInfo[i].deviceName + devicesInfo[i].networkId); } } else { - console.info('get distributed fail'); + console.error('get distributed fail'); } } ``` @@ -866,7 +866,7 @@ async function example() { console.info('releaseDemo'); mgr.release((err) => { if (err != undefined) { - console.info('release failed. message = ', err); + console.error('release failed. message = ', err); } else { console.info('release ok.'); } @@ -898,7 +898,7 @@ async function example() { await mgr.release(); console.info('release ok.'); } catch (err) { - console.info('release failed. message = ', err); + console.error('release failed. message = ', err); } } ``` @@ -951,7 +951,7 @@ async function example() { let fileAssetTitle = fileAsset.get(title.toString()); console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle); } catch (err) { - console.info('release failed. message = ', err); + console.error('release failed. message = ', err); } } ``` @@ -989,7 +989,7 @@ async function example() { let title = userFileManager.ImageVideoKey.TITLE; fileAsset.set(title.toString(), "newTitle"); } catch (err) { - console.info('release failed. message = ', err); + console.error('release failed. message = ', err); } } ``` @@ -1033,7 +1033,7 @@ async function example() { let newFileAssetTitle = fileAsset.get(title.toString()); console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle); } else { - console.info('commitModify failed, message =', err); + console.error('commitModify failed, message =', err); } }); } @@ -1078,7 +1078,7 @@ async function example() { let newFileAssetTitle = fileAsset.get(title.toString()); console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle); } catch (err) { - console.info('release failed. message = ', err); + console.error('release failed. message = ', err); } } ``` @@ -1089,9 +1089,7 @@ open(mode: string, callback: AsyncCallback<number>): void Opens this file asset. This API uses an asynchronous callback to return the result. ->**NOTE** -> ->The write operations are mutually exclusive. After a write operation is complete, you must call **close** to release the resource. +**NOTE**
The write operations are mutually exclusive. After a write operation is complete, you must call **close** to release the resource. **Required permissions**: ohos.permission.READ_IMAGEVIDEO, ohos.permission.READ_AUDIO, ohos.permission.WRITE_IMAGEVIDEO, or ohos.permission.WRITE_AUDIO @@ -1103,7 +1101,7 @@ Opens this file asset. This API uses an asynchronous callback to return the resu | Name | Type | Mandatory | Description | | -------- | --------------------------- | ---- | ----------------------------------- | | mode | string | Yes | File open mode, which can be **r** (read-only), **w** (write-only), or **rw** (read-write).| -| callback | AsyncCallback<number> | Yes | Callback used to return the file handle. | +| callback | AsyncCallback<number> | Yes | Callback invoked to return the file descriptor. | **Example** @@ -1117,7 +1115,7 @@ async function example() { console.info('File fd' + fd); fileAsset.close(fd); } else { - console.info('File err' + err); + console.error('File err' + err); } }); } @@ -1129,9 +1127,7 @@ open(mode: string): Promise<number> Opens this file asset. This API uses a promise to return the result. ->**NOTE** -> ->The write operations are mutually exclusive. After a write operation is complete, you must call **close** to release the resource. +**NOTE**
The write operations are mutually exclusive. After a write operation is complete, you must call **close** to release the resource. **Required permissions**: ohos.permission.READ_IMAGEVIDEO, ohos.permission.READ_AUDIO, ohos.permission.WRITE_IMAGEVIDEO, or ohos.permission.WRITE_AUDIO @@ -1147,7 +1143,7 @@ Opens this file asset. This API uses a promise to return the result. | Type | Description | | --------------------- | ------------- | -| Promise<number> | Promise used to return the file handle.| +| Promise<number> | Promise used to return the file descriptor.| **Example** @@ -1162,10 +1158,10 @@ async function example() { console.info('File fd' + fd); fileAsset.close(fd); } else { - console.info(' open File fail'); + console.error(' open File fail'); } } catch (err) { - console.info('open Demo err' + err); + console.error('open Demo err' + err); } } ``` @@ -1206,11 +1202,11 @@ async function example() { if (err == undefined) { console.info('asset close succeed.'); } else { - console.info('close failed, message = ' + err); + console.error('close failed, message = ' + err); } }); } catch (err) { - console.info('close failed, message = ' + err); + console.error('close failed, message = ' + err); } } ``` @@ -1255,7 +1251,7 @@ async function example() { await asset.close(fd); console.info('asset close succeed.'); } catch (err) { - console.info('close failed, message = ' + err); + console.error('close failed, message = ' + err); } } ``` @@ -1295,7 +1291,7 @@ async function example() { if (err == undefined) { console.info('getThumbnail successful ' + pixelMap); } else { - console.info('getThumbnail fail', err); + console.error('getThumbnail fail', err); } }); } @@ -1338,7 +1334,7 @@ async function example() { if (err == undefined) { console.info('getThumbnail successful ' + pixelMap); } else { - console.info('getThumbnail fail', err); + console.error('getThumbnail fail', err); } }); } @@ -1385,7 +1381,7 @@ async function example() { asset.getThumbnail(size).then((pixelMap) => { console.info('getThumbnail successful ' + pixelMap); }).catch((err) => { - console.info('getThumbnail fail' + err); + console.error('getThumbnail fail' + err); }); } ``` @@ -1425,7 +1421,7 @@ async function example() { if (err == undefined) { console.info("favorite successfully"); } else { - console.info("favorite failed with error:" + err); + console.error("favorite failed with error:" + err); } }); } @@ -1470,7 +1466,7 @@ async function example() { asset.favorite(true).then(function () { console.info("favorite successfully"); }).catch(function (err) { - console.info("favorite failed with error:" + err); + console.error("favorite failed with error:" + err); }); } ``` @@ -1573,7 +1569,7 @@ async function example() { await fetchResult.close(); console.info('close succeed.'); } catch (err) { - console.info('close fail. message = ' + err); + console.error('close fail. message = ' + err); } } ``` @@ -1609,7 +1605,7 @@ async function example() { if (fileAsset != undefined) { console.info('fileAsset displayName: ', fileAsset.displayName); } else { - console.info("fileAsset failed with err:" + err); + console.error("fileAsset failed with err:" + err); } }); } @@ -1680,7 +1676,7 @@ async function example() { if (fileAsset != undefined) { console.info('fileAsset displayName: ', fileAsset.displayName); } else { - console.info("fileAsset failed with err:" + err); + console.error("fileAsset failed with err: " + err); } }); } @@ -1753,7 +1749,7 @@ async function example() { if (fileAsset != undefined) { console.info('fileAsset displayName: ', fileAsset.displayName); } else { - console.info("fileAsset failed with err:" + err); + console.error("fileAsset failed with err: " + err); } }); } @@ -1823,7 +1819,7 @@ async function example() { if (fileAsset != undefined) { console.info('fileAsset displayName: ', fileAsset.displayName); } else { - console.info("fileAsset failed with err:" + err); + console.error("fileAsset failed with err: " + err); } }); } @@ -1920,9 +1916,9 @@ async function example() { const album = await albumList.getFirstObject(); album.getPhotoAssets(fetchOption, (err, albumFetchResult) => { if (albumFetchResult != undefined) { - console.info("album getPhotoAssets successfully, getCount:" + albumFetchResult.getCount()); + console.info("album getPhotoAssets successfully, getCount: " + albumFetchResult.getCount()); } else { - console.info("album getPhotoAssets failed with error:" + err); + console.error("album getPhotoAssets failed with error: " + err); } }); } @@ -1963,9 +1959,9 @@ async function example() { const albumList = await mgr.getPhotoAlbums(albumFetchOptions); const album = await albumList.getFirstObject(); album.getPhotoAssets(fetchOption).then((albumFetchResult) => { - console.info("album getFileAssets successfully, getCount:" + albumFetchResult.getCount()); + console.info("album getFileAssets successfully, getCount: " + albumFetchResult.getCount()); }).catch((err) => { - console.info("album getFileAssets failed with error:" + err); + console.error("album getFileAssets failed with error: " + err); }); } ``` @@ -2002,7 +1998,7 @@ async function example() { album.albumName = 'hello'; album.commitModify((err) => { if (err != undefined) { - console.info("commitModify failed with error:" + err); + console.error("commitModify failed with error: " + err); } else { console.info("commitModify successfully"); } @@ -2040,14 +2036,14 @@ async function example() { try { var albumList = await mgr.getPhotoAlbums(albumFetchOptions); } catch (err) { - console.info('getPhotoAlbums failed. message = ', err); + console.error('getPhotoAlbums failed. message = ', err); } const album = await albumList.getFirstObject(); album.albumName = 'hello'; album.commitModify().then(() => { console.info("commitModify successfully"); }).catch((err) => { - console.info("commitModify failed with error:" + err); + console.error("commitModify failed with error: " + err); }); } ``` @@ -2104,7 +2100,7 @@ async function example() { let count = fetchResult.getCount(); console.info('fetchResult.count = ', count); } else { - console.info('getFileAssets failed, message = ', err); + console.error('getFileAssets failed, message = ', err); } }); } @@ -2187,7 +2183,7 @@ async function example() { let deleteFileUri = fileAsset.uri; trashAlbum.delete(deleteFileUri, (err) => { if (err != undefined) { - console.info('trashAlbum.delete failed, message = ', err); + console.error('trashAlbum.delete failed, message = ', err); } else { console.info('trashAlbum.delete successfully'); } @@ -2236,7 +2232,7 @@ async function example() { trashAlbum.delete(deleteFileUri).then(() => { console.info('trashAlbum.delete successfully'); }).catch((err) => { - console.info('trashAlbum.delete failed, message = ', err); + console.error('trashAlbum.delete failed, message = ', err); }); } ``` @@ -2277,7 +2273,7 @@ async function example() { let recoverFileUri = fileAsset.uri; trashAlbum.recover(recoverFileUri, (err) => { if (err != undefined) { - console.info('trashAlbum.recover failed, message = ', err); + console.error('trashAlbum.recover failed, message = ', err); } else { console.info('trashAlbum.recover successfully'); } @@ -2326,7 +2322,7 @@ async function example() { trashAlbum.recover(recoverFileUri).then(() => { console.info('trashAlbum.recover successfully'); }).catch((err) => { - console.info('trashAlbum.recover failed, message = ', err); + console.error('trashAlbum.recover failed, message = ', err); }); } ``` @@ -2339,9 +2335,9 @@ Enumerates the member types. | Name | Type| Readable | Writable | Description | | ----- | ---- | ---- | ---- | ---- | -| number | number | Yes| Yes| The member is a number.| -| string | string | Yes| Yes| The member is a string.| -| boolean | boolean | Yes| Yes| The member is a Boolean value.| +| number | number | Yes| Yes| The member is a number.| +| string | string | Yes| Yes| The member is a string.| +| boolean | boolean | Yes| Yes| The member is a Boolean value.| ## ChangeEvent @@ -2407,7 +2403,7 @@ Defines the key information about an audio file. | URI | uri | File URI. | | DISPLAY_NAME | display_name | File name displayed. | | DATE_ADDED | date_added | Date when the file was added. The value is the number of seconds elapsed since the Epoch time. | -| DATE_MODIFIED | date_modified | Date when the file was last modified. The value is the number of seconds elapsed since the Epoch time. | +| DATE_MODIFIED | date_modified | Date when the file content (not the file name) was last modified. The value is the number of seconds elapsed since the Epoch time.| | TITLE | title | Title in the file. | | ARTIST | artist | Author of the file. | | AUDIOALBUM | audio_album | Audio album. | @@ -2426,7 +2422,7 @@ Defines the key information about an image or video file. | FILE_TYPE | file_type | Type of the file. | | DISPLAY_NAME | display_name | File name displayed. | | DATE_ADDED | date_added | Date when the file was added. The value is the number of seconds elapsed since the Epoch time. | -| DATE_MODIFIED | date_modified | Date when the file was last modified. The value is the number of seconds elapsed since the Epoch time. | +| DATE_MODIFIED | date_modified | Date when the file content (not the file name) was last modified. The value is the number of seconds elapsed since the Epoch time.| | TITLE | title | Title in the file. | | DURATION | duration | Duration, in ms. | | WIDTH | width | Image width, in pixels. | @@ -2447,7 +2443,7 @@ Defines the key album information. | FILE_TYPE | file_type | Type of the file. | | ALBUM_NAME | album_name | Name of the album. | | DATE_ADDED | date_added | Date when the file was added. The value is the number of seconds elapsed since the Epoch time. | -| DATE_MODIFIED | date_modified | Date when the file was last modified. The value is the number of seconds elapsed since the Epoch time. | +| DATE_MODIFIED | date_modified | Date when the file content (not the file name) was last modified. The value is the number of seconds elapsed since the Epoch time.| ## FetchOptions diff --git a/en/application-dev/reference/apis/js-apis-webview.md b/en/application-dev/reference/apis/js-apis-webview.md index 8c3ca939bdb5758f987780d94c7bb88837613b4d..ba1368a1812949b00d7aa2a04846fb812aa49c82 100644 --- a/en/application-dev/reference/apis/js-apis-webview.md +++ b/en/application-dev/reference/apis/js-apis-webview.md @@ -305,6 +305,7 @@ struct WebComponent { Button('loadUrl') .onClick(() => { try { + // The URL to be loaded is of the string type. this.controller.loadUrl('www.example.com'); } catch (error) { console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); @@ -316,6 +317,69 @@ struct WebComponent { } ``` +```ts +// xxx.ets +import web_webview from '@ohos.web.webview' + +@Entry +@Component +struct WebComponent { + controller: web_webview.WebviewController = new web_webview.WebviewController(); + + build() { + Column() { + Button('loadUrl') + .onClick(() => { + try { + // The headers parameter is carried. + this.controller.loadUrl('www.example.com', [{headerKey: "headerKey", headerValue: "headerValue"}]); + } catch (error) { + console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); + } + }) + Web({ src: 'www.example.com', controller: this.controller }) + .webDebuggingAccess(true) + } + } +} +``` + +```ts +// xxx.ets +import web_webview from '@ohos.web.webview' + +@Entry +@Component +struct WebComponent { + controller: web_webview.WebviewController = new web_webview.WebviewController(); + + build() { + Column() { + Button('loadUrl') + .onClick(() => { + try { + // The URL to be loaded is of the Resource type. + this.controller.loadUrl($rawfile('xxx.html')); + } catch (error) { + console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); + } + }) + Web({ src: 'www.example.com', controller: this.controller }) + } + } +} +``` + +```html + + + + +

Hello World

+ + +``` + ### loadData loadData(data: string, mimeType: string, encoding: string, baseUrl?: string, historyUrl?: string): void @@ -987,7 +1051,7 @@ Executes a JavaScript script. This API uses a promise to return the script execu | Type | Description | | --------------- | --------------------------------------------------- | -| Promise\ | Callback used to return the result. Returns **null** if the JavaScript script fails to be executed| +| Promise\ | Promise used to return the result. Returns **null** if the JavaScript script fails to be executed| **Error codes** @@ -4101,7 +4165,7 @@ Checks whether any saved HTTP authentication credentials exist. This API returns | Type | Description | | ------- | ------------------------------------------------------------ | -| boolean | Whether any saved HTTP authentication credentials exist. Returns **true** if any saved HTTP authentication credentials exist exists; returns **false** otherwise.| +| boolean | Whether any saved HTTP authentication credentials exist. Returns **true** if any saved HTTP authentication credentials exist; returns **false** otherwise. | **Example** diff --git a/en/application-dev/reference/arkui-ts/ts-basic-components-web.md b/en/application-dev/reference/arkui-ts/ts-basic-components-web.md index 52414cedbeda0334a2df1e126931fc4d2f4d20a2..c6244ab23656e0dba7011aae7a19a88d577d7afd 100644 --- a/en/application-dev/reference/arkui-ts/ts-basic-components-web.md +++ b/en/application-dev/reference/arkui-ts/ts-basic-components-web.md @@ -21,6 +21,7 @@ Web(options: { src: ResourceStr, controller: WebController | WebviewController}) > **NOTE** > > Transition animation is not supported. +> Different **\** components on the same page must be bound to different **WebController**s. **Parameters** @@ -526,7 +527,7 @@ Sets whether to enable the multi-window permission. horizontalScrollBarAccess(horizontalScrollBar: boolean) -Sets whether to display the horizontal scrollbar, including the system default scrollbar and custom scrollbar. By default, the horizontal scrollbar is displayed. +Sets whether to display the horizontal scrollbar, including the default system scrollbar and custom scrollbar. By default, the horizontal scrollbar is displayed. **Parameters** @@ -577,7 +578,7 @@ Sets whether to display the horizontal scrollbar, including the system default s verticalScrollBarAccess(verticalScrollBar: boolean) -Sets whether to display the vertical scrollbar, including the system default scrollbar and custom scrollbar. By default, the vertical scrollbar is displayed. +Sets whether to display the vertical scrollbar, including the default system scrollbar and custom scrollbar. By default, the vertical scrollbar is displayed. **Parameters** @@ -1539,7 +1540,7 @@ onDownloadStart(callback: (event?: { url: string, userAgent: string, contentDisp onErrorReceive(callback: (event?: { request: WebResourceRequest, error: WebResourceError }) => void) -Called when an error occurs during web page loading. For better results, simplify the implementation logic in the callback. +Called when an error occurs during web page loading. For better results, simplify the implementation logic in the callback. This API is called when there is no network connection. **Parameters** @@ -1764,7 +1765,7 @@ Called when the document title of the web page is changed. onRefreshAccessedHistory(callback: (event?: { url: string, isRefreshed: boolean }) => void) -Called when loading of the web page is complete. This API is used by an application to update the historical link it accessed.. +Called when loading of the web page is complete. This API is used by an application to update the historical link it accessed. **Parameters** @@ -1950,7 +1951,7 @@ Called when the display ratio of this page changes. onUrlLoadIntercept(callback: (event?: { data:string | WebResourceRequest }) => boolean) -Called when the **\** component is about to access a URL. This API is used to determine whether to block the access. +Called when the **\** component is about to access a URL. This API is used to determine whether to block the access, which is allowed by default. **Parameters** @@ -2326,8 +2327,8 @@ Called when the scrollbar of the page scrolls. | Name | Type | Description | | ------- | ------ | ------------ | -| xOffset | number | Position of the scrollbar on the x-axis.| -| yOffset | number | Position of the scrollbar on the y-axis.| +| xOffset | number | Position of the scrollbar on the x-axis relative to the leftmost of the web page.| +| yOffset | number | Position of the scrollbar on the y-axis relative to the top of the web page.| **Example** @@ -2668,7 +2669,7 @@ Called when the old page is not displayed and the new page is about to be visibl onInterceptKeyEvent(callback: (event: KeyEvent) => boolean) -Called when the key event is intercepted, before being consumed by the Webview. +Called when the key event is intercepted and before it is consumed by the Webview. **Parameters** diff --git a/en/application-dev/security/accesstoken-guidelines.md b/en/application-dev/security/accesstoken-guidelines.md index c2f85312639e4bdf40efd4a32dddacae9a51b9e4..eab4a6b1197305ced0964a23ef44957e20a955c5 100644 --- a/en/application-dev/security/accesstoken-guidelines.md +++ b/en/application-dev/security/accesstoken-guidelines.md @@ -2,70 +2,46 @@ ## When to Use -In this example, the application requires the **ohos.permission.PERMISSION1** and **ohos.permission.PERMISSION2** permissions to implement core functions. +The [Ability Privilege Level (APL)](accesstoken-overview.md#app-apls) of an application can be **normal**, **system_basic**, or **system_core**. The default APL is **normal**. The [permission types](accesstoken-overview.md#permission-types) include **system_grant** and **user_grant**. For details about the permissions for applications, see the [Application Permission List](permission-list.md). -- The ability privilege level (APL) of the application is **normal**. -- The level of **ohos.permission.PERMISSION1** is **normal**, and the authorization mode is **system_grant**. -- The level of **ohos.permission.PERMISSION2** is **system_basic**, and the authorization mode is **user_grant**. +This document describes the following operations: -> **CAUTION** -> -> In this scenario, the required permissions include a **user_grant** permission. You can check whether the caller has the required permission through permission verification. -> -> If the application has not obtained that permission, a dialog box will be displayed to request user authorization. +- [Declaring Permissions in the Configuration File](#declaring-permissions-in-the-configuration-file) +- [Declaring the ACL](#declaring-the-acl) +- [Requesting User Authorization](#requesting-user-authorization) +- [Pre-Authorizing user_grant Permissions](#pre-authorizing-user_grant-permissions) -For details about the permissions for applications, see the [application permission list](permission-list.md). +## Declaring Permissions in the Configuration File -## Available APIs +During the development, you need to declare the permissions required by your application one by one in the project configuration file. The application cannot obtain the permissions that are not declared in the configuration file. OpenHarmony provides two application models: FA model and stage model. For more information, see [Application Models](../application-models/application-model-description.md). The application bundle and configuration file vary with the application model. -The following lists only the APIs used in this guide. The APIs used vary with the applicatin models. For more information, see [Examples](##Examples). +> **NOTE**
The default APL of an application is **normal**. When an application of the **normal** APL needs a permission of the **system_basic** or **system_core** level, you must declare the permission in the configuration file and the [Access Control List (ACL)](#declaring-the-acl). -### FA Model -| API | Description | -| ------------------------------------------------------------ | --------------------------------------------------- | -| requestPermissionsFromUser(permissions: Array<string>, requestCallback: AsyncCallback<PermissionRequestResult>) : void; | Requests permissions from the user.| -> For details, see [AbilityContext](../reference/apis/js-apis-ability-context.md). +The following table describes the fields in the configuration file. +| Field | Mandatory| Description | +| --------- | -------- | ------------------------------------------------------------ | +| name | Yes | Name of the permission. | +| reason | No | Reason for requesting the permission.
This field is mandatory when a user_grant permission is required.| +| usedScene | No | Application scenario of the permission.
This field is mandatory when a user_grant permission is required.| +| abilities | No | Abilities that require the permission. The value is an array.
**Applicable model**: stage| +| ability | No | Abilities that require the permission. The value is an array.
**Applicable model**: FA| +| when | No | Time when the permission is used.
Value:
- **inuse**: The permission applies only to a foreground application.
- **always**: The permission applies to both the foreground and background applications.| ### Stage Model -| API | Description | -| ------------------------------------------------------------ | --------------------------------------------------- | -| requestPermissionsFromUser(context: Context, permissions: Array<Permissions>, requestCallback: AsyncCallback<PermissionRequestResult>) : void; | Requests permissions from the user.| -> For details, see [Ability Access Control](../reference/apis/js-apis-abilityAccessCtrl.md). - -## Declaring Permissions - -Declare the permissions required by the application one by one in the project configuration file. The application cannot obtain the permissions that are not declared in the configuration file. OpenHarmony provides two application models: FA model and stage model. For more information, see [Application Models](../application-models/application-model-description.md). - -The application bundle structure and configuration file vary with the application models. - -The following table describes the fields in the configuration files. - -| Field | Description | -| --------- | ------------------------------------------------------------ | -| name | Name of the permission. | -| reason | Reason for requesting the permission. This field is mandatory for a user_grant permission.| -| usedScene | Scenario of the permission. This field is mandatory for a user_grant permission.| -| ability | Abilities that require the permission. The value is an array.
**Applicable model**: FA | -| abilities | Abilities that require the permission. The value is an array.
**Applicable model**: stage | -| when | Time when the permission is used. The value can be **inuse** (the permission can be used only in the foreground) or **always** (the permission can be used in foreground and background).| - -### FA Model - -For the applications based on the FA model, declare the required permissions in the **config.json** file. - -**Example** +If your application is based on the stage model, declare the required permissions in [**module.json5**](../quick-start/module-configuration-file.md). ```json { "module" : { - "reqPermissions":[ + // ... + "requestPermissions":[ { "name" : "ohos.permission.PERMISSION1", "reason": "$string:reason", "usedScene": { - "ability": [ + "abilities": [ "FormAbility" ], "when":"inuse" @@ -75,7 +51,7 @@ For the applications based on the FA model, declare the required permissions in "name" : "ohos.permission.PERMISSION2", "reason": "$string:reason", "usedScene": { - "ability": [ + "abilities": [ "FormAbility" ], "when":"always" @@ -86,21 +62,20 @@ For the applications based on the FA model, declare the required permissions in } ``` -### Stage Model - -For the applications based on the stage model, declare the required permissions in the **module.json5** file. +### FA Model -**Example** +If your application is based on the FA model, declare the required permissions in **config.json**. ```json { "module" : { - "requestPermissions":[ + // ... + "reqPermissions":[ { "name" : "ohos.permission.PERMISSION1", "reason": "$string:reason", "usedScene": { - "abilities": [ + "ability": [ "FormAbility" ], "when":"inuse" @@ -110,7 +85,7 @@ For the applications based on the stage model, declare the required permissions "name" : "ohos.permission.PERMISSION2", "reason": "$string:reason", "usedScene": { - "abilities": [ + "ability": [ "FormAbility" ], "when":"always" @@ -121,110 +96,157 @@ For the applications based on the stage model, declare the required permissions } ``` -## Declaring Permissions in the ACL - -The permission level of **ohos.permission.PERMISSION2** is **system_basic**, which is higher than the app's APL. In this case, use the ACL. +## Declaring the ACL -In addition to declaring all the permissions in the configuration file, you must declare the permissions whose levels are higher that the app's APL in the app's profile. For details about the fields in the profile, see [HarmonyAppProvision Configuration File](app-provision-structure.md). +If an application of the **normal** APL requires permissions of the **system_basic** or **system_core** level, you need to declare the required permissions in the ACL. -For example, declare the required permission in the **acls** field: +For example, if an application needs to access audio files of a user and capture screenshots, it requires the **ohos.permission.WRITE_AUDIO** permission (of the **system_basic** level) and the **ohos.permission.CAPTURE_SCREEN** permission (of the **system_core** level). In this case, you need to add the required permissions to the **acls** field in the [HarmonyAppProvision configuration file](app-provision-structure.md). ```json { - "acls": { - "allowed-acls": [ - "ohos.permission.PERMISSION2" - ] - } + // ... + "acls":{ + "allowed-acls":[ + "ohos.permission.WRITE_AUDIO", + "ohos.permission.CAPTURE_SCREEN" + ] + } } ``` -## Applying for the user_grant Permission +## Requesting User Authorization -After the permissions are declared, the system grants the system_grant permission during the installation of the app. The user_grant permission must be authorized by the user. +If an application needs to access user privacy information or use system abilities, for example, accessing location or calendar information or using the camera to take photos or record videos, it must request the permission from the user. A permission verification is performed first to determine whether the current caller has the corresponding permission. If the application has not obtained that permission, a dialog box will be displayed to request user authorization. The following figure shows an example. -Therefore, before allowing the application to call the API protected by the **ohos.permission.PERMISSION2** permission, the system needs to verify whether the application has the permission to do so. +![](figures/permission-read_calendar.png) -If the verification result indicates that the application has the permission, the application can access the target API. Otherwise, the application needs to request user authorization and then proceeds based on the authorization result. For details, see [Access Control Overview](accesstoken-overview.md). +> **NOTE**
Each time before an API protected by a user_grant permission is accessed, [**requestPermissionsFromUser()**](../reference/apis/js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9) will be called to request user authorization. After the permission is dynamically granted, the user may revoke the authorization. Therefore, the previously granted authorization status cannot be persistent. -> **CAUTION** -> -> The permission authorized by a user is not permanent, because the user may revoke the authorization at any time. Each time before the API protected by the permission is called, call **requestPermissionsFromUser()** to request the permission. +### Stage Model -## Examples +Example: Request the permission for an application to access calendar information. + +1. Apply for the **ohos.permission.READ_CALENDAR** permission. For details, see [Declaring Permissions in the Configuration File](#declaring-permissions-in-the-configuration-file). + +2. Call [**requestPermissionsFromUser()**](../reference/apis/js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9) in the **onWindowStageCreate()** callback of the UIAbility to dynamically apply for the permission, or request user authorization on the UI based on service requirements. The return value of [requestPermissionsFromUser()](../reference/apis/js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9) indicates whether the application has the permission. If yes, the target API can be called. + + Request user authorization in UIAbility. + + ```typescript + import UIAbility from '@ohos.app.ability.UIAbility'; + import window from '@ohos.window'; + import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; + + export default class EntryAbility extends UIAbility { + // ... + + onWindowStageCreate(windowStage: window.WindowStage) { + // Main window is created, set main page for this ability + let context = this.context; + let atManager = abilityAccessCtrl.createAtManager(); + // The return value of requestPermissionsFromUser determines whether to display a dialog box to request user authorization. + const permissions: Array = ['ohos.permission.READ_CALENDAR']; + atManager.requestPermissionsFromUser(context, permissions).then((data) => { + console.info(`[requestPermissions] data: ${JSON.stringify(data)}`); + let grantStatus: Array = data.authResults; + let length: number = grantStatus.length; + for (let i = 0; i < length; i++) { + if (grantStatus[i] !== 0) { + // The authorization fails. + return; + } + } + // The authorization is successful. + }).catch((err) => { + console.error(`[requestPermissions] Failed to start request permissions. Error: ${JSON.stringify(err)}`); + }) + + // ... + } + } + ``` + + Request user authorization on the UI. + ```typescript + import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; + import common from '@ohos.app.ability.common'; + + @Entry + @Component + struct Index { + reqPermissions() { + let context = getContext(this) as common.UIAbilityContext; + let atManager = abilityAccessCtrl.createAtManager(); + // The return value of requestPermissionsFromUser determines whether to display a dialog box to request user authorization. + const permissions: Array = ['ohos.permission.READ_CALENDAR']; + atManager.requestPermissionsFromUser(context, permissions).then((data) => { + console.info(`[requestPermissions] data: ${JSON.stringify(data)}`); + let grantStatus: Array = data.authResults; + let length: number = grantStatus.length; + for (let i = 0; i < length; i++) { + if (grantStatus[i] !== 0) { + // The authorization fails. + return; + } + } + // The authorization is successful. + }).catch((err) => { + console.error(`[requestPermissions] Failed to start request permissions. Error: ${JSON.stringify(err)}`); + }) + } + + // Page display. + build() { + // ... + } + } + ``` -The procedure for requesting user authorization is as follows: +### FA Model -1. Obtain the ability context. -2. Call **requestPermissionsFromUser()** to request user authorization. The API determines whether to display a dialog box to request user authorization based on whether the application has the permission. -3. Check whether the application has the permission based on the return value. If the application has the permission, the API can be invoked. +Call [requestPermissionsFromUser()](../reference/apis/js-apis-inner-app-context.md#contextrequestpermissionsfromuser7) to request user authorization. -### FA Model ```js - // OnWindowStageCreate of the ability - onWindowStageCreate() { - var context = this.context +import featureAbility from '@ohos.ability.featureAbility'; + +reqPermissions() { + let context = featureAbility.getContext(); let array:Array = ["ohos.permission.PERMISSION2"]; // The return value of requestPermissionsFromUser determines whether to display a dialog box to request user authorization. - context.requestPermissionsFromUser(array).then(function(data) { - console.log("data type:" + typeof(data)); - console.log("data:" + data); - console.log("data permissions:" + data.permissions); - console.log("data result:" + data.authResults); + context.requestPermissionsFromUser(array, 1).then(function(data) { + console.log("data:" + JSON.stringify(data)); + console.log("data permissions:" + JSON.stringify(data.permissions)); + console.log("data result:" + JSON.stringify(data.authResults)); }, (err) => { - console.error('Failed to start ability', err.code); + console.error('Failed to start ability', err.code); }); - } - +} ``` -> **NOTE** -> -> For details about how to use the APIs for the FA model, see [AbilityContext](../reference/apis/js-apis-ability-context.md). - -### Stage Model -```js - import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; - - // OnWindowStageCreate of the ability - onWindowStageCreate() { - var context = this.context - var AtManager = abilityAccessCtrl.createAtManager(); - // The return value of requestPermissionsFromUser determines whether to display a dialog box to request user authorization. - AtManager.requestPermissionsFromUser(context, ["ohos.permission.CAMERA"]).then((data) => { - console.log("data type:" + typeof(data)); - console.log("data:" + data); - console.log("data permissions:" + data.permissions); - console.log("data result:" + data.authResults); - }).catch((err) => { - console.error('Failed to start ability', err.code); - }) - } +## Pre-Authorizing user_grant Permissions +By default, the **user_grant** permissions must be dynamically authorized by the user through a dialog box. However, for pre-installed applications, you can pre-authorize the permissions, for example, the **ohos.permission.MICROPHONE** permission for camera applications, in the [**install_list_permission.json**](https://gitee.com/openharmony/vendor_hihope/blob/master/rk3568/preinstall-config/install_list_permissions.json) file to prevent the user authorization dialog box from being displayed. The **install_list_permissions.json** file is in the **/system/etc/app/** directory on a device. When the device is started, the **install_list_permissions.json** file is loaded. When the application is installed, the user_grant permissions in the file are granted. The **install_list_permissions.json** file contains the following fields: -``` -> **NOTE** -> For details about how to use the APIs for the stage model, see [Application Access Control](../reference/apis/js-apis-abilityAccessCtrl.md). +- **bundleName**: bundle name of the application. +- **app_signature**: fingerprint information of the application. For details, see **Configuration in install_list_capability.json** in [Application Privilege Configuration Guide](../../device-dev/subsystems/subsys-app-privilege-config-guide.md). +- **permissions**: **name** specifies the name of the **user_grant** permission to pre-authorize. **userCancellable** specifies whether the user can revoke the pre-authorization. The value **true** means the user can revoke the pre-authorization; the value **false** means the opposite. -## Pre-Authorizing user_grant Permissions -By default, the **user_grant** permissions must be granted by the user through a dialog box. However, for pre-installed applications, such as screenshot applications, you can pre-authorize the permissions to prevent the user authorization dialog box from being displayed. The [**install_list_permissions.json** file](https://gitee.com/openharmony/vendor_hihope/blob/master/rk3568/preinstall-config/install_list_permissions.json) is in the **/system/etc/app/** directory on a device. When the device is started, the **install_list_permissions.json** file is loaded. When the application is installed, the **user_grant** permissions in the file are granted. The **install_list_permissions.json** file is available only for preinstalled applications. -The **install_list_permissions.json** file contains the **bundleName**, **app_signature**, and **permissions** fields. -1. The permissions here are user_grant permissions only. For details about the permissions, see the [Application Permission List](permission-list.md). -2. **userCancellable** specifies whether the user can revoke the authorization. The value **true** means the user can revoke the authorization; the value **false** means the opposite. +> **NOTE**
This file is available only for preinstalled applications. ```json [ + // ... { - "bundleName": "com.ohos.myapplication", // Bundle name. - "app_signature":[], // Fingerprint information. + "bundleName": "com.example.myapplication", // Bundle Name. + "app_signature": ["****"], // Fingerprint information. "permissions":[ { - "name":"xxxx", // Permission name, which cannot be left blank. - "userCancellable":false // The user cannot revoke the authorization. This field cannot be left blank. + "name": "ohos.permission.PERMISSION_X", // Permission to pre-authorize. + "userCancellable": false // The user cannot revoke the authorization. }, { - "name":"yyy", // Permission name, which cannot be left blank. - "userCancellable":true // The user can revoke the authorization. This field cannot be left blank. + "name": "ohos.permission.PERMISSION_X", // Permission to pre-authorize. + "userCancellable": true // The user can revoke the authorization. } ] } ] -``` \ No newline at end of file +``` diff --git a/en/application-dev/security/accesstoken-overview.md b/en/application-dev/security/accesstoken-overview.md index e42543a356fb71dee1c6eea6e84a2115ca1518be..b6eb50c0d37613e8bd7ee1ca98e1f86b9002ceea 100644 --- a/en/application-dev/security/accesstoken-overview.md +++ b/en/application-dev/security/accesstoken-overview.md @@ -1,56 +1,56 @@ # Access Control (Permission) Overview -OpenHarmony AccessTokenManager (ATM) implements unified app permission management based on access tokens. +OpenHarmony AccessTokenManager (ATM) implements unified management of application permissions based on access tokens. -By default, apps can access limited system resources. However, to provide extended features, an app may need to access excess data (including personal data) and functions of the system or another app. The system or apps must also explicitly share their data or functions through APIs. OpenHarmony uses app permissions to perform access control and prevent improper or malicious use of these data or functions. +By default, applications can access limited system resources. However, to provide extended features, an application may need to access excess data (including personal data) and functions of the system or another application. The system or applications must also explicitly share their data or functions through APIs. OpenHarmony uses application permissions to prevent unauthorized access to and improper or malicious use of these data or functions. -App permissions are used to protect the following objects: +Application permissions are used to protect the following objects: -- Data: personal data (such as photos, contacts, calendar, and location), device data (such as device ID, camera, and microphone), and app data. -- Functions: device functions (such as making calls, sending SMS messages, and connecting to the Internet) and app functions (such as displaying windows and creating shortcuts). +- Data: includes personal data (such as photos, contacts, calendar, and location), device data (such as device ID, camera, and microphone), and application data. +- Functions: includes device functions (such as making calls, sending SMS messages, and connecting to the Internet) and application functions (such as displaying windows and creating shortcuts). -Without the required permissions, an app cannot access or perform operations on the target object. Permissions must be clearly defined for apps. With well-defined app permissions, the system can standardize app behavior and protect user privacy. Before an app accesses the target object, the target object verifies the app's permissions and denies the access if the app does not have required permissions. +Without the required permissions, an application cannot access or perform operations on the target object. Permissions must be clearly defined for applications. With well-defined application permissions, the system can standardize application behavior and protect user privacy. Before an application accesses an object, the object verifies the application's permissions and denies the access if the application does not have required permissions. -Currently, ATM verifies app permissions based on the token identity (token ID). A token ID identifies an app. ATM manages app permissions based on the app's token ID. +Currently, ATM verifies application permissions based on the token identity (token ID). A token ID identifies an application. ATM manages application permissions based on the application's token ID. ## Basic Principles for Permission Management -Observe the following principles for permission management: +Observe the following permission management principles: -- Provide clear description about the functions and scenarios for each permission required by the app so that users can clearly know why and when these permissions are needed. Do not induce or mislead users' authorization. The permissions on an app must comply with the description provided in the app. -- Use the principle of least authority for user permissions. Allow only necessary permissions for service functions. -- When an app is started for the first time, avoid frequently displaying dialog boxes to request multiple permissions. Allow the app to apply for the permission only when it needs to use the corresponding service function. -- If a user rejects to grant a permission, the user can still use functions irrelevant to this permission and can register and access the app. +- Provide clear description about the usage and scenario for each permission required by the application so that user can clearly know why and when these permissions are needed. Do not induce or mislead users' authorization. The permissions on an application must comply with the description provided in the application. +- Use the principle of least authority for application permissions. Allow only necessary permissions for service functions. +- When an application is started for the first time, avoid frequently displaying dialog boxes to request multiple permissions. Allow the application to apply for the permission only when it needs to use the corresponding service function. +- If a user rejects to grant a permission, the user can still use functions irrelevant to this permission and can register and access the application. - Provide no more message if a user rejects the authorization required by a function. Provide onscreen instructions to direct the user to grant the permission in **Settings** if the user triggers this function again or needs to use this function. -- All the permissions granted to apps must come from the [App Permission List](permission-list.md). Custom permissions are not allowed currently. +- All the permissions for applications must come from the [Application Permission List](permission-list.md). Custom permissions are not allowed currently. ## Permission Workflows -### Permission Application and Use +### Applying for and Using a Permission -Determine the permissions required by an app, and declare the required permissions in the app installation package. +Determine the permissions required by an application, and declare the required permissions in the application installation package. Determine whether the required permissions need user authorization. If yes, display a dialog box dynamically to request user authorization. -After the user grants the permissions, the app can access the data or perform the operation. +After the user grants the permissions, the application can access the data or perform the operation. The figure below illustrates the process. ![](figures/permission-workflow.png) -1. Refer to the figure below to determine whether an app can apply for a permission. +1. Refer to the figure below to determine whether an application can apply for a permission. ![](figures/permission-application-process.png) -1. See [Permission Levels](#permission-levels) for details about the mapping between the application Ability Privilege Level (APL) and permission level. +1. See [Permission Levels](#permission-levels) for details about the mapping between the application Ability Privilege Level (APL) and the permission level. 2. The permission authorization modes include user_grant (permission granted by the user) and system_grant (permission granted by the system). For details, see [Permission Types](#permission-types). -3. A low-APL app can have a high-level permission by using the Access Control List (ACL). For details, see [ACL](#acl). +3. A low-APL application can have a high-level permission by using the Access Control List (ACL). For details, see [ACL](#acl). -### Permission Verification -To protect sensitive data and eliminate security threads on core abilities, you can use the permissions in the [App Permission List](permission-list.md) to protect an API from unauthorized calling. Each time before the API is called, a permission verification is performed to check whether the caller has the required permission. +### Verifying a Permission +To protect sensitive data and eliminate security threats on core abilities, you can use the permissions in the [Application Permission List](permission-list.md) to protect an API from unauthorized calling. Each time before the API is called, a verification is performed to check whether the caller has the required permission. The API can be called only after the permission verification is successful. @@ -58,37 +58,37 @@ The figure below shows the permission verification process. ![](figures/permission-verify-process.png) -1: An app permission can be used to control the access to an API that has sensitive data involved or security threats on the core abilities. +1: An application permission can be used to control the access to an API that has sensitive data involved or security threats on core abilities. -2: The API can be protected by a permission in the [ACL](#acl). For example, if contact information is involved in an API provided by an app, you can use the contact-related permissions to protect the API. +2: The API can be protected by a permission in the [ACL](#acl). For example, if contact information is involved in an API provided by an application, you can use a contact-related permission to protect the API. -3: Use **verifyAccessToken()** to check whether the caller has the required permission. For details, see [Permission Verification Guide](permission-verify-guidelines.md). +3: Use **checkAccessToken()** to check whether the caller has the required permission. For details, see [API Access Permission Verification](permission-verify-guidelines.md). ## Permission Levels ATM defines different permission levels based on the sensitivity of the data involved or the security threat of the ability to protect user privacy. -### App APLs +### Application APLs -The APL defines the priority of the app permission requested. Apps of different APLs can apply for permissions of different levels. +The APL defines the priority for an application to apply for permissions. Applications of different APLs can apply for permissions of different levels. -The table below describes the APLs. +The following table describes the APLs. | APL | Description | | ---------------- | -------------------------------------- | -| system_core | The apps of this level provide core abilities of the operating system (OS). | -| system_basic| The apps of this level provide basic system services. | -| Normal | The apps of this level are normal apps. | +| system_core | Application that provides core abilities of the operating system (OS). | +| system_basic| Application that provides basic system services. | +| normal | Normal application. | -The default APL of apps is **normal**. +The default APL of applications is **normal**. -To set an app's APL to **system_basic** or **system_core**, declare the APL in the **apl** field of **bundle-info** in the app's profile when developing the app's installation package. +To set an application's APL to **system_basic** or **system_core**, set the **apl** field under **bundle-info** in the application's profile when developing the application's installation package. -Then, use the [hapsigner](hapsigntool-overview.md) tool to generate a certificate or use DevEco Studio to [have your app automatically signed](https://developer.harmonyos.com/en/docs/documentation/doc-guides/ohos-auto-configuring-signature-information-0000001271659465#section161281722111). +Then, use the [hapsigner](hapsigntool-overview.md) tool to generate a certificate or use DevEco Studio to [have your application automatically signed](https://developer.harmonyos.com/en/docs/documentation/doc-guides/ohos-auto-configuring-signature-information-0000001271659465#section161281722111). -> **CAUTION**
The method of changing the app's APL in its profile applies only to the app or service in debug mode. For a commercial app, apply for a release certificate and profile in the corresponding app market. +> **CAUTION**
The method of changing the application's APL in its profile applies only to the application or service in debug mode. For a commercial application, apply for a release certificate and profile in the corresponding application market. -The following is an example. +Example: This example shows only the modification of the **apl** field. Set other fields based on your requirements. For details about the fields in the profile, see [HarmonyAppProvision Configuration File](app-provision-structure.md). @@ -107,25 +107,25 @@ This example shows only the modification of the **apl** field. Set other fields ### Levels of Permissions -The permissions open to apps vary with the permission level. The permission levels include the following in ascending order of seniority. +The permissions available to applications vary with the APL. The permission levels include the following in ascending order of seniority. - **normal** - The normal permission allows access to common system resources beyond the default rules. Access to these system resources (including data and functions) has minor risks on user privacy and other apps. + The **normal** permission allows access to common system resources beyond the default rules. Access to these resources (including data and functions) has minor risks on user privacy and other applications. - The permissions of this level are available only to apps of the normal or higher APL. + The permissions of this level are available to applications of the **normal** or higher APL. - **system_basic** - The system_basic permission allows access to resources related to basic OS services. The basic services are basic functions provided or preconfigured by the system, such as system settings and identity authentication. Access to these resources may have considerable risks to user privacy and other apps. + The **system_basic** permission allows access to resources related to basic OS services. The basic services are basic functions provided or preconfigured by the system, such as system settings and identity authentication. Access to these resources may have considerable risks to user privacy and other applications. - The permissions of this level are available only to apps of the system_basic or system_core APL. + The permissions of this level are available only to applications of the **system_basic** or **system_core** APL. - **system_core** - The system_core permission allows access to core resources of the OS. These resources are underlying core services of the system. If these resources are corrupted, the OS cannot run properly. + The **system_core** permission allows access to core resources of the OS. These resources are underlying core services of the system. If these resources are corrupted, the OS cannot run properly. - The system_core permissions are not open to third-party apps. + The **system_core** permissions are not available to third-party applications. ## Permission Types @@ -133,80 +133,80 @@ Permissions can be classified into the following types based on the authorizatio - **system_grant** - The app permissions are authorized by the system. Apps granted with this type of permission cannot access user or device sensitive information, and the operations allowed for them have minor impact on the system or other apps. + A system_grant permission is authorized by the system. The application with this type of permission cannot access user or device sensitive information, and the operations allowed have minor impact on the system or other applications. - For a system_grant app, the system automatically grants the required permissions to the app when the app is installed. The system_grant permission list must be presented to users on the details page of the app in the app market. + For an application with a system_grant permission, the system automatically grants the permission to the application when the application is installed. The system_grant permission list must be presented to users on the details page of the application in the application market. - **user_grant** - The app permissions must be authorized by users. Apps granted with this type of permissions may access user or device sensitive information, and the operations allowed for them may have a critical impact on the system or other apps. + A user_grant permission must be authorized by the user. An application with this type of permission may access user or device sensitive information, and the operations allowed may have a critical impact on the system or other applications. - This type of permissions must be declared in the app installation package and authorized by users dynamically during the running of the app. The app has the permission only after user authorization. + This type of permissions must be declared in the application installation package and authorized by users dynamically during the running of the application. The application has the permission only after user authorization. - For example, as described in the [App Permission List](permission-list.md), the permissions for microphones and cameras are user_grant. The list provides reasons for using the permissions. + For example, the permissions for microphones and cameras in the [Application Permission List](permission-list.md) are user_grant. The list provides information about when to use the permissions. - The user_grant permission list must also be presented on the details page of the app in the app market. + The user_grant permission list must also be presented on the details page of each application in the application market. ### Authorization Processes -As described in [Permission Workflows](permission-workflows), you need to first apply for the required permissions for the app. +As described in [Permission Workflows](permission-workflows), you need to first apply for the required permissions for your application. -- Applying for permissions +- Applying for a permission - You need to [declare the required permissions](accesstoken-guidelines.md#declaring-permissions) in the configuration file. + You need to [declare the required permissions](accesstoken-guidelines.md#declaring-permissions-in-the-configuration-file) in the configuration file. -- Authorizing permissions +- Authorizing a permission - - The system_grant permission will be pre-granted when the app is installed. - - For a user_grant permission, you need to trigger user authorization through a dialog box during the running of the app. For details, see [Requesting User Authorization](#requesting-user-authorization). + - The system_grant permission is pre-granted when the application is installed. + - For a user_grant permission, you need to trigger user authorization through a dialog box during the running of the application. For details, see [Requesting User Authorization](#requesting-user-authorization). ### Requesting User Authorization The procedure is as follows: -1. In the configuration file, declare the permissions required by the app. For details, see [Access Control Development](accesstoken-guidelines.md). +1. In the configuration file, declare the permissions required by your application. For details, see [Permission Application Guide](accesstoken-guidelines.md). -2. Associate the target objects in the app with the related permissions. This allows the users to know the operations that need user authorization. +2. Associate the target object in the application with the required permission. This allows the users to know the operations that need user authorization. -3. Use an API to dynamically trigger a dialog box requesting user authorization when the target object is accessed. The API first checks whether the user has granted the required permissions to the app. If yes, the app can access the data or perform the operation. Otherwise, a dialog box will be displayed to request user authorization. +3. Use an API to dynamically trigger a dialog box for requesting user authorization when the target object is accessed. This API first checks whether the user has granted the permission required. If no, a dialog box will be displayed to request authorization from the user. -4. Check the user authorization result. Allow the subsequent operation only after the user has granted the permissions to the app. +4. Check the user authorization result. Allow the subsequent operations only after the user has granted the permission to the application successfully. -**Precautions** +**Caution** -- Check the app's permission each time before the operation requiring the permission is performed. -- To check whether a user has granted specific permissions to an app, use the [verifyAccessToken](../reference/apis/js-apis-abilityAccessCtrl.md) API. This API returns [PERMISSION_GRANTED](../reference/apis/js-apis-abilityAccessCtrl.md) or [PERMISSION_DENIED](../reference/apis/js-apis-abilityAccessCtrl.md). For details about the sample code, see [Access Control Development](accesstoken-guidelines.md). -- Users must be able to understand and control the authorization of user_grant permissions. During the running process, the app requiring user authorization must proactively call an API to dynamically request the authorization. Then, the system displays a dialog box asking the user to grant the permission. The user will determine whether to grant the permission based on the running context of the app. -- The permission authorized is not permanent, because the user may revoke the authorization at any time. Therefore, even if the user has granted the requested permission to the app, the app must check for the permission before calling the API controlled by this permission. +- Each time before the operation that requires the target permission is performed, the application must check whether the permission is available. +- To check whether a user has granted a permission to your application, use [checkAccessToken()](../reference/apis/js-apis-abilityAccessCtrl.md#checkaccesstoken9). This API returns [PERMISSION_GRANTED](../reference/apis/js-apis-abilityAccessCtrl.md) or [PERMISSION_DENIED](../reference/apis/js-apis-abilityAccessCtrl.md). For details about the sample code, see [Permission Application Guide](accesstoken-guidelines.md). +- Users must be able to understand and control the authorization of user_grant permissions. For a user_grant permission, the application must proactively call an API to dynamically request user authorization. Then, the system displays a dialog box asking the user to grant the permission. The user then determines whether to grant the permission. +- The user may revoke the permission authorization at any time. Therefore, each time before an API associated with a user_grant permission is called, the application must check whether the permission is available. ## ACL -As described above, permission levels and app APLs are in one-to-one correspondence. In principle, **an app with a lower APL cannot apply for higher permissions by default**. +Permission levels and application APLs are in one-to-one correspondence. In principle, an application with a lower APL cannot apply for higher-level permissions by default. -The ACL makes low-APL apps have high-level permissions. +The ACL makes low-APL applications have high-level permissions. -**Example** +**Example:** -The APL of app A is **normal**. App A needs to have permission B (system_basic level) and permission C (normal level). +The APL of application A is **normal**. Application A needs to have permission B (system_basic level) and permission C (normal level). -In this case, you can use the ACL to grant permission B to app A. +In this case, you can use the ACL to grant permission B to application A. For details, see [Using the ACL](#using-the-acl). -For details about whether a permission can be enabled through the ACL, see [App Permission List](permission-list.md). +For details about whether a permission can be enabled via the ACL, see [Application Permission List](permission-list.md). ### Using the ACL -If the permission required by an app has a higher level than the app's APL, you can use the ACL to grant the permission required. +If the permission required by an application has a higher level than the application's APL, you can use the ACL to grant the permission required. In addition to the preceding [authorization processes](#authorization-processes), you must declare the ACL. -That is, you need to declare the required permissions in the app's configuration file, and [declare the ACL](accesstoken-guidelines.md#declaring-permissions-in-the-acl) in the app's profile. The subsequent steps of authorization are the same. +That is, you need to declare the required permissions in the application's configuration file, and [declare the ACL](accesstoken-guidelines.md#declaring-the-acl) in the application's profile. The subsequent authorization steps are the same. **NOTICE** -When developing an app installation package, you must declare the ACL in the **acls** field in the app's profile. Then, use the [hapsigner](hapsigntool-overview.md) tool to generate a certificate. +When developing an application installation package, you must declare the ACL in the **acls** field in the application's profile. Then, use the [hapsigner](hapsigntool-overview.md) tool to generate a certificate. -> **CAUTION**
The method of changing the app's APL in its profile applies only to the app or service in debug mode. For a commercial app, apply for a release certificate and profile in the corresponding app market. +> **CAUTION**
The method of changing the application's APL in its profile applies only to the application or service in debug mode. For a commercial application, apply for a release certificate and profile in the corresponding application market. ```json { diff --git a/en/application-dev/security/permission-list.md b/en/application-dev/security/permission-list.md index f3e380bbfd572a2bd159801f8fecee60af5e681b..95587c618e8e95599058c7998ac1b86afa9cf1bf 100644 --- a/en/application-dev/security/permission-list.md +++ b/en/application-dev/security/permission-list.md @@ -12,7 +12,7 @@ Allows an application to access Bluetooth configurations. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.DISCOVER_BLUETOOTH @@ -22,7 +22,7 @@ Allows an application to configure Bluetooth on a device, initiate or cancel a s **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MANAGE_BLUETOOTH @@ -32,7 +32,7 @@ Allows an application to pair with a Bluetooth device and access the contacts or **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.INTERNET @@ -42,7 +42,7 @@ Allows an application to access the Internet. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MODIFY_AUDIO_SETTINGS @@ -52,7 +52,7 @@ Allows an application to modify audio settings. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ACCESS_NOTIFICATION_POLICY @@ -62,7 +62,7 @@ Allows an application to access the notification policy on the device. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.GET_TELEPHONY_STATE @@ -72,7 +72,7 @@ Allows an application to read telephony information. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.REQUIRE_FORM @@ -82,7 +82,7 @@ Allows an application to obtain widgets. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_NETWORK_INFO @@ -92,7 +92,7 @@ Allows an application to obtain network information. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.PLACE_CALL @@ -102,7 +102,7 @@ Allows an application to make calls without starting the dialer. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SET_NETWORK_INFO @@ -112,7 +112,7 @@ Allows an application to set data network information. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.REMOVE_CACHE_FILES @@ -122,7 +122,7 @@ Allows the cache of the specified application to be cleared. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.REBOOT @@ -132,7 +132,7 @@ Allows an application to restart the device. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.RUNNING_LOCK @@ -142,7 +142,7 @@ Allows an application to obtain a running lock. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SET_TIME @@ -152,7 +152,7 @@ Allows an application to set the system time. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SET_TIME_ZONE @@ -162,7 +162,7 @@ Allows an application to set the system time zone. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.DOWNLOAD_SESSION_MANAGER @@ -172,7 +172,7 @@ Allows an application to manage download sessions. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.COMMONEVENT_STICKY @@ -182,7 +182,7 @@ Allows an application to publish sticky common events. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SYSTEM_FLOAT_WINDOW @@ -192,7 +192,7 @@ Allows an application to be displayed in a floating window on top of other appli **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.PRIVACY_WINDOW @@ -202,7 +202,7 @@ Allows an application to set screens that cannot be captured or recorded. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.POWER_MANAGER @@ -212,7 +212,7 @@ Allows an application to hibernate or wake up the device by calling an API. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.REFRESH_USER_ACTION @@ -222,7 +222,7 @@ Allows an application to reset the screen timeout counter when a user input even **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.POWER_OPTIMIZATION @@ -232,7 +232,7 @@ Allows an application to set power saving mode, obtain configuration of the powe **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.REBOOT_RECOVERY @@ -242,7 +242,7 @@ Allows an application to restart the device and enter Recovery mode. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MANAGE_LOCAL_ACCOUNTS @@ -252,7 +252,7 @@ Allows an application to manage local user accounts. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS @@ -262,7 +262,7 @@ Allows access between multiple OS accounts. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.VIBRATE @@ -272,7 +272,7 @@ Allows an application to control vibration. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.CONNECT_IME_ABILITY @@ -282,7 +282,7 @@ Allows an application to bind the InputMethodAbility. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.CONNECT_SCREEN_SAVER_ABILITY @@ -292,7 +292,7 @@ Allows an application to bind the ScreenSaverAbility. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_SCREEN_SAVER @@ -302,7 +302,7 @@ Allows an application to read the screen saver information, such as the list of **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.WRITE_SCREEN_SAVER @@ -312,7 +312,7 @@ Allows an application to modify the screen saver information, such as activating **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SET_WALLPAPER @@ -322,7 +322,7 @@ Allows an application to set a static wallpaper. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_WALLPAPER @@ -332,7 +332,7 @@ Allows an application to read wallpaper files. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.CHANGE_ABILITY_ENABLED_STATE @@ -342,7 +342,7 @@ Allows an application to enable or disable an application or component. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ACCESS_MISSIONS @@ -352,7 +352,7 @@ Allows an application to obtain information about running processes and mission **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.CLEAN_BACKGROUND_PROCESSES @@ -362,7 +362,7 @@ Allows an application to clear background processes based on their bundle names. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.KEEP_BACKGROUND_RUNNING @@ -372,7 +372,7 @@ Allows a Service ability to keep running in the background. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.UPDATE_CONFIGURATION @@ -382,7 +382,7 @@ Allows an application to modify system settings. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.UPDATE_SYSTEM @@ -392,7 +392,7 @@ Allows an application to call the update APIs. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.FACTORY_RESET @@ -402,7 +402,7 @@ Allows an application to call the API for restoring factory settings. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GRANT_SENSITIVE_PERMISSIONS @@ -412,7 +412,7 @@ Allows an application to grant sensitive permissions to other applications. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.REVOKE_SENSITIVE_PERMISSIONS @@ -422,7 +422,7 @@ Allows an application to revoke sensitive permissions granted to other applicati **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_SENSITIVE_PERMISSIONS @@ -432,7 +432,7 @@ Allows an application to obtain the sensitive permissions that have been granted **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION @@ -442,7 +442,7 @@ Allows an application to set the attributes of applications of other users. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.LISTEN_BUNDLE_CHANGE @@ -452,7 +452,7 @@ Allows an application to listen for changes in other applications, when they are **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_BUNDLE_INFO @@ -462,7 +462,7 @@ Allows an application to obtain information about another application. This perm **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_BUNDLE_INFO_PRIVILEGED @@ -472,7 +472,7 @@ Allows an application to obtain information about other applications at the same **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ACCELEROMETER @@ -482,7 +482,7 @@ Allows an application to read data from an acceleration sensor, uncalibrated acc **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GYROSCOPE @@ -492,7 +492,7 @@ Allows an application to read data from a gyroscope sensor or uncalibrated gyros **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.INSTALL_BUNDLE @@ -502,7 +502,7 @@ Allows an application to install and uninstall other applications. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MANAGE_SHORTCUTS @@ -512,7 +512,7 @@ Allows an application to query and start shortcuts of other applications. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.radio.ACCESS_FM_AM @@ -522,7 +522,7 @@ Allows an application to access radio services. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SET_TELEPHONY_STATE @@ -532,7 +532,7 @@ Allows an application to change the telephone state. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.START_ABILITIES_FROM_BACKGROUND @@ -542,7 +542,7 @@ Allows an application to start or access other components from the background. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.BUNDLE_ACTIVE_INFO @@ -552,7 +552,7 @@ Allows an application to obtain how long other applications have been running in **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.START_INVISIBLE_ABILITY @@ -562,7 +562,7 @@ Allows an application to start an invisible ability. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.sec.ACCESS_UDID @@ -572,7 +572,7 @@ Allows an application to obtain the Unified Device ID (UDID). **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.LAUNCH_DATA_PRIVACY_CENTER @@ -582,7 +582,7 @@ Allows an application to switch from its privacy statement page to the Data & **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MANAGE_MEDIA_RESOURCES @@ -592,7 +592,7 @@ Allows an application to obtain and manage the media resources that are being pl **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.PUBLISH_AGENT_REMINDER @@ -602,7 +602,7 @@ Allows an application to use agent-powered reminders. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.CONTROL_TASK_SYNC_ANIMATOR @@ -612,7 +612,7 @@ Allows an application to use sync task animations. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.INPUT_MONITORING @@ -622,7 +622,7 @@ Allows an application to listen for input events. Only the system signed applica **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MANAGE_MISSIONS @@ -632,7 +632,7 @@ Allows an application to manage ability mission stacks. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.NOTIFICATION_CONTROLLER @@ -642,7 +642,7 @@ Allows an application to manage and subscribe to notifications. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.CONNECTIVITY_INTERNAL @@ -652,7 +652,7 @@ Allows an application to obtain network information or modify network settings. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SET_ABILITY_CONTROLLER @@ -662,7 +662,7 @@ Allows an application to set the start and stop of an ability. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.USE_USER_IDM @@ -672,7 +672,7 @@ Allows an application to access the system identity credential information. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.MANAGE_USER_IDM @@ -682,7 +682,7 @@ Allows an application to use the system identity credential management capabilit **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.ACCESS_BIOMETRIC @@ -692,7 +692,7 @@ Allows an application to use biometric recognition for identity authentication. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ACCESS_USER_AUTH_INTERNAL @@ -702,7 +702,7 @@ Allows an application to use the system identity authentication capability to au **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.ACCESS_PIN_AUTH @@ -712,7 +712,7 @@ Allows a system application to call the PIN input APIs to present a password inp **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.GET_RUNNING_INFO @@ -722,7 +722,7 @@ Allows an application to obtain running status information. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.CLEAN_APPLICATION_DATA @@ -732,7 +732,7 @@ Allows an application to clear application data. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.RUNNING_STATE_OBSERVER @@ -742,7 +742,7 @@ Allows an application to observe the application status. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.CAPTURE_SCREEN @@ -752,7 +752,7 @@ Allows an application to take screenshots. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_WIFI_INFO @@ -762,7 +762,7 @@ Allows an application to obtain WLAN information. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_WIFI_INFO_INTERNAL @@ -772,7 +772,7 @@ Allows an application to obtain WLAN information. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SET_WIFI_INFO @@ -782,7 +782,7 @@ Allows an application to set WLAN devices. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_WIFI_PEERS_MAC @@ -792,7 +792,7 @@ Allows an application to obtain the MAC address of the peer WLAN or Bluetooth de **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_WIFI_LOCAL_MAC @@ -802,7 +802,7 @@ Allows an application to obtain the MAC address of the local WLAN or Bluetooth d **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_WIFI_CONFIG @@ -812,7 +812,7 @@ Allows an application to obtain the WLAN configuration. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SET_WIFI_CONFIG @@ -822,7 +822,7 @@ Allows an application to set WLAN information. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MANAGE_WIFI_CONNECTION @@ -832,7 +832,7 @@ Allows an application to manage WLAN connections. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MANAGE_WIFI_HOTSPOT @@ -842,7 +842,7 @@ Allows an application to enable or disable Wi-Fi hotspots. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_ALL_APP_ACCOUNTS @@ -852,7 +852,7 @@ Allows an application to obtain all application account information. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.MANAGE_SECURE_SETTINGS @@ -862,7 +862,7 @@ Allows an application to modify security settings. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_DFX_SYSEVENT @@ -872,7 +872,7 @@ Allows an application to access system event logging data. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN @@ -882,7 +882,7 @@ Allows an application to activate the device administrator app. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SET_ENTERPRISE_INFO @@ -892,7 +892,7 @@ Allows the device administrator application to set enterprise information. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT @@ -902,7 +902,7 @@ Allows the device administrator application to subscribe to management events. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ENTERPRISE_SET_DATETIME @@ -912,7 +912,7 @@ Allows the device administrator application to set the system time. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ENTERPRISE_GET_DEVICE_INFO @@ -922,7 +922,7 @@ Allows the device administrator application to obtain device information. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.NFC_TAG @@ -932,7 +932,7 @@ Allows an application to read NFC tag information. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.NFC_CARD_EMULATION @@ -942,7 +942,7 @@ Allows an application to implement card emulation. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.PERMISSION_USED_STATS @@ -952,7 +952,7 @@ Allows a system application to access the permission usage records. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.NOTIFICATION_AGENT_CONTROLLER @@ -962,7 +962,7 @@ Allows an application to send agent-powered notifications. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ANSWER_CALL @@ -972,7 +972,7 @@ Allows an application to answer incoming calls. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_CALENDAR @@ -982,7 +982,7 @@ Allows an application to read calendar data. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_CALL_LOG @@ -992,7 +992,7 @@ Allows an application to read call logs. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_CELL_MESSAGES @@ -1002,7 +1002,7 @@ Allows an application to read cell broadcast messages received by the device. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_CONTACTS @@ -1012,7 +1012,7 @@ Allows an application to read contacts. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_MESSAGES @@ -1022,7 +1022,7 @@ Allows an application to read messages. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.RECEIVE_MMS @@ -1032,7 +1032,7 @@ Allows an application to receive and process MMS messages. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.RECEIVE_SMS @@ -1042,7 +1042,7 @@ Allows an application to receive and process SMS messages. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.RECEIVE_WAP_MESSAGES @@ -1052,7 +1052,7 @@ Allows an application to receive and process WAP messages. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MICROPHONE @@ -1062,7 +1062,7 @@ Allows an application to access the microphone. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SEND_MESSAGES @@ -1072,7 +1072,7 @@ Allows an application to send messages. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.WRITE_CALENDAR @@ -1082,7 +1082,7 @@ Allows an application to add, remove, and modify calendar events. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.WRITE_CALL_LOG @@ -1092,7 +1092,7 @@ Allows an application to add, remove, and modify call logs. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.WRITE_CONTACTS @@ -1102,7 +1102,7 @@ Allows an application to add, remove, and modify contacts. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.DISTRIBUTED_DATASYNC @@ -1112,7 +1112,7 @@ Allows an application to exchange data with other devices. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MANAGE_VOICEMAIL @@ -1122,7 +1122,7 @@ Allows an application to leave messages in the voice mailbox. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.LOCATION_IN_BACKGROUND @@ -1132,7 +1132,7 @@ Allows an application running in the background to obtain the device location. **Authorization mode**: user_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.LOCATION @@ -1142,7 +1142,7 @@ Allows an application to obtain the device location. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.APPROXIMATELY_LOCATION @@ -1152,7 +1152,7 @@ Allows an application to obtain the approximate location information of a device **Authorization mode**: user_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.MEDIA_LOCATION @@ -1162,7 +1162,7 @@ Allow an application to access geographical locations in the user's media file. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.CAMERA @@ -1172,7 +1172,7 @@ Allows an application to use the camera to take photos and record videos. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_MEDIA @@ -1182,7 +1182,7 @@ Allows an application to read media files from the user's external storage. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.WRITE_MEDIA @@ -1192,7 +1192,7 @@ Allows an application to read media files from and write media files into the us **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ACTIVITY_MOTION @@ -1202,7 +1202,7 @@ Allows an application to read the current workout status of the user. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_HEALTH_DATA @@ -1212,7 +1212,7 @@ Allows an application to read the health data of the user. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.GET_DEFAULT_APPLICATION @@ -1222,7 +1222,7 @@ Allows an application to query default applications. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.SET_DEFAULT_APPLICATION @@ -1232,7 +1232,7 @@ Allows an application to set and reset default applications. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MANAGE_DISPOSED_APP_STATUS @@ -1242,7 +1242,7 @@ Allows an application to set and query the application handling state. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ACCESS_IDS @@ -1252,7 +1252,7 @@ Allows an application to query the unique identifier of a device. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.DUMP @@ -1262,7 +1262,7 @@ Allows the basic system information and SA service information to be exported. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.DISTRIBUTED_SOFTBUS_CENTER @@ -1272,7 +1272,7 @@ Allows networking between different devices. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.ACCESS_DLP_FILE @@ -1282,7 +1282,7 @@ Allows configuration and management of the permissions on .dlp files. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.PROVISIONING_MESSAGE @@ -1292,7 +1292,7 @@ Allows the Super Device Manager application to be activated. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ACCESS_SYSTEM_SETTINGS @@ -1302,7 +1302,7 @@ Allows an application to access or start system **Settings**. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_IMAGEVIDEO @@ -1312,7 +1312,7 @@ Allows access to the images or video files in a user's directory. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_AUDIO @@ -1322,7 +1322,7 @@ Allows access to the audio files in a user's directory. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.READ_DOCUMENT @@ -1332,7 +1332,7 @@ Allows access to the files in a user's directory. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.WRITE_IMAGEVIDEO @@ -1342,7 +1342,7 @@ Allows modification to the images or video files in a user's directory. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.WRITE_AUDIO @@ -1352,7 +1352,7 @@ Audio modification to the audio files in a user's directory. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.WRITE_DOCUMENT @@ -1362,7 +1362,7 @@ Allows modification to the files in a user's directory. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ABILITY_BACKGROUND_COMMUNICATION @@ -1372,7 +1372,7 @@ Allows an application to start the Ability component in the background and estab **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.securityguard.REPORT_SECURITY_INFO @@ -1382,7 +1382,7 @@ Allows an application to report risk data for security guard. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.securityguard.REQUEST_SECURITY_MODEL_RESULT @@ -1392,7 +1392,7 @@ Allows an application to obtain the device risk status. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.securityguard.REQUEST_SECURITY_EVENT_INFO @@ -1402,7 +1402,7 @@ Allows an application to obtain detailed risk data. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.READ_ACCESSIBILITY_CONFIG @@ -1412,7 +1412,7 @@ Allows an application to read the accessibility configuration. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.WRITE_ACCESSIBILITY_CONFIG @@ -1422,7 +1422,7 @@ Allows an application to set the accessibility configuration. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.ACCESS_CERT_MANAGER_INTERNAL @@ -1432,7 +1432,7 @@ Allows an application to install, uninstall, enable, and disable certificates an **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.ACCESS_CERT_MANAGER @@ -1442,7 +1442,7 @@ Allows an application to manage private credentials and query certificate status **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.ACCESS_PUSH_SERVICE @@ -1452,7 +1452,7 @@ Allows an application to to access the Ability of the push service. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.RECEIVER_STARTUP_COMPLETED @@ -1462,7 +1462,7 @@ Allows an application to subscribe to the startup broadcast. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.MANAGE_CAMERA_CONFIG @@ -1472,7 +1472,7 @@ Allows an application to enable or disable cameras globally. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.READ_WHOLE_CALENDAR @@ -1482,7 +1482,7 @@ Allows an application to read all calendar information. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.WRITE_WHOLE_CALENDAR @@ -1492,7 +1492,7 @@ Allows an application to add, remove, or change all calendar events. **Authorization mode**: user_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ENFORCE_USER_IAM @@ -1502,7 +1502,7 @@ Allows an SA to delete user information from the IAM subsystem without a token. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.ACCESS_AUTH_RESPOOL @@ -1512,7 +1512,7 @@ Allows an SA to register the executor. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MOUNT_UNMOUNT_MANAGER @@ -1522,7 +1522,7 @@ Allows an application to mount and unmount external cards. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.MOUNT_FORMAT_MANAGER @@ -1532,7 +1532,7 @@ Allows an application to format external cards. **Authorization mode**: system_grant -**Enable ACL**: FALSE +**Enable via ACL**: FALSE ## ohos.permission.STORAGE_MANAGER @@ -1542,7 +1542,7 @@ Allows an application to call the interfaces of the Storage Manager service to q **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.BACKUP @@ -1552,7 +1552,7 @@ Allows an application to have backup and restore capabilities. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.FILE_ACCESS_MANAGER @@ -1562,7 +1562,7 @@ Allows a file management application to access user data files through the FAF. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE ## ohos.permission.MANAGE_AUDIO_CONFIG @@ -1572,4 +1572,4 @@ Allows an application to to mute microphones globally. **Authorization mode**: system_grant -**Enable ACL**: TRUE +**Enable via ACL**: TRUE diff --git a/en/application-dev/ui/ui-ts-components-web.md b/en/application-dev/ui/ui-ts-components-web.md index a968f0f4ebdaa9561923f57c4f15dd9259b51664..060ccc0c57371926da4928e3919be6686ca8acc4 100644 --- a/en/application-dev/ui/ui-ts-components-web.md +++ b/en/application-dev/ui/ui-ts-components-web.md @@ -8,10 +8,12 @@ Create a **\** component in the .ets file under **main/ets/MainAbility/page ```ts // xxx.ets + import web_webview from '@ohos.web.webview'; + @Entry @Component struct WebComponent { - controller: WebController = new WebController(); + controller: web_webview.WebviewController = new web_webview.WebviewController(); build() { Column() { Web({ src: 'https://www.example.com', controller: this.controller }) @@ -26,11 +28,13 @@ When using the **\** component, you must specify the styles and attributes. ```ts // xxx.ets +import web_webview from '@ohos.web.webview'; + @Entry @Component struct WebComponent { fileAccess: boolean = true; - controller: WebController = new WebController(); + controller: web_webview.WebviewController = new web_webview.WebviewController(); build() { Column() { Text('Hello world!') @@ -54,13 +58,15 @@ Add the **onProgressChange** event for the **\** component, which is trigge ```ts // xxx.ets +import web_webview from '@ohos.web.webview'; + @Entry @Component struct WebComponent { @State progress: number = 0; @State hideProgress: boolean = true; fileAccess: boolean = true; - controller: WebController = new WebController(); + controller: web_webview.WebviewController = new web_webview.WebviewController(); build() { Column() { Text('Hello world!') @@ -93,14 +99,17 @@ Add the **runJavaScript** method to the **onPageEnd** event. The **onPageEnd** e ```ts // xxx.ets +import web_webview from '@ohos.web.webview'; + @Entry @Component struct WebComponent { @State progress: number = 0; @State hideProgress: boolean = true; + @State webResult: string = '' fileAccess: boolean = true; // Define the controller for the \ component. - controller: WebController = new WebController(); + controller: web_webview.WebviewController = new web_webview.WebviewController(); build() { Column() { Text('Hello world!') @@ -124,8 +133,23 @@ struct WebComponent { }) .onPageEnd(e => { // test() is defined in index.html. - this.controller.runJavaScript({ script: 'test()' }); - console.info('url: ', e.url); + try { + this.controller.runJavaScript( + 'test()', + (error, result) => { + if (error) { + console.info(`run JavaScript error: ` + JSON.stringify(error)) + return; + } + if (result) { + this.webResult = result + console.info(`The test() return value is: ${result}`) + } + }); + console.info('url: ', e.url); + } catch (error) { + console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); + } }) Text('End') .fontSize(20) @@ -160,10 +184,12 @@ The configuration procedure is as follows: 1. Set the **webDebuggingAccess** attribute of the **\** component to **true**. ```ts // xxx.ets + import web_webview from '@ohos.web.webview'; + @Entry @Component struct WebComponent { - controller: WebController = new WebController() + controller: web_webview.WebviewController = new web_webview.WebviewController(); build() { Column() { Web({ src: 'www.example.com', controller: this.controller }) @@ -189,20 +215,30 @@ In this example, you'll implement a **\** component where videos can be pla ```ts // xxx.ets +import web_webview from '@ohos.web.webview'; + @Entry @Component struct WebComponent { - controller: WebController = new WebController(); + controller: web_webview.WebviewController = new web_webview.WebviewController(); build() { Column() { Row() { Button('onActive').onClick(() => { console.info("Web Component onActive"); - this.controller.onActive(); + try { + this.controller.onActive(); + } catch (error) { + console.error(`Errorcode: ${error.code}, Message: ${error.message}`); + } }) Button('onInactive').onClick(() => { console.info("Web Component onInactive"); - this.controller.onInactive(); + try { + this.controller.onInactive(); + } catch (error) { + console.error(`Errorcode: ${error.code}, Message: ${error.message}`); + } }) } Web({ src: $rawfile('index.html'), controller: this.controller }) diff --git a/en/device-dev/porting/porting-minichip-overview.md b/en/device-dev/porting/porting-minichip-overview.md index 77da2cbe378ff2bba7c0ca94bb14d1e9c97371c6..c62a19e1dfb14fd10a0f19527d02965dd088998b 100644 --- a/en/device-dev/porting/porting-minichip-overview.md +++ b/en/device-dev/porting/porting-minichip-overview.md @@ -42,6 +42,4 @@ The adaptation process is divided into four steps: porting preparation, kernel p | Subsystem| A subsystem, as a logical concept, consists of one or more components. OpenHarmony is designed with a layered architecture, which consists of the kernel layer, system service layer, framework layer, and application layer from the bottom up. System functions are built from components, subsystems, and then to the system. In a multi-device deployment, you can customize subsystems and components as required.| | Component| A component is a reusable, configurable, and tailorable function unit. Each component has an independent directory, and can be built and tested independently and developed concurrently. | | hb | hb is an OpenHarmony command line tool used to execute build commands.| -| HOBT | HOBT is short for HiLink SDK OHOS Basic Test. It is used to test the basic functions of the interfaces on which the HiLink SDK depends.| -| Kit Framework | Kit Framework is the basic framework of Kit. It contains the security components of OpenHarmony and cannot be tailored.| | KV | A key-value pair (KV) is a format of data storage.| diff --git a/en/device-dev/subsystems/Readme-EN.md b/en/device-dev/subsystems/Readme-EN.md index 5394fc67e6a3187eb7b83f1aba77b5aa2d3373cb..3a759af34a5afb96e07d844317a2a99f3cf20f50 100644 --- a/en/device-dev/subsystems/Readme-EN.md +++ b/en/device-dev/subsystems/Readme-EN.md @@ -110,5 +110,5 @@ - [Hiview Development](subsys-dfx-hiview.md) - R&D Tools - [bytrace](subsys-toolchain-bytrace-guide.md) - - [hdc_std](subsys-toolchain-hdc-guide.md) + - [hdc](subsys-toolchain-hdc-guide.md) - [hiperf](subsys-toolchain-hiperf.md) diff --git a/en/device-dev/subsystems/subsys-build-gn-kconfig-visual-config-guide.md b/en/device-dev/subsystems/subsys-build-gn-kconfig-visual-config-guide.md index 7deeec6316d5750a5615740fb25dade24fe23fb9..bb5ab798f8c92e32589dc7539c0471650829ab2f 100644 --- a/en/device-dev/subsystems/subsys-build-gn-kconfig-visual-config-guide.md +++ b/en/device-dev/subsystems/subsys-build-gn-kconfig-visual-config-guide.md @@ -44,7 +44,7 @@ Kconfig visual configuration has the following advantages: 4. Set parameters. - For details about the parameters, see [productdefine/common/base/base_product.json](https://gitee.com/openharmony/productdefine_common/blob/master/base/base_product.json). + For details about the parameters, see productdefine/common/base/base_product.json. ![Setting parameters](./figure/kconfig_set_parameters.gif) @@ -99,7 +99,7 @@ Kconfig visual configuration has the following advantages: ### Latest Components Not Displayed in the Menu List -The component list [productdefine/common/base/base_product.json](https://gitee.com/openharmony/productdefine_common/blob/master/base/base_product.json) is updated with product updates and iterations. The Kconfig menu does not contain the latest components. +The component list productdefine/common/base/base_product.json is updated with product updates and iterations. The Kconfig menu does not contain the latest components. **Solution** diff --git a/en/device-dev/website.md b/en/device-dev/website.md index cc82446ca3e2442fc1ffe731568c6bd1695eab5e..ea70ddb256ecf8b273da770317aac926fbb5fd6f 100644 --- a/en/device-dev/website.md +++ b/en/device-dev/website.md @@ -522,7 +522,7 @@ - [xDevice User Guide](device-test/xdevice.md) - R&D Tools - [bytrace](subsystems/subsys-toolchain-bytrace-guide.md) - - [hdc\_std](subsystems/subsys-toolchain-hdc-guide.md) + - [hdc](subsystems/subsys-toolchain-hdc-guide.md) - [hiperf](subsystems/subsys-toolchain-hiperf.md) - Tools diff --git a/zh-cn/application-dev/application-models/start-page.md b/zh-cn/application-dev/application-models/start-page.md index ff276bf674c61d8af9cf1c8170e5f3f9dad258fe..418a5985ae5831d062d20b30482b3b13b983147a 100644 --- a/zh-cn/application-dev/application-models/start-page.md +++ b/zh-cn/application-dev/application-models/start-page.md @@ -70,7 +70,7 @@ struct Index { ``` -当PageAbility的启动模式设置为标准模式或为首次启动单例模式的PageAbility时(具体设置方法和典型场景示例见[PageAbility的启动模式](pageability-launch-type.md)),在调用方PageAbility中,通过want中的parameters参数传递要启动的指定页面的pages信息,调用startAbility()方法启动PageAbility。被调用方可以在onCreate中使用featrueAbility的getWant方法获取want,再通过调用router.push实现启动指定页面。 +当PageAbility的启动模式设置为标准模式或为首次启动单例模式的PageAbility时(具体设置方法和典型场景示例见[PageAbility的启动模式](pageability-launch-type.md)),在调用方PageAbility中,通过want中的parameters参数传递要启动的指定页面的pages信息,调用startAbility()方法启动PageAbility。被调用方可以在onCreate中使用featureAbility的getWant方法获取want,再通过调用router.push实现启动指定页面。 调用方的页面中实现按钮点击触发startAbility方法启动目标端PageAbility,startAbility方法的入参want中携带指定页面信息,示例代码如下: @@ -119,7 +119,7 @@ struct Index { ``` -目标端PageAbility的onCreate生命周期回调中通过featrueAbility的getWant方法获取want,并对参数进行解析,实现指定页面拉起: +目标端PageAbility的onCreate生命周期回调中通过featureAbility的getWant方法获取want,并对参数进行解析,实现指定页面拉起: ```ts import featureAbility from '@ohos.ability.featureAbility'; diff --git a/zh-cn/application-dev/application-test/arkxtest-guidelines.md b/zh-cn/application-dev/application-test/arkxtest-guidelines.md index 98187a4d39b924da3de43b9cb3c7217a5f426716..4effcd1ee7dc147e6a0ef6bb88f73f0372f26015 100644 --- a/zh-cn/application-dev/application-test/arkxtest-guidelines.md +++ b/zh-cn/application-dev/application-test/arkxtest-guidelines.md @@ -134,7 +134,7 @@ export default function abilityTest() { //init driver var driver = await Driver.create(); await driver.delayMs(1000); - //find button on text 'Next' + //find button by text 'Next' var button = await driver.findComponent(ON.text('Next')); //click button await button.click(); diff --git a/zh-cn/application-dev/application-test/figures/Execute.PNG b/zh-cn/application-dev/application-test/figures/Execute.PNG index 7c9d9be0d39c8b07c32f351622423085a4086584..5d4d1b3c79e423e7e2f758c77dd1474f2bcc47d9 100644 Binary files a/zh-cn/application-dev/application-test/figures/Execute.PNG and b/zh-cn/application-dev/application-test/figures/Execute.PNG differ diff --git a/zh-cn/application-dev/database/database-datashare-guidelines.md b/zh-cn/application-dev/database/database-datashare-guidelines.md index 0c8242f7e763a85c336aefcc303a73ed538883b0..41d23f55477100e67b437a8ff2d5774020276f76 100644 --- a/zh-cn/application-dev/database/database-datashare-guidelines.md +++ b/zh-cn/application-dev/database/database-datashare-guidelines.md @@ -38,7 +38,50 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其 ### 数据提供方应用的开发(仅限系统应用) -1. 导入基础依赖包。 +[DataShareExtensionAbility](../reference/apis/js-apis-application-dataShareExtensionAbility.md)提供以下API,根据需要重写对应回调方法。 + +- **onCreate** + + DataShare客户端连接DataShareExtensionAbility服务端时,服务端回调此接口,执行初始化业务逻辑操作。该方法可以选择性重写。 + +- **insert** + + 业务函数,客户端请求插入数据时回调此接口,服务端需要在此回调中实现插入数据功能,该方法可以选择性重写。 + +- **update** + + 业务函数,客户端请求更新数据时回调此接口,服务端需要在此回调中实现更新数据功能,该方法可以选择性重写。 + +- **delete** + + 业务函数,客户端请求删除数据时回调此接口,服务端需要在此回调中实现删除数据功能,该方法可以选择性重写。 + +- **query** + + 业务函数,客户端请求查询数据时回调此接口,服务端需要在此回调中实现查询数据功能,该方法可以选择性重写。 + +- **batchInsert** + + 业务函数,客户端请求批量插入数据时回调此接口,服务端需要在此回调中实现批量插入数据数据功能,该方法可以选择性重写。 + +- **normalizeUri** + + 业务函数,客户端给定的URI转换为服务端使用的URI时回调此接口,该方法可以选择性重写。 + +- **denormalizeUri** + + 业务函数,服务端使用的URI转换为客户端传入的初始URI时服务端回调此接口,该方法可以选择性重写。 + +开发者在实现一个数据共享服务时,需要在DevEco Studio工程中手动新建一个DataShareExtensionAbility,具体步骤如下。 + +1. 在工程Module对应的ets目录下,右键选择“New > Directory”,新建一个目录并命名为DataShareAbility。 + +2. 在DataShareAbility目录,右键选择“New > TypeScript File”,新建一个TypeScript文件并命名为DataShareAbility.ts。 + +3. 在DataShareAbility.ts文件中,增加导入DataShareExtensionAbility的依赖包,开发者可根据应用需求选择性重写其业务实现。例如数据提供方只提供插入、删除和查询服务,则可只重写这些接口。 + + +4. 导入基础依赖包。 ```ts import Extension from '@ohos.application.DataShareExtensionAbility'; @@ -47,9 +90,9 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其 import dataSharePredicates from '@ohos.data.dataSharePredicates'; ``` -2. 数据提供方(也称服务端)继承于DataShareExtensionAbility,开发者可根据应用需求选择性重写其业务实现。例如数据提供方只提供查询服务,则可只重写查询接口。 +5. 数据提供方(也称服务端)继承于DataShareExtensionAbility,开发者可根据应用需求选择性重写其业务实现。例如数据提供方只提供查询服务,则可只重写查询接口。 -3. 数据提供方的业务实现由开发者自定义。例如可以通过数据库、读写文件或访问网络等各方式实现数据提供方的数据存储。 +6. 数据提供方的业务实现由开发者自定义。例如可以通过数据库、读写文件或访问网络等各方式实现数据提供方的数据存储。 ```ts const DB_NAME = "DB00.db"; @@ -57,29 +100,31 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其 const DDL_TBL_CREATE = "CREATE TABLE IF NOT EXISTS " + TBL_NAME + " (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, isStudent BOOLEAN, Binary BINARY)"; - + let rdbStore; let result; - + export default class DataShareExtAbility extends Extension { private rdbStore_; - + // 重写onCreate接口 onCreate(want, callback) { - result = this.context.cacheDir + '/datashare.txt' + result = this.context.cacheDir + '/datashare.txt'; // 业务实现使用RDB - rdb.getRdbStore(this.context, { - name: DB_NAME, - securityLevel: rdb.SecurityLevel.S1 - }, function (err, data) { - rdbStore = data; - rdbStore.executeSql(DDL_TBL_CREATE, [], function (err) { - console.log('DataShareExtAbility onCreate, executeSql done err:' + JSON.stringify(err)); + rdb.getRdbStore(this.context, { + name: DB_NAME, + securityLevel: rdb.SecurityLevel.S1 + }, function (err, data) { + rdbStore = data; + rdbStore.executeSql(DDL_TBL_CREATE, [], function (err) { + console.log('DataShareExtAbility onCreate, executeSql done err:' + JSON.stringify(err)); }); - callback(); + if (callback) { + callback(); + } }); } - + // 重写query接口 query(uri, predicates, columns, callback) { if (predicates == null || predicates == undefined) { @@ -103,7 +148,7 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其 }; ``` -4. 在module.json5中定义DataShareExtensionAbility。 +7. 在module.json5中定义DataShareExtensionAbility。 | Json重要字段 | 备注说明 | | ------------ | ------------------------------------------------------------ | @@ -137,20 +182,20 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其 import dataShare from '@ohos.data.dataShare'; import dataSharePredicates from '@ohos.data.dataSharePredicates'; ``` - + 2. 定义与数据提供方通信的URI字符串。 ```ts // 作为参数传递的URI,与module.json5中定义的URI的区别是多了一个"/",是因为作为参数传递的URI中,在第二个与第三个"/"中间,存在一个DeviceID的参数 let dseUri = ("datashare:///com.samples.datasharetest.DataShare"); ``` - + 3. 创建工具接口类对象。 ```ts let dsHelper; let abilityContext; - + export default class EntryAbility extends UIAbility { onWindowStageCreate(windowStage) { abilityContext = this.context; @@ -160,7 +205,7 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其 } } ``` - + 4. 获取到接口类对象后,便可利用其提供的接口访问提供方提供的服务,如进行数据的增删改查等。 ```ts @@ -168,7 +213,7 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其 let valuesBucket = { "name": "ZhangSan", "age": 21, "isStudent": false, "Binary": new Uint8Array([1, 2, 3]) }; let updateBucket = { "name": "LiSi", "age": 18, "isStudent": true, "Binary": new Uint8Array([1, 2, 3]) }; let predicates = new dataSharePredicates.DataSharePredicates(); - let valArray = new Array("*"); + let valArray = ['*']; // 插入一条数据 dsHelper.insert(dseUri, valuesBucket, (err, data) => { console.log("dsHelper insert result: " + data); @@ -183,7 +228,12 @@ DataShare即数据共享模块,提供了向其他应用共享以及管理其 }); // 删除指定的数据 dsHelper.delete(dseUri, predicates, (err, data) => { - console.log("dsHelper delete result: " + data); + console.log("dsHelper delete result: " + data); }); ``` - + +## 相关示例 + +针对DataShareExtensionAbility开发,有以下相关示例可供参考: + +[DataShareExtensionAbility:跨应用数据共享(ArkTS)(API9)(Full SDK)](https://gitee.com/openharmony/applications_app_samples/tree/master/data/CrossAppDataShare) diff --git a/zh-cn/application-dev/database/database-datashare-overview.md b/zh-cn/application-dev/database/database-datashare-overview.md index e7941b27edf42c6c474c9e1513c27730408b1890..daa43418005b612810ba8f8e1faa80be73b1bd98 100644 --- a/zh-cn/application-dev/database/database-datashare-overview.md +++ b/zh-cn/application-dev/database/database-datashare-overview.md @@ -4,6 +4,8 @@ DataShare即数据共享模块,用于应用管理其自身数据,也提供了向其他应用共享以及管理其数据的方法。目前仅支持同个设备上应用之间的数据共享。 +DataShare需要与[DataShareExtensionAbility](../reference/apis/js-apis-application-dataShareExtensionAbility.md)配合使用。 + 在许多应用场景中都需要用到数据共享,比如将电话簿、短信、媒体库中的数据共享给其他应用等。当然,不是所有的数据都允许其他应用访问,比如帐号、密码等;有些数据也只允许其他应用查询而不允许其删改,比如短信等。所以对于各种数据共享场景,DataShare这样一个安全、便捷的可以跨应用的数据共享机制是十分必需的。 对于数据提供者来说,无需进行繁琐的封装,可直接使用DataShare框架实现向其他应用共享数据;对于数据访问方来说,因DataShare的访问方式不会因数据提供的方式而不同,所以只需要学习和使用一套接口即可,大大减少了学习时间和开发难度。 @@ -16,22 +18,22 @@ DataShare即数据共享模块,用于应用管理其自身数据,也提供 - **数据提供方** - 提供数据及实现相关业务的应用程序,也称为生产者或服务端。 + DataShareExtensionAbility,基于Stage模型,选择性实现对数据的增、删、改、查以及文件打开等功能,并对外共享这些数据。实现跨应用数据共享的相关业务。 - **数据访问方** - 访问数据提供方所提供的数据或业务的应用程序,也称为消费者或客户端。 + DataShareHelper,由[createDataShareHelper()](../reference/apis/js-apis-data-dataShare.md#datasharecreatedatasharehelper)方法所创建的工具类,数据访问方利用工具类,便可访问数据提供方提供的数据。 - **数据集** 用户要插入的数据集合,可以是一条或多条数据。数据集以键值对的形式存在,键为字符串类型,值支持数字、字符串、布尔值、无符号整型数组等多种数据类型。 - **结果集** - + 用户查询之后的结果集合,其提供了灵活的数据访问方式,以便用户获取各项数据。 - + - **谓词** - + 用户访问数据库中的数据所使用的筛选条件,经常被应用在更新数据、删除数据和查询数据等场景。 ## 运作机制 @@ -51,4 +53,4 @@ DataShare即数据共享模块,用于应用管理其自身数据,也提供 - DataShare受到数据提供方所使用数据库的一些限制。例如支持的数据模型、Key的长度、Value的长度、每个应用程序支持同时打开数据库的最大数量等,都会受到使用的数据库的限制。 -- 因DataShare内部实现依赖于IPC通信,所以数据集、谓词、结果集等的载荷受到IPC通信的约束与限制。 \ No newline at end of file +- 因DataShare内部实现依赖于IPC通信,所以数据集、谓词、结果集等的载荷受到IPC通信的约束与限制。 diff --git a/zh-cn/application-dev/database/database-distributedobject-guidelines.md b/zh-cn/application-dev/database/database-distributedobject-guidelines.md index b18ca1730cce8cb3c8f89d63f4cfb3b140a7d763..795e6b412fa09a84b346f73772176f7c324b88f4 100644 --- a/zh-cn/application-dev/database/database-distributedobject-guidelines.md +++ b/zh-cn/application-dev/database/database-distributedobject-guidelines.md @@ -111,18 +111,43 @@ 这个权限还需要在应用首次启动的时候弹窗获取用户授权。 ```js + // FA模型 import featureAbility from '@ohos.ability.featureAbility'; - + function grantPermission() { console.info('grantPermission'); let context = featureAbility.getContext(); context.requestPermissionsFromUser(['ohos.permission.DISTRIBUTED_DATASYNC'], 666, function (result) { - console.info(`result.requestCode=${result.requestCode}`) - + console.info(`requestPermissionsFromUser CallBack`); + }) console.info('end grantPermission'); } - + + grantPermission(); + ``` + + ```ts + // Stage模型 + import UIAbility from '@ohos.app.ability.UIAbility'; + + let context = null; + + class EntryAbility extends UIAbility { + onWindowStageCreate(windowStage) { + context = this.context; + } + } + + function grantPermission() { + let permissions = ['ohos.permission.DISTRIBUTED_DATASYNC']; + context.requestPermissionsFromUser(permissions).then((data) => { + console.log('success: ${data}'); + }).catch((error) => { + console.error('failed: ${error}'); + }); + } + grantPermission(); ``` diff --git a/zh-cn/application-dev/dfx/Readme-CN.md b/zh-cn/application-dev/dfx/Readme-CN.md index 19cc3f983d8db3d4c3c294c88fa238e9c77620f3..85e8d877090528a7083c5e0af637631ad3700c90 100644 --- a/zh-cn/application-dev/dfx/Readme-CN.md +++ b/zh-cn/application-dev/dfx/Readme-CN.md @@ -1,11 +1,8 @@ # DFX -- 应用事件打点 - - [应用事件打点开发指导](hiappevent-guidelines.md) -- 性能打点跟踪 - - [性能打点跟踪开发指导](hitracemeter-guidelines.md) -- 分布式跟踪 - - [分布式跟踪开发指导](hitracechain-guidelines.md) +- [应用事件打点开发指导](hiappevent-guidelines.md) +- [性能打点跟踪开发指导](hitracemeter-guidelines.md) +- [分布式跟踪开发指导](hitracechain-guidelines.md) - 错误管理 - [错误管理开发指导](errormanager-guidelines.md) - [应用恢复开发指导](apprecovery-guidelines.md) \ No newline at end of file diff --git a/zh-cn/application-dev/quick-start/figures/hap-release.png b/zh-cn/application-dev/quick-start/figures/hap-release.png index 535c7ab70ee83ff9ef6ad69936e629c97a930035..8cdc278fa3b9c2cf3157ba475a2a6b235fefcff7 100644 Binary files a/zh-cn/application-dev/quick-start/figures/hap-release.png and b/zh-cn/application-dev/quick-start/figures/hap-release.png differ diff --git a/zh-cn/application-dev/quick-start/module-configuration-file.md b/zh-cn/application-dev/quick-start/module-configuration-file.md index 5573e9bae978552f14f38feaa12af8af63be2025..615cdf0841ef76b92b498d039de9154ed9aa0933 100644 --- a/zh-cn/application-dev/quick-start/module-configuration-file.md +++ b/zh-cn/application-dev/quick-start/module-configuration-file.md @@ -395,7 +395,11 @@ extensionAbilities示例: 该标签标识应用运行时需向系统申请的权限集合。 - **表8** **requestPermissions标签说明** +> **说明:** +> +> 在requestPermissions标签中配置的权限项将在应用级别生效,即该权限适用于整个应用程序。 + +**表8** **requestPermissions标签说明** | 属性 | 含义 | 类型 | 取值范围 | 默认值 | | -------- | -------- | -------- | -------- | -------- | diff --git a/zh-cn/application-dev/quick-start/multi-hap-build-view.md b/zh-cn/application-dev/quick-start/multi-hap-build-view.md index 35255cd1a9f579149b4dbc3ee98cb6f6d26b8e90..b45343e654d906902445f943bcbd69edbd75f48c 100644 --- a/zh-cn/application-dev/quick-start/multi-hap-build-view.md +++ b/zh-cn/application-dev/quick-start/multi-hap-build-view.md @@ -16,8 +16,8 @@ IDE支持在一个应用工程中进行多个HAP的开发与构建,如[多HAP **说明:** - 该目录由IDE自动生成,名称不可更改。 - AppScope目录下面的文件名与Entry、Feature模块下面的文件名不能重复,否则IDE会报错。 - - entry或者featrue目录(名称可由开发者自定义) - - 由IDE引导开发者创建的Module,在该Module中实现应用的业务逻辑;可以创建多个Module,图中entry和featrue即是创建的两个Module。 + - entry或者feature目录(名称可由开发者自定义) + - 由IDE引导开发者创建的Module,在该Module中实现应用的业务逻辑;可以创建多个Module,图中entry和feature即是创建的两个Module。 - resources目录:放置该Module中所使用到的资源。 - ets目录:开发者的业务逻辑。 - [module.json5](module-configuration-file.md):配置该Module的描述信息,如:Module的名称、Module的入口代码路径、包含的组件信息等。 diff --git a/zh-cn/application-dev/quick-start/multi-hap-release-deployment.md b/zh-cn/application-dev/quick-start/multi-hap-release-deployment.md index 753eeee6cd73fb8f4a5adf2ffaa77799f32fb1bf..d592140c8371f4a16346248d401cc3f39a91d303 100644 --- a/zh-cn/application-dev/quick-start/multi-hap-release-deployment.md +++ b/zh-cn/application-dev/quick-start/multi-hap-release-deployment.md @@ -9,29 +9,37 @@ 开发者通过[DevEco Studio](https://developer.harmonyos.com/cn/develop/deveco-studio)工具按照业务的需要创建多个Module,在相应的Module中完成自身业务的开发。 ## 调试 -通过DevEco Studio编译打包,生成单个或者多个HAP,即可基于HAP进行调试。 +通过DevEco Studio编译打包,生成单个或者多个HAP,即可基于HAP进行调试。在调试前,需要先安装或更新HAP,以下介绍具体做法。 * 使用DevEco Studio进行调试 使用指导可参考[应用程序包调试方法](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-debugging-and-running-0000001263040487#section10491183521520),其中包括了单HAP与多HAP通过DevEco Studio工具的安装调试方法。 -* 使用[hdc_std工具](../../device-dev/subsystems/subsys-toolchain-hdc-guide.md)(可通过OpenHarmony SDK获取,在SDK的toolchains目录下)进行调试 +* 使用[hdc工具](../../device-dev/subsystems/subsys-toolchain-hdc-guide.md)(可通过OpenHarmony SDK获取,在SDK的toolchains目录下)进行调试 + + 在调试前,需要先安装或更新HAP,此处有两种方式。 + + 1. 直接使用hdc安装、更新HAP。 + + HAP的路径为开发平台上的文件路径,以Windows开发平台为例,命令参考如下: - 使用hdc_std安装HAP时,HAP的路径为开发平台上的文件路径,以Windows开发平台为例,命令参考如下: ``` // 安装、更新,多HAP可以指定多个文件路径 - hdc_std install C:\entry.hap C:\feature.hap + hdc install C:\entry.hap C:\feature.hap // 执行结果 install bundle successfully. // 卸载 - hdc_std uninstall com.example.myapplication + hdc uninstall com.example.myapplication // 执行结果 uninstall bundle successfully. ``` + + 2. 先执行hdc shell,再使用bm工具安装、更新HAP。 -* 使用[bm工具](../../application-dev/tools/bm-tool.md)进行调试 - - 使用bm工具进行安装、更新HAP时,传入的文件路径为真机上 的文件路径,命令参考如下: + HAP的文件路径为真机上的文件路径,命令参考如下: + ``` + // 先执行hdc shell才能使用bm工具 + hdc shell // 安装、更新,多HAP可以指定多个文件路径 bm install -p /data/app/entry.hap /data/app/feature.hap // 执行结果 @@ -41,6 +49,8 @@ // 执行结果 uninstall bundle successfully. ``` + 完成HAP安装或更新后,即可参考相关调试命令进行[调试](https://docs.openharmony.cn/pages/v3.2Beta/zh-cn/application-dev/tools/aa-tool.md/)。 + ## 发布 当开发的程序包满足发布要求时,可以在工具中打包编译生成App包。将该App包上架到应用市场云端,应用市场会对上架的App包校验签名,校验签名通过后会将App包中的HAP拆分出来,同时对拆分出的HAP重新添加签名,然后对HAP进行分发。 diff --git a/zh-cn/application-dev/quick-start/multi-hap-rules.md b/zh-cn/application-dev/quick-start/multi-hap-rules.md index df77b090d6dd40f522b6c9d779a22104aff5d7de..f93b0a208a9962263a897f6d8a711887ebfa38ab 100644 --- a/zh-cn/application-dev/quick-start/multi-hap-rules.md +++ b/zh-cn/application-dev/quick-start/multi-hap-rules.md @@ -7,7 +7,7 @@ - App Pack包中所有HAP的配置文件中的versionCode标签必须一致。 -- App Pack包中同一设备类型的所有HAP中必须有且只有一个entry类型的HAP,featrue类型的HAP可以有一个或者多个,也可以没有。 +- App Pack包中同一设备类型的所有HAP中必须有且只有一个entry类型的HAP,feature类型的HAP可以有一个或者多个,也可以没有。 - App Pack包中的每个HAP必须配置moduleName标签,同一设备类型的所有HAP对应的moduleName标签必须唯一。 diff --git a/zh-cn/application-dev/reference/apis/figures/Colorsucker.png b/zh-cn/application-dev/reference/apis/figures/Colorsucker.png new file mode 100644 index 0000000000000000000000000000000000000000..40e19e94e129682fdeb461cceef0f0a57c64d66d Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Colorsucker.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Copy.png b/zh-cn/application-dev/reference/apis/figures/Copy.png new file mode 100644 index 0000000000000000000000000000000000000000..212517131bf176661ae85c7513def022dbb50559 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Copy.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Cross.png b/zh-cn/application-dev/reference/apis/figures/Cross.png new file mode 100644 index 0000000000000000000000000000000000000000..58625855d1cd96ea8a29ab9c3c201d90ac717e83 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Cross.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Default.png b/zh-cn/application-dev/reference/apis/figures/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..6308171fe9d612050376f6a5dfdc870e51bc92db Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Default.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/East.png b/zh-cn/application-dev/reference/apis/figures/East.png new file mode 100644 index 0000000000000000000000000000000000000000..4942bc948a17e78c68538ccc3ae886bc0a548737 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/East.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Forbid.png b/zh-cn/application-dev/reference/apis/figures/Forbid.png new file mode 100644 index 0000000000000000000000000000000000000000..c5c43d4b4b8aaf6d53931586e519a583d064fec7 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Forbid.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Hand_Grabbing.png b/zh-cn/application-dev/reference/apis/figures/Hand_Grabbing.png new file mode 100644 index 0000000000000000000000000000000000000000..09ab3121d15e27a975fbaa228aadb2399e4492b9 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Hand_Grabbing.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Hand_Open.png b/zh-cn/application-dev/reference/apis/figures/Hand_Open.png new file mode 100644 index 0000000000000000000000000000000000000000..e1cb7a972ec2d372f0d75cbe80159c4a66e74e10 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Hand_Open.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Hand_Pointing.png b/zh-cn/application-dev/reference/apis/figures/Hand_Pointing.png new file mode 100644 index 0000000000000000000000000000000000000000..f0daa0dad6154a1846fb9fe4b7f441b3ab6f8b5b Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Hand_Pointing.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Help.png b/zh-cn/application-dev/reference/apis/figures/Help.png new file mode 100644 index 0000000000000000000000000000000000000000..ffea2f1c072f1682ca8e837ddb947352a553917e Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Help.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/MID_Btn_East.png b/zh-cn/application-dev/reference/apis/figures/MID_Btn_East.png new file mode 100644 index 0000000000000000000000000000000000000000..921cd4ceea8d97ffb6d4c45008d6428cda998cce Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/MID_Btn_East.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/MID_Btn_North.png b/zh-cn/application-dev/reference/apis/figures/MID_Btn_North.png new file mode 100644 index 0000000000000000000000000000000000000000..5769575ddb435f5e8f5f8993d9edc13749376293 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/MID_Btn_North.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_East.png b/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_East.png new file mode 100644 index 0000000000000000000000000000000000000000..3daf141241dec309c98ae10266bb153af163f3d9 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_East.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_South.png b/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_South.png new file mode 100644 index 0000000000000000000000000000000000000000..1f56c4cd8f1498293f5fc4a5ab2c321159fb07dd Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_South.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_South_West_East.png b/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_South_West_East.png new file mode 100644 index 0000000000000000000000000000000000000000..b45dbde27e59121bdfc4e1752759176fb835027c Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_South_West_East.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_West.png b/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_West.png new file mode 100644 index 0000000000000000000000000000000000000000..bde82d08f7a098106b4f4c31d55a84a989e25a8d Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/MID_Btn_North_West.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/MID_Btn_South.png b/zh-cn/application-dev/reference/apis/figures/MID_Btn_South.png new file mode 100644 index 0000000000000000000000000000000000000000..e7d5afb6f8f8b1b2939b9e18bdb8b8b3d9729f4d Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/MID_Btn_South.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/MID_Btn_South_East.png b/zh-cn/application-dev/reference/apis/figures/MID_Btn_South_East.png new file mode 100644 index 0000000000000000000000000000000000000000..44284a6e04a19ca8453b46ea81db099ad84cfaa2 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/MID_Btn_South_East.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/MID_Btn_South_West.png b/zh-cn/application-dev/reference/apis/figures/MID_Btn_South_West.png new file mode 100644 index 0000000000000000000000000000000000000000..c8632f09160c51ca573d58d3ffb1370058b880ce Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/MID_Btn_South_West.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/MID_Btn_West.png b/zh-cn/application-dev/reference/apis/figures/MID_Btn_West.png new file mode 100644 index 0000000000000000000000000000000000000000..7460bc18d63e000689755b39b8ead3c3609ee4f5 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/MID_Btn_West.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Move.png b/zh-cn/application-dev/reference/apis/figures/Move.png new file mode 100644 index 0000000000000000000000000000000000000000..00f64e54dca0d0731b595b4ddc9e0f7294c40c72 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Move.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/North.png b/zh-cn/application-dev/reference/apis/figures/North.png new file mode 100644 index 0000000000000000000000000000000000000000..b022ac2e92d4cfb07efde7f3bf4b7ada8454e594 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/North.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/North_East.png b/zh-cn/application-dev/reference/apis/figures/North_East.png new file mode 100644 index 0000000000000000000000000000000000000000..f6134237f38cd681b319c95bf1b77017bc1524b4 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/North_East.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/North_East_South_West.png b/zh-cn/application-dev/reference/apis/figures/North_East_South_West.png new file mode 100644 index 0000000000000000000000000000000000000000..908886aeb3f8df976bb67b2261e8e52e7222e622 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/North_East_South_West.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/North_South.png b/zh-cn/application-dev/reference/apis/figures/North_South.png new file mode 100644 index 0000000000000000000000000000000000000000..b15678a6b178ca0d9b13f7c7f58d025ab7a1ce12 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/North_South.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/North_West.png b/zh-cn/application-dev/reference/apis/figures/North_West.png new file mode 100644 index 0000000000000000000000000000000000000000..cfbe4c8910575c12afde4b5904d79b5beda0c162 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/North_West.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/North_West_South_East.png b/zh-cn/application-dev/reference/apis/figures/North_West_South_East.png new file mode 100644 index 0000000000000000000000000000000000000000..09fa728fbb45082a0524c284b8906b91d7b3a6f7 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/North_West_South_East.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Resize_Left_Right.png b/zh-cn/application-dev/reference/apis/figures/Resize_Left_Right.png new file mode 100644 index 0000000000000000000000000000000000000000..83e7671e3ffea65260bdb36d8b392fa78d55cd4e Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Resize_Left_Right.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Resize_Up_Down.png b/zh-cn/application-dev/reference/apis/figures/Resize_Up_Down.png new file mode 100644 index 0000000000000000000000000000000000000000..db8bccf89b6e5260db3875a22b5200fabd30c23c Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Resize_Up_Down.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Screenshot_Cross.png b/zh-cn/application-dev/reference/apis/figures/Screenshot_Cross.png new file mode 100644 index 0000000000000000000000000000000000000000..27460c082507e71082d11cd8a20eee2fc24da28d Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Screenshot_Cross.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Screenshot_Cursor.png b/zh-cn/application-dev/reference/apis/figures/Screenshot_Cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..71abea4ca351988a92b8a5b2b2228321df31aecc Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Screenshot_Cursor.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/South.png b/zh-cn/application-dev/reference/apis/figures/South.png new file mode 100644 index 0000000000000000000000000000000000000000..205f5cf5f59ce8318357e168eee0d66c119c233d Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/South.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/South_East.png b/zh-cn/application-dev/reference/apis/figures/South_East.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a70d2d068271bfe10e4ce724ae27e4e5ba96d9 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/South_East.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/South_West.png b/zh-cn/application-dev/reference/apis/figures/South_West.png new file mode 100644 index 0000000000000000000000000000000000000000..2ae8e9a9fa396bb6ed0f385b7b99b66830357a40 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/South_West.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Text_Cursor.png b/zh-cn/application-dev/reference/apis/figures/Text_Cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd8d2200bc7455e562da003069702832db4eb20 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Text_Cursor.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/West.png b/zh-cn/application-dev/reference/apis/figures/West.png new file mode 100644 index 0000000000000000000000000000000000000000..2cad91aca31f2e2b257c523e80e6fc2d71fa2cee Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/West.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/West_East.png b/zh-cn/application-dev/reference/apis/figures/West_East.png new file mode 100644 index 0000000000000000000000000000000000000000..6be4aa9d05f22a10cd00fa6aec36f95aee2b332d Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/West_East.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Zoom_In.png b/zh-cn/application-dev/reference/apis/figures/Zoom_In.png new file mode 100644 index 0000000000000000000000000000000000000000..2e928ec070fcd05a44cd9b1abd041128287b0528 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Zoom_In.png differ diff --git a/zh-cn/application-dev/reference/apis/figures/Zoom_Out.png b/zh-cn/application-dev/reference/apis/figures/Zoom_Out.png new file mode 100644 index 0000000000000000000000000000000000000000..d675d0e517ba436724540a39f60dfa75c256f0d0 Binary files /dev/null and b/zh-cn/application-dev/reference/apis/figures/Zoom_Out.png differ diff --git a/zh-cn/application-dev/reference/apis/js-apis-ability-ability.md b/zh-cn/application-dev/reference/apis/js-apis-ability-ability.md index 88c738004e9b4be3bf877c8e4f0c41c4e7e81247..2ec899589fce0fd7deb34e659ed1261c23bd6a6c 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-ability-ability.md +++ b/zh-cn/application-dev/reference/apis/js-apis-ability-ability.md @@ -10,7 +10,7 @@ Ability模块将二级模块API组织在一起方便开发者进行导出。 ## 导入模块 ```ts -import ability from '@ohos.ability.ability' +import ability from '@ohos.ability.ability'; ``` **系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase diff --git a/zh-cn/application-dev/reference/apis/js-apis-ability-context.md b/zh-cn/application-dev/reference/apis/js-apis-ability-context.md index 68913e83d94e67ca66b91b7f1546f83fa822e09e..1879a7eaa8aa05b3c2100d26b9cafb48350f19f3 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-ability-context.md +++ b/zh-cn/application-dev/reference/apis/js-apis-ability-context.md @@ -65,8 +65,8 @@ startAbility(want: Want, callback: AsyncCallback<void>): void; ```ts let want = { - bundleName: "com.example.myapp", - abilityName: "MyAbility" + bundleName: 'com.example.myapp', + abilityName: 'MyAbility' }; try { @@ -120,9 +120,9 @@ startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void& ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let options = { windowMode: 0 @@ -183,8 +183,8 @@ startAbility(want: Want, options?: StartOptions): Promise<void>; ```ts let want = { - bundleName: "com.example.myapp", - abilityName: "MyAbility" + bundleName: 'com.example.myapp', + abilityName: 'MyAbility' }; let options = { windowMode: 0, @@ -243,9 +243,9 @@ startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>): ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -257,8 +257,8 @@ startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>): return; } // 执行正常业务 - console.log("startAbilityForResult succeed, result.resultCode = " + - result.resultCode) + console.log('startAbilityForResult succeed, result.resultCode = ' + + result.resultCode); }); } catch (paramError) { // 处理入参错误异常 @@ -302,9 +302,9 @@ startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let options = { windowMode: 0, @@ -319,8 +319,8 @@ startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback return; } // 执行正常业务 - console.log("startAbilityForResult succeed, result.resultCode = " + - result.resultCode) + console.log('startAbilityForResult succeed, result.resultCode = ' + + result.resultCode); }); } catch (paramError) { // 处理入参错误异常 @@ -371,8 +371,8 @@ startAbilityForResult(want: Want, options?: StartOptions): Promise<AbilityRes ```ts let want = { - bundleName: "com.example.myapp", - abilityName: "MyAbility" + bundleName: 'com.example.myapp', + abilityName: 'MyAbility' }; let options = { windowMode: 0, @@ -382,7 +382,7 @@ startAbilityForResult(want: Want, options?: StartOptions): Promise<AbilityRes this.context.startAbilityForResult(want, options) .then((result) => { // 执行正常业务 - console.log("startAbilityForResult succeed, result.resultCode = " + result.resultCode); + console.log('startAbilityForResult succeed, result.resultCode = ' + result.resultCode); }) .catch((error) => { // 处理业务逻辑错误 @@ -432,9 +432,9 @@ startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncC ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; @@ -447,8 +447,8 @@ startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncC return; } // 执行正常业务 - console.log("startAbilityForResultWithAccount succeed, result.resultCode = " + - result.resultCode) + console.log('startAbilityForResultWithAccount succeed, result.resultCode = ' + + result.resultCode); }); } catch (paramError) { // 处理入参错误异常 @@ -495,9 +495,9 @@ startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOp ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; let options = { @@ -513,8 +513,8 @@ startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOp return; } // 执行正常业务 - console.log("startAbilityForResultWithAccount succeed, result.resultCode = " + - result.resultCode) + console.log('startAbilityForResultWithAccount succeed, result.resultCode = ' + + result.resultCode); }); } catch (paramError) { // 处理入参错误异常 @@ -566,9 +566,9 @@ startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartO ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; let options = { @@ -579,8 +579,8 @@ startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartO this.context.startAbilityForResultWithAccount(want, accountId, options) .then((result) => { // 执行正常业务 - console.log("startAbilityForResultWithAccount succeed, result.resultCode = " + - result.resultCode) + console.log('startAbilityForResultWithAccount succeed, result.resultCode = ' + + result.resultCode); }) .catch((error) => { // 处理业务逻辑错误 @@ -621,9 +621,9 @@ startServiceExtensionAbility(want: Want, callback: AsyncCallback\): void; ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -671,9 +671,9 @@ startServiceExtensionAbility(want: Want): Promise\; ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -725,9 +725,9 @@ startServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; @@ -779,9 +779,9 @@ startServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise\ ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; @@ -830,9 +830,9 @@ stopServiceExtensionAbility(want: Want, callback: AsyncCallback\): void; ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -880,9 +880,9 @@ stopServiceExtensionAbility(want: Want): Promise\; ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -934,9 +934,9 @@ stopServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; @@ -988,9 +988,9 @@ stopServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise\< ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; @@ -1110,15 +1110,15 @@ terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback<voi ```ts let want = { - bundleName: "com.extreme.myapplication", - abilityName: "SecondAbility" - } + bundleName: 'com.extreme.myapplication', + abilityName: 'SecondAbility' + }; let resultCode = 100; // 返回给接口调用方AbilityResult信息 let abilityResult = { want, resultCode - } + }; try { this.context.terminateSelfWithResult(abilityResult, (error) => { @@ -1172,15 +1172,15 @@ terminateSelfWithResult(parameter: AbilityResult): Promise<void>; ```ts let want = { - bundleName: "com.extreme.myapplication", - abilityName: "SecondAbility" - } + bundleName: 'com.extreme.myapplication', + abilityName: 'SecondAbility' + }; let resultCode = 100; // 返回给接口调用方AbilityResult信息 let abilityResult = { want, resultCode - } + }; try { this.context.terminateSelfWithResult(abilityResult) @@ -1234,9 +1234,9 @@ connectServiceExtensionAbility(want: Want, options: ConnectOptions): number; ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let options = { onConnect(elementName, remote) { console.log('----------- onConnect -----------') }, @@ -1292,9 +1292,9 @@ connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; let options = { @@ -1446,10 +1446,10 @@ startAbilityByCall(want: Want): Promise<Caller>; // 后台启动Ability,不配置parameters let wantBackground = { - bundleName: "com.example.myservice", - moduleName: "entry", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + moduleName: 'entry', + abilityName: 'MainAbility', + deviceId: '' }; try { @@ -1475,14 +1475,14 @@ startAbilityByCall(want: Want): Promise<Caller>; ```ts let caller = undefined; - // 前台启动Ability,将parameters中的"ohos.aafwk.param.callAbilityToForeground"配置为true + // 前台启动Ability,将parameters中的'ohos.aafwk.param.callAbilityToForeground'配置为true let wantForeground = { - bundleName: "com.example.myservice", - moduleName: "entry", - abilityName: "MainAbility", - deviceId: "", + bundleName: 'com.example.myservice', + moduleName: 'entry', + abilityName: 'MainAbility', + deviceId: '', parameters: { - "ohos.aafwk.param.callAbilityToForeground": true + 'ohos.aafwk.param.callAbilityToForeground': true } }; @@ -1540,9 +1540,9 @@ startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback\< ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; @@ -1602,9 +1602,9 @@ startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, ca ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; let options = { @@ -1666,9 +1666,9 @@ startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions): ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; let options = { @@ -1711,7 +1711,7 @@ setMissionLabel(label: string, callback:AsyncCallback<void>): void; **示例:** ```ts - this.context.setMissionLabel("test",(result) => { + this.context.setMissionLabel('test',(result) => { console.log('setMissionLabel result:' + JSON.stringify(result)); }); ``` @@ -1740,7 +1740,7 @@ setMissionLabel(label: string): Promise<void>; **示例:** ```ts - this.context.setMissionLabel("test").then(() => { + this.context.setMissionLabel('test').then(() => { console.log('success'); }).catch((error) => { console.log('failed:' + JSON.stringify(error)); @@ -1780,7 +1780,7 @@ setMissionIcon(icon: image.PixelMap, callback:AsyncCallback\): void; imagePixelMap = data; }) .catch((err) => { - console.log('--------- createPixelMap fail, err: ---------', err) + console.log('--------- createPixelMap fail, err: ---------', err); }); this.context.setMissionIcon(imagePixelMap, (err) => { console.log('---------- setMissionIcon fail, err: -----------', err); @@ -1827,7 +1827,7 @@ setMissionIcon(icon: image.PixelMap): Promise\; imagePixelMap = data; }) .catch((err) => { - console.log('--------- createPixelMap fail, err: ---------', err) + console.log('--------- createPixelMap fail, err: ---------', err); }); this.context.setMissionIcon(imagePixelMap) .then(() => { diff --git a/zh-cn/application-dev/reference/apis/js-apis-ability-dataUriUtils.md b/zh-cn/application-dev/reference/apis/js-apis-ability-dataUriUtils.md index 0d5aaf26a22bdc5cd384f4412131cbbd1e2dec6b..8b12e20e1b7dd9c859d70bcd4f17581c8d2fdeec 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-ability-dataUriUtils.md +++ b/zh-cn/application-dev/reference/apis/js-apis-ability-dataUriUtils.md @@ -35,7 +35,7 @@ getId(uri: string): number **示例:** ```ts -let id = dataUriUtils.getId("com.example.dataUriUtils/1221"); +let id = dataUriUtils.getId('com.example.dataUriUtils/1221'); ``` @@ -66,9 +66,9 @@ attachId(uri: string, id: number): string ```ts let id = 1122; let uri = dataUriUtils.attachId( - "com.example.dataUriUtils", + 'com.example.dataUriUtils', id, -) +); ``` @@ -96,7 +96,7 @@ deleteId(uri: string): string **示例:** ```ts -let uri = dataUriUtils.deleteId("com.example.dataUriUtils/1221") +let uri = dataUriUtils.deleteId('com.example.dataUriUtils/1221'); ``` @@ -127,8 +127,8 @@ updateId(uri: string, id: number): string ```ts let id = 1122; let uri = dataUriUtils.updateId( - "com.example.dataUriUtils/1221", + 'com.example.dataUriUtils/1221', id -) +); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-ability-errorCode.md b/zh-cn/application-dev/reference/apis/js-apis-ability-errorCode.md index b66275351ef87e69938efc7cbc1a743efe44b7b2..8b6f2227c3165c6f946095c03e77ed049500c240 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-ability-errorCode.md +++ b/zh-cn/application-dev/reference/apis/js-apis-ability-errorCode.md @@ -9,7 +9,7 @@ ErrorCode定义启动Ability时返回的错误码,包括无效的参数、权 ## 导入模块 ```ts -import errorCode from '@ohos.ability.errorCode' +import errorCode from '@ohos.ability.errorCode'; ``` ## ErrorCode diff --git a/zh-cn/application-dev/reference/apis/js-apis-ability-featureAbility.md b/zh-cn/application-dev/reference/apis/js-apis-ability-featureAbility.md index 888f7536074351fc4314d25d7f6ee7c6b4462be7..8d12235a119f975a73fa23905411bfd115bee8fb 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-ability-featureAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-ability-featureAbility.md @@ -46,19 +46,19 @@ featureAbility.startAbility( { want: { - action: "", - entities: [""], - type: "", + action: '', + entities: [''], + type: '', flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.myapplication", + deviceId: '', + bundleName: 'com.example.myapplication', /* FA模型中abilityName由package + Ability name组成 */ - abilityName: "com.example.myapplication.secondAbility", - uri: "" + abilityName: 'com.example.myapplication.secondAbility', + uri: '' }, }, (err, data) => { - console.info("startAbility err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('startAbility err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); } ); ``` @@ -99,19 +99,19 @@ featureAbility.startAbility( { want: { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", + action: 'action.system.home', + entities: ['entity.system.home'], + type: 'MIMETYPE', flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.myapplication", + deviceId: '', + bundleName: 'com.example.myapplication', /* FA模型中abilityName由package + Ability name组成 */ - abilityName: "com.example.myapplication.secondAbility", - uri: "" + abilityName: 'com.example.myapplication.secondAbility', + uri: '' }, } ).then((data) => { - console.info("startAbility data: " + JSON.stringify(data)); + console.info('startAbility data: ' + JSON.stringify(data)); }); ``` @@ -140,7 +140,7 @@ acquireDataAbilityHelper(uri: string): DataAbilityHelper ```ts import featureAbility from '@ohos.ability.featureAbility'; let dataAbilityHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); ``` @@ -176,19 +176,19 @@ featureAbility.startAbilityForResult( { want: { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", + action: 'action.system.home', + entities: ['entity.system.home'], + type: 'MIMETYPE', flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.myapplication", + deviceId: '', + bundleName: 'com.example.myapplication', /* FA模型中abilityName由package + Ability name组成 */ - abilityName: "com.example.myapplication.secondAbility", - uri:"" + abilityName: 'com.example.myapplication.secondAbility', + uri:'' }, }, (err, data) => { - console.info("startAbilityForResult err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('startAbilityForResult err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); } ); ``` @@ -230,30 +230,30 @@ featureAbility.startAbilityForResult( { want: { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", + action: 'action.system.home', + entities: ['entity.system.home'], + type: 'MIMETYPE', flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.myapplication", + deviceId: '', + bundleName: 'com.example.myapplication', /* FA模型中abilityName由package + Ability name组成 */ - abilityName: "com.example.myapplication.secondAbility", - uri:"", + abilityName: 'com.example.myapplication.secondAbility', + uri:'', parameters: { mykey0: 1111, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "xxxxxxxxxxxxxxxxxxxxxx", + mykey2: '[1, 2, 3]', + mykey3: 'xxxxxxxxxxxxxxxxxxxxxx', mykey4: [1, 15], mykey5: [false, true, false], - mykey6: ["aaaaaa", "bbbbb", "ccccccccccc"], + mykey6: ['aaaaaa', 'bbbbb', 'ccccccccccc'], mykey7: true, }, }, }, ).then((data) => { - console.info("startAbilityForResult data: " + JSON.stringify(data)); + console.info('startAbilityForResult data: ' + JSON.stringify(data)); }); ``` @@ -282,29 +282,29 @@ featureAbility.terminateSelfWithResult( resultCode: 1, want: { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", + action: 'action.system.home', + entities: ['entity.system.home'], + type: 'MIMETYPE', flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.myapplication", + deviceId: '', + bundleName: 'com.example.myapplication', /* FA模型中abilityName由package + Ability name组成 */ - abilityName: "com.example.myapplication.secondAbility", - uri:"", + abilityName: 'com.example.myapplication.secondAbility', + uri:'', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [1, 15], mykey5: [false, true, false], - mykey6: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey6: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey7: true, } }, }, (err) => { - console.info("err: " + JSON.stringify(err)) + console.error('err: ' + JSON.stringify(err)); } ); ``` @@ -339,29 +339,29 @@ featureAbility.terminateSelfWithResult( resultCode: 1, want: { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", + action: 'action.system.home', + entities: ['entity.system.home'], + type: 'MIMETYPE', flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.myapplication", + deviceId: '', + bundleName: 'com.example.myapplication', /* FA模型中abilityName由package + Ability name组成 */ - abilityName: "com.example.myapplication.secondAbility", - uri:"", + abilityName: 'com.example.myapplication.secondAbility', + uri:'', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [1, 15], mykey5: [false, true, false], - mykey6: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey6: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey7: true, } }, } ).then((data) => { - console.info("==========================>terminateSelfWithResult=======================>"); + console.info('==========================>terminateSelfWithResult=======================>'); }); ``` @@ -384,7 +384,7 @@ hasWindowFocus(callback: AsyncCallback\): void ```ts import featureAbility from '@ohos.ability.featureAbility'; featureAbility.hasWindowFocus((err, data) => { - console.info("hasWindowFocus err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('hasWindowFocus err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -407,7 +407,7 @@ hasWindowFocus(): Promise\ ```ts import featureAbility from '@ohos.ability.featureAbility'; featureAbility.hasWindowFocus().then((data) => { - console.info("hasWindowFocus data: " + JSON.stringify(data)); + console.info('hasWindowFocus data: ' + JSON.stringify(data)); }); ``` @@ -430,7 +430,7 @@ getWant(callback: AsyncCallback\): void ```ts import featureAbility from '@ohos.ability.featureAbility'; featureAbility.getWant((err, data) => { - console.info("getWant err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getWant err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -453,7 +453,7 @@ getWant(): Promise\ ```ts import featureAbility from '@ohos.ability.featureAbility'; featureAbility.getWant().then((data) => { - console.info("getWant data: " + JSON.stringify(data)); + console.info('getWant data: ' + JSON.stringify(data)); }); ``` @@ -475,9 +475,9 @@ getContext(): Context ```ts import featureAbility from '@ohos.ability.featureAbility'; -let context = featureAbility.getContext() +let context = featureAbility.getContext(); context.getBundleName((err, data) => { - console.info("getBundleName err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getBundleName err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -501,7 +501,7 @@ terminateSelf(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; featureAbility.terminateSelf( (err) => { - console.info("err: " + JSON.stringify(err)) + console.error('err: ' + JSON.stringify(err)); } ) ``` @@ -525,7 +525,7 @@ terminateSelf(): Promise\ ```ts import featureAbility from '@ohos.ability.featureAbility'; featureAbility.terminateSelf().then((data) => { - console.info("==========================>terminateSelf=======================>"); + console.info('==========================>terminateSelf=======================>'); }); ``` @@ -566,9 +566,9 @@ function onFailedCallback(code){ } let connectId = featureAbility.connectAbility( { - deviceId: "", - bundleName: "com.ix.ServiceAbility", - abilityName: "com.ix.ServiceAbility.ServiceAbilityA", + deviceId: '', + bundleName: 'com.ix.ServiceAbility', + abilityName: 'com.ix.ServiceAbility.ServiceAbilityA', }, { onConnect: onConnectCallback, @@ -602,15 +602,15 @@ function onConnectCallback(element, remote){ console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); } function onDisconnectCallback(element){ - console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) + console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId); } function onFailedCallback(code){ - console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code) + console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code); } let connectId = featureAbility.connectAbility( { - bundleName: "com.ix.ServiceAbility", - abilityName: "com.ix.ServiceAbility.ServiceAbilityA", + bundleName: 'com.ix.ServiceAbility', + abilityName: 'com.ix.ServiceAbility.ServiceAbilityA', }, { onConnect: onConnectCallback, @@ -620,8 +620,8 @@ let connectId = featureAbility.connectAbility( ); featureAbility.disconnectAbility(connectId, (err) => { - console.log("featureAbilityTest disconnectAbility err====>" - + ("json err=") + JSON.stringify(err)); + console.error('featureAbilityTest disconnectAbility err====>' + + ('json err=') + JSON.stringify(err)); }); ``` @@ -654,15 +654,15 @@ function onConnectCallback(element, remote){ console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); } function onDisconnectCallback(element){ - console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) + console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId); } function onFailedCallback(code){ - console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code) + console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code); } let connectId = featureAbility.connectAbility( { - bundleName: "com.ix.ServiceAbility", - abilityName: "com.ix.ServiceAbility.ServiceAbilityA", + bundleName: 'com.ix.ServiceAbility', + abilityName: 'com.ix.ServiceAbility.ServiceAbilityA', }, { onConnect: onConnectCallback, @@ -674,7 +674,7 @@ let connectId = featureAbility.connectAbility( featureAbility.disconnectAbility(connectId).then((data) => { console.log('data : ' + data); }).catch((error)=>{ - console.log('featureAbilityTest result errCode : ' + error.code); + console.error('featureAbilityTest result errCode : ' + error.code); }); ``` @@ -697,7 +697,7 @@ getWindow(callback: AsyncCallback\): void ```ts featureAbility.getWindow((err, data) => { - console.info("getWindow err: " + JSON.stringify(err) + "data: " + typeof(data)); + console.info('getWindow err: ' + JSON.stringify(err) + 'data: ' + typeof(data)); }); ``` @@ -719,7 +719,7 @@ getWindow(): Promise\; ```ts featureAbility.getWindow().then((data) => { - console.info("getWindow data: " + typeof(data)); + console.info('getWindow data: ' + typeof(data)); }); ``` @@ -760,9 +760,9 @@ featureAbility.AbilityStartSetting.BOUNDS_KEY | 名称 | 值 | 说明 | | ---------------------------- | --------------- | ---------------------------------------- | -| BOUNDS_KEY7+ | "abilityBounds" | 窗口显示大小属性的参数名。 | -| WINDOW_MODE_KEY7+ | "windowMode" | 窗口显示模式属性的参数名。| -| DISPLAY_ID_KEY7+ | "displayId" | 窗口显示设备ID属性的参数名。 | +| BOUNDS_KEY7+ | 'abilityBounds' | 窗口显示大小属性的参数名。 | +| WINDOW_MODE_KEY7+ | 'windowMode' | 窗口显示模式属性的参数名。| +| DISPLAY_ID_KEY7+ | 'displayId' | 窗口显示设备ID属性的参数名。 | ## ErrorCode diff --git a/zh-cn/application-dev/reference/apis/js-apis-ability-particleAbility.md b/zh-cn/application-dev/reference/apis/js-apis-ability-particleAbility.md index ff2c0379e3a934a26ba54e8da63f77b240540fef..e72eb4246eac4e18116566d4a3556f723a5de2ff 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-ability-particleAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-ability-particleAbility.md @@ -14,7 +14,7 @@ particleAbility模块用来对Data和Service类型的Ability进行操作。 ## 导入模块 ```ts -import particleAbility from '@ohos.ability.particleAbility' +import particleAbility from '@ohos.ability.particleAbility'; ``` ## particleAbility.startAbility @@ -40,27 +40,27 @@ startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\): **示例:** ```ts -import particleAbility from '@ohos.ability.particleAbility' -import wantConstant from '@ohos.ability.wantConstant' +import particleAbility from '@ohos.ability.particleAbility'; +import wantConstant from '@ohos.ability.wantConstant'; particleAbility.startAbility( { want: { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", + action: 'action.system.home', + entities: ['entity.system.home'], + type: 'MIMETYPE', flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.Data", - abilityName: "com.example.Data.MainAbility", - uri: "" + deviceId: '', + bundleName: 'com.example.Data', + abilityName: 'com.example.Data.MainAbility', + uri: '' }, }, (error, result) => { - console.log('particleAbility startAbility errCode:' + error + 'result:' + result) + console.log('particleAbility startAbility errCode:' + error + 'result:' + result); }, -) +); ``` ## particleAbility.startAbility @@ -91,25 +91,25 @@ startAbility(parameter: StartAbilityParameter): Promise\; **示例:** ```ts -import particleAbility from '@ohos.ability.particleAbility' -import wantConstant from '@ohos.ability.wantConstant' +import particleAbility from '@ohos.ability.particleAbility'; +import wantConstant from '@ohos.ability.wantConstant'; particleAbility.startAbility( { want: { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", + action: 'action.system.home', + entities: ['entity.system.home'], + type: 'MIMETYPE', flags: wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.Data", - abilityName: "com.example. Data.MainAbility", - uri: "" + deviceId: '', + bundleName: 'com.example.Data', + abilityName: 'com.example. Data.MainAbility', + uri: '' }, }, ).then((data) => { - console.info("particleAbility startAbility"); + console.info('particleAbility startAbility'); }); ``` @@ -130,13 +130,13 @@ terminateSelf(callback: AsyncCallback\): void **示例:** ```ts -import particleAbility from '@ohos.ability.particleAbility' +import particleAbility from '@ohos.ability.particleAbility'; particleAbility.terminateSelf( (error, result) => { - console.log('particleAbility terminateSelf errCode:' + error + 'result:' + result) + console.log('particleAbility terminateSelf errCode:' + error + 'result:' + result); } -) +); ``` ## particleAbility.terminateSelf @@ -156,10 +156,10 @@ terminateSelf(): Promise\ **示例:** ```ts -import particleAbility from '@ohos.ability.particleAbility' +import particleAbility from '@ohos.ability.particleAbility'; particleAbility.terminateSelf().then((data) => { - console.info("particleAbility terminateSelf"); + console.info('particleAbility terminateSelf'); }); ``` @@ -188,10 +188,10 @@ acquireDataAbilityHelper(uri: string): DataAbilityHelper **示例:** ```ts -import particleAbility from '@ohos.ability.particleAbility' +import particleAbility from '@ohos.ability.particleAbility'; -let uri = ""; -particleAbility.acquireDataAbilityHelper(uri) +let uri = ''; +particleAbility.acquireDataAbilityHelper(uri); ``` @@ -222,17 +222,17 @@ import wantAgent from '@ohos.wantAgent'; function callback(err, data) { if (err) { - console.error("Operation failed cause: " + JSON.stringify(err)); + console.error('Operation failed cause: ' + JSON.stringify(err)); } else { - console.info("Operation succeeded"); + console.info('Operation succeeded'); } } let wantAgentInfo = { wants: [ { - bundleName: "com.example.myapplication", - abilityName: "com.example.myapplication.MainAbility" + bundleName: 'com.example.myapplication', + abilityName: 'com.example.myapplication.MainAbility' } ], operationType: wantAgent.OperationType.START_ABILITY, @@ -242,8 +242,8 @@ let wantAgentInfo = { wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { let basicContent = { - title: "title", - text: "text" + title: 'title', + text: 'text' }; let notificationContent = { contentType: notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, @@ -292,8 +292,8 @@ import wantAgent from '@ohos.wantAgent'; let wantAgentInfo = { wants: [ { - bundleName: "com.example.myapplication", - abilityName: "com.example.myapplication.MainAbility" + bundleName: 'com.example.myapplication', + abilityName: 'com.example.myapplication.MainAbility' } ], operationType: wantAgent.OperationType.START_ABILITY, @@ -303,8 +303,8 @@ let wantAgentInfo = { wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { let basicContent = { - title: "title", - text: "text" + title: 'title', + text: 'text' }; let notificationContent = { contentType: notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, @@ -316,9 +316,9 @@ wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => { }; let id = 1; particleAbility.startBackgroundRunning(id, request).then(() => { - console.info("Operation succeeded"); + console.info('Operation succeeded'); }).catch((err) => { - console.error("Operation failed cause: " + JSON.stringify(err)); + console.error('Operation failed cause: ' + JSON.stringify(err)); }); }); @@ -345,9 +345,9 @@ import particleAbility from '@ohos.ability.particleAbility'; function callback(err, data) { if (err) { - console.error("Operation failed cause: " + JSON.stringify(err)); + console.error('Operation failed cause: ' + JSON.stringify(err)); } else { - console.info("Operation succeeded"); + console.info('Operation succeeded'); } } @@ -375,9 +375,9 @@ cancelBackgroundRunning(): Promise<void>; import particleAbility from '@ohos.ability.particleAbility'; particleAbility.cancelBackgroundRunning().then(() => { - console.info("Operation succeeded"); + console.info('Operation succeeded'); }).catch((err) => { - console.error("Operation failed cause: " + JSON.stringify(err)); + console.error('Operation failed cause: ' + JSON.stringify(err)); }); ``` @@ -401,25 +401,25 @@ connectAbility(request: Want, options:ConnectOptions): number **示例**: ```ts -import particleAbility from '@ohos.ability.particleAbility' -import rpc from '@ohos.rpc' +import particleAbility from '@ohos.ability.particleAbility'; +import rpc from '@ohos.rpc'; function onConnectCallback(element, remote) { console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); } function onDisconnectCallback(element) { - console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) + console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId); } function onFailedCallback(code) { - console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code) + console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code); } let connId = particleAbility.connectAbility( { - bundleName: "com.ix.ServiceAbility", - abilityName: "ServiceAbilityA", + bundleName: 'com.ix.ServiceAbility', + abilityName: 'ServiceAbilityA', }, { onConnect: onConnectCallback, @@ -429,9 +429,9 @@ let connId = particleAbility.connectAbility( ); particleAbility.disconnectAbility(connId).then((data) => { - console.log(" data: " + data); + console.log(' data: ' + data); }).catch((error) => { - console.log('particleAbilityTest result errCode : ' + error.code) + console.log('particleAbilityTest result errCode : ' + error.code); }); ``` @@ -460,17 +460,17 @@ function onConnectCallback(element, remote) { } function onDisconnectCallback(element) { - console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) + console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId); } function onFailedCallback(code) { - console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code) + console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code); } let connId = particleAbility.connectAbility( { - bundleName: "com.ix.ServiceAbility", - abilityName: "ServiceAbilityA", + bundleName: 'com.ix.ServiceAbility', + abilityName: 'ServiceAbilityA', }, { onConnect: onConnectCallback, @@ -480,8 +480,8 @@ let connId = particleAbility.connectAbility( ); particleAbility.disconnectAbility(connId, (err) => { - console.log("particleAbilityTest disconnectAbility err====>" - + ("json err=") + JSON.stringify(err)); + console.log('particleAbilityTest disconnectAbility err====>' + + ('json err=') + JSON.stringify(err)); }); ``` @@ -511,17 +511,17 @@ function onConnectCallback(element, remote) { } function onDisconnectCallback(element) { - console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) + console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId); } function onFailedCallback(code) { - console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code) + console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code); } let connId = particleAbility.connectAbility( { - bundleName: "com.ix.ServiceAbility", - abilityName: "ServiceAbilityA", + bundleName: 'com.ix.ServiceAbility', + abilityName: 'ServiceAbilityA', }, { onConnect: onConnectCallback, @@ -531,9 +531,9 @@ let connId = particleAbility.connectAbility( ); particleAbility.disconnectAbility(connId).then((data) => { - console.log(" data: " + data); + console.log(' data: ' + data); }).catch((error) => { - console.log('particleAbilityTest result errCode : ' + error.code) + console.log('particleAbilityTest result errCode : ' + error.code); }); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityConstant.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityConstant.md index c07b6c469d6b32f365ac9e5e65a420489e328862..b19d7b67d4b2c55bd2fa9ae5c6a9f9ec4a40f134 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityConstant.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityConstant.md @@ -48,7 +48,7 @@ import UIAbility from '@ohos.app.ability.UIAbility'; class MyAbility extends UIAbility { onCreate(want, launchParam) { if (launchParam.launchReason === AbilityConstant.LaunchReason.START_ABILITY) { - console.log("The ability has been started by the way of startAbility."); + console.log('The ability has been started by the way of startAbility.'); } } } @@ -74,7 +74,7 @@ import UIAbility from '@ohos.app.ability.UIAbility'; class MyAbility extends UIAbility { onCreate(want, launchParam) { if (launchParam.lastExitReason === AbilityConstant.LastExitReason.ABILITY_NOT_RESPONDING) { - console.log("The ability has exit last because the ability was not responding."); + console.log('The ability has exit last because the ability was not responding.'); } } } @@ -122,8 +122,8 @@ class MyAbility extends UIAbility { ```ts let want = { - bundleName: "com.test.example", - abilityName: "MainAbility" + bundleName: 'com.test.example', + abilityName: 'MainAbility' }; let option = { windowMode: AbilityConstant.WindowMode.WINDOW_MODE_FULLSCREEN @@ -131,9 +131,9 @@ let option = { // 确保从上下文获取到context this.context.startAbility(want, option).then(()={ - console.log("Succeed to start ability."); + console.log('Succeed to start ability.'); }).catch((error)=>{ - console.log("Failed to start ability with error: " + JSON.stringify(error)); + console.log('Failed to start ability with error: ' + JSON.stringify(error)); }); ``` @@ -157,7 +157,7 @@ import UIAbility from '@ohos.app.ability.UIAbility'; class MyAbility extends UIAbility { onMemoryLevel(level) { if (level === AbilityConstant.MemoryLevel.MEMORY_LEVEL_CRITICAL) { - console.log("The memory of device is critical, please release some memory."); + console.log('The memory of device is critical, please release some memory.'); } } } @@ -209,7 +209,7 @@ import UIAbility from '@ohos.app.ability.UIAbility'; class MyAbility extends UIAbility { onSaveState(reason, wantParam) { if (reason === AbilityConstant.StateType.CONTINUATION) { - console.log("Save the ability data when the ability continuation."); + console.log('Save the ability data when the ability continuation.'); } return AbilityConstant.OnSaveResult.ALL_AGREE; } diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityDelegatorRegistry.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityDelegatorRegistry.md index 3fb88dfc5eba562d52fa0ed6da2435ef42961d95..f08c8bd3a0a786339696971abe7730da40953e68 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityDelegatorRegistry.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityDelegatorRegistry.md @@ -49,14 +49,14 @@ import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry let abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); let want = { - bundleName: "com.ohos.example", - abilityName: "MainAbility" + bundleName: 'com.ohos.example', + abilityName: 'MainAbility' }; abilityDelegator.startAbility(want, (err) => { if (err.code !== 0) { - console.log("Success start ability."); + console.log('Success start ability.'); } else { - console.log("Failed start ability, error: " + JSON.stringify(err)); + console.log('Failed start ability, error: ' + JSON.stringify(err)); } }) ``` @@ -81,8 +81,8 @@ getArguments(): AbilityDelegatorArgs import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'; let args = AbilityDelegatorRegistry.getArguments(); -console.info("getArguments bundleName:" + args.bundleName); -console.info("getArguments parameters:" + JSON.stringify(args.parameters)); -console.info("getArguments testCaseNames:" + args.testCaseNames); -console.info("getArguments testRunnerClassName:" + args.testRunnerClassName); +console.info('getArguments bundleName:' + args.bundleName); +console.info('getArguments parameters:' + JSON.stringify(args.parameters)); +console.info('getArguments testCaseNames:' + args.testCaseNames); +console.info('getArguments testRunnerClassName:' + args.testRunnerClassName); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityLifecycleCallback.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityLifecycleCallback.md index 919cbce9d3af5bb0991b425ea5bc1daff90b1e7d..e10b75fc766e5c20f2bbca4695574b8992765c4a 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityLifecycleCallback.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityLifecycleCallback.md @@ -11,7 +11,7 @@ AbilityLifecycleCallback模块提供应用上下文[ApplicationContext](js-apis- ## 导入模块 ```ts -import AbilityLifecycleCallback from "@ohos.app.ability.AbilityLifecycleCallback"; +import AbilityLifecycleCallback from '@ohos.app.ability.AbilityLifecycleCallback'; ``` @@ -33,7 +33,7 @@ onAbilityCreate(ability: UIAbility): void; ```ts let abilityLifecycleCallback = { onAbilityCreate(ability){ - console.log("AbilityLifecycleCallback onAbilityCreate."); + console.log('AbilityLifecycleCallback onAbilityCreate.'); } }; ``` @@ -57,7 +57,7 @@ onWindowStageCreate(ability: UIAbility, windowStage: window.WindowStage): void; ```ts let abilityLifecycleCallback = { onWindowStageCreate(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageCreate."); + console.log('AbilityLifecycleCallback onWindowStageCreate.'); } }; ``` @@ -81,7 +81,7 @@ onWindowStageActive(ability: UIAbility, windowStage: window.WindowStage): void; ```ts let abilityLifecycleCallback = { onWindowStageActive(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageActive."); + console.log('AbilityLifecycleCallback onWindowStageActive.'); } }; ``` @@ -105,7 +105,7 @@ onWindowStageInactive(ability: UIAbility, windowStage: window.WindowStage): void ```ts let abilityLifecycleCallback = { onWindowStageInactive(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageInactive."); + console.log('AbilityLifecycleCallback onWindowStageInactive.'); } }; ``` @@ -129,7 +129,7 @@ onWindowStageDestroy(ability: UIAbility, windowStage: window.WindowStage): void; ```ts let abilityLifecycleCallback = { onWindowStageDestroy(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageDestroy."); + console.log('AbilityLifecycleCallback onWindowStageDestroy.'); } }; ``` @@ -152,7 +152,7 @@ onAbilityDestroy(ability: UIAbility): void; ```ts let abilityLifecycleCallback = { onAbilityDestroy(ability){ - console.log("AbilityLifecycleCallback onAbilityDestroy."); + console.log('AbilityLifecycleCallback onAbilityDestroy.'); } }; ``` @@ -175,7 +175,7 @@ onAbilityForeground(ability: UIAbility): void; ```ts let abilityLifecycleCallback = { onAbilityForeground(ability){ - console.log("AbilityLifecycleCallback onAbilityForeground."); + console.log('AbilityLifecycleCallback onAbilityForeground.'); } }; ``` @@ -198,7 +198,7 @@ onAbilityBackground(ability: UIAbility): void; ```ts let abilityLifecycleCallback = { onAbilityBackground(ability){ - console.log("AbilityLifecycleCallback onAbilityBackground."); + console.log('AbilityLifecycleCallback onAbilityBackground.'); } }; ``` @@ -221,7 +221,7 @@ onAbilityContinue(ability: UIAbility): void; ```ts let abilityLifecycleCallback = { onAbilityContinue(ability){ - console.log("AbilityLifecycleCallback onAbilityContinue."); + console.log('AbilityLifecycleCallback onAbilityContinue.'); } }; ``` @@ -232,52 +232,52 @@ let abilityLifecycleCallback = { MyFirstAbility.ts ```ts -import AbilityLifecycleCallback from "@ohos.app.ability.AbilityLifecycleCallback"; -import AbilityStage from "@ohos.app.ability.AbilityStage"; +import AbilityLifecycleCallback from '@ohos.app.ability.AbilityLifecycleCallback'; +import AbilityStage from '@ohos.app.ability.AbilityStage'; import UIAbility from '@ohos.app.ability.UIAbility'; // 声明ability生命周期回调,需配置所有回调后才可以在applicationContext注册 let abilityLifecycleCallback = { onAbilityCreate(ability){ - console.log("AbilityLifecycleCallback onAbilityCreate."); + console.log('AbilityLifecycleCallback onAbilityCreate.'); }, onWindowStageCreate(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageCreate."); + console.log('AbilityLifecycleCallback onWindowStageCreate.'); }, onWindowStageActive(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageActive."); + console.log('AbilityLifecycleCallback onWindowStageActive.'); }, onWindowStageInactive(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageInactive."); + console.log('AbilityLifecycleCallback onWindowStageInactive.'); }, onWindowStageDestroy(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageDestroy."); + console.log('AbilityLifecycleCallback onWindowStageDestroy.'); }, onAbilityDestroy(ability){ - console.log("AbilityLifecycleCallback onAbilityDestroy."); + console.log('AbilityLifecycleCallback onAbilityDestroy.'); }, onAbilityForeground(ability){ - console.log("AbilityLifecycleCallback onAbilityForeground."); + console.log('AbilityLifecycleCallback onAbilityForeground.'); }, onAbilityBackground(ability){ - console.log("AbilityLifecycleCallback onAbilityBackground."); + console.log('AbilityLifecycleCallback onAbilityBackground.'); }, onAbilityContinue(ability){ - console.log("AbilityLifecycleCallback onAbilityContinue."); + console.log('AbilityLifecycleCallback onAbilityContinue.'); } }; export default class MyFirstAbility extends UIAbility { onCreate() { - console.log("MyAbilityStage onCreate"); + console.log('MyAbilityStage onCreate'); // 1.通过context属性获取applicationContext let applicationContext = this.context.getApplicationContext(); // 2.通过applicationContext注册监听应用内生命周期 try { - globalThis.lifecycleId = applicationContext.on("abilityLifecycle", abilityLifecycleCallback); - console.log("registerAbilityLifecycleCallback number: " + JSON.stringify(lifecycleId)); + globalThis.lifecycleId = applicationContext.on('abilityLifecycle', abilityLifecycleCallback); + console.log('registerAbilityLifecycleCallback number: ' + JSON.stringify(lifecycleId)); } catch (paramError) { - console.log("error: " + paramError.code + " ," + paramError.message); + console.log('error: ' + paramError.code + ' ,' + paramError.message); } } } @@ -285,17 +285,17 @@ export default class MyFirstAbility extends UIAbility { MySecondAbility.ts ```ts -import UIAbility from "ohos.app.ability.UIAbility"; +import UIAbility from 'ohos.app.ability.UIAbility'; export default class MySecondAbility extends UIAbility { onDestroy() { let applicationContext = this.context.getApplicationContext(); // 3.通过applicationContext注销监听应用内生命周期 - applicationContext.off("abilityLifecycle", globalThis.lifecycleId, (error) => { + applicationContext.off('abilityLifecycle', globalThis.lifecycleId, (error) => { if (error.code != 0) { - console.log("unregisterAbilityLifecycleCallback failed, error: " + JSON.stringify(error)); + console.log('unregisterAbilityLifecycleCallback failed, error: ' + JSON.stringify(error)); } else { - console.log("unregisterAbilityLifecycleCallback success."); + console.log('unregisterAbilityLifecycleCallback success.'); } }); } diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityManager.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityManager.md index 2ca889c93fbe78893b5ac071bd7fbacfa836ccc7..c14b772aee8fcc2efbb540f6b615a974dc4e4acf 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityManager.md @@ -63,7 +63,7 @@ const config = { language: 'Zh-Hans', // 简体中文 colorMode: COLOR_MODE_LIGHT, // 浅色模式 direction: DIRECTION_VERTICAL, // 垂直方向 - screenDensity: SCREEN_DENSITY_SDPI, // 屏幕分辨率为"sdpi" + screenDensity: SCREEN_DENSITY_SDPI, // 屏幕分辨率为'sdpi' displayId: 1, // 应用在Id为1的物理屏上显示 hasPointerDevice: true, // 指针类型设备已连接 }; @@ -71,9 +71,9 @@ const config = { try { abilityManager.updateConfiguration(config, (err) => { if (err.code !== 0) { - console.log("updateConfiguration fail, err: " + JSON.stringify(err)); + console.log('updateConfiguration fail, err: ' + JSON.stringify(err)); } else { - console.log("updateConfiguration success."); + console.log('updateConfiguration success.'); } }) } catch (paramError) { @@ -121,7 +121,7 @@ const config = { language: 'Zh-Hans', // 简体中文 colorMode: COLOR_MODE_LIGHT, // 浅色模式 direction: DIRECTION_VERTICAL, // 垂直方向 - screenDensity: SCREEN_DENSITY_SDPI, // 屏幕分辨率为"sdpi" + screenDensity: SCREEN_DENSITY_SDPI, // 屏幕分辨率为'sdpi' displayId: 1, // 应用在Id为1的物理屏上显示 hasPointerDevice: true, // 指针类型设备已连接 }; @@ -170,9 +170,9 @@ import abilityManager from '@ohos.app.ability.abilityManager'; try { abilityManager.getAbilityRunningInfos((err, data) => { if (err.code !== 0) { - console.log("getAbilityRunningInfos fail, error: " + JSON.stringify(err)); + console.log('getAbilityRunningInfos fail, error: ' + JSON.stringify(err)); } else { - console.log("getAbilityRunningInfos success, data: " + JSON.stringify(data)); + console.log('getAbilityRunningInfos success, data: ' + JSON.stringify(data)); } }); } catch (paramError) { @@ -212,9 +212,9 @@ import abilityManager from '@ohos.app.ability.abilityManager'; try { abilityManager.getAbilityRunningInfos().then((data) => { - console.log("getAbilityRunningInfos success, data: " + JSON.stringify(data)) + console.log('getAbilityRunningInfos success, data: ' + JSON.stringify(data)); }).catch((err) => { - console.log("getAbilityRunningInfos fail, err: " + JSON.stringify(err)); + console.log('getAbilityRunningInfos fail, err: ' + JSON.stringify(err)); }); } catch (paramError) { console.log('error.code: ' + JSON.stringify(paramError.code) @@ -257,9 +257,9 @@ let upperLimit = 10; try { abilityManager.getExtensionRunningInfos(upperLimit, (err, data) => { if (err.code !== 0) { - console.log("getExtensionRunningInfos fail, err: " + JSON.stringify(err)); + console.log('getExtensionRunningInfos fail, err: ' + JSON.stringify(err)); } else { - console.log("getExtensionRunningInfos success, data: " + JSON.stringify(data)); + console.log('getExtensionRunningInfos success, data: ' + JSON.stringify(data)); } }); } catch (paramError) { @@ -307,9 +307,9 @@ let upperLimit = 10; try { abilityManager.getExtensionRunningInfos(upperLimit).then((data) => { - console.log("getExtensionRunningInfos success, data: " + JSON.stringify(data)); + console.log('getExtensionRunningInfos success, data: ' + JSON.stringify(data)); }).catch((err) => { - console.log("getExtensionRunningInfos fail, err: " + JSON.stringify(err)); + console.log('getExtensionRunningInfos fail, err: ' + JSON.stringify(err)); }) } catch (paramError) { console.log('error.code: ' + JSON.stringify(paramError.code) @@ -346,9 +346,9 @@ import abilityManager from '@ohos.app.ability.abilityManager'; abilityManager.getTopAbility((err, data) => { if (err.code !== 0) { - console.log("getTopAbility fail, err: " + JSON.stringify(err)); + console.log('getTopAbility fail, err: ' + JSON.stringify(err)); } else { - console.log("getTopAbility success, data: " + JSON.stringify(data)); + console.log('getTopAbility success, data: ' + JSON.stringify(data)); } }); ``` @@ -381,8 +381,8 @@ getTopAbility(): Promise\; import abilityManager from '@ohos.app.ability.abilityManager'; abilityManager.getTopAbility().then((data) => { - console.log("getTopAbility success, data: " + JSON.stringify(data)); + console.log('getTopAbility success, data: ' + JSON.stringify(data)); }).catch((err) => { - console.log("getTopAbility fail, err: " + JSON.stringify(err)); + console.log('getTopAbility fail, err: ' + JSON.stringify(err)); }) ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityStage.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityStage.md index 310b6df02cfdadc6ef31b9744a7cdb8937e587c8..22779603bf712a1fe4d421d7e8787b228ea8c0a5 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityStage.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-abilityStage.md @@ -30,7 +30,7 @@ import AbilityStage from '@ohos.app.ability.AbilityStage'; class MyAbilityStage extends AbilityStage { onCreate() { - console.log("MyAbilityStage.onCreate is called"); + console.log('MyAbilityStage.onCreate is called'); } } ``` @@ -63,8 +63,8 @@ import AbilityStage from '@ohos.app.ability.AbilityStage'; class MyAbilityStage extends AbilityStage { onAcceptWant(want) { - console.log("MyAbilityStage.onAcceptWant called"); - return "com.example.test"; + console.log('MyAbilityStage.onAcceptWant called'); + return 'com.example.test'; } } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-appManager.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-appManager.md index d150ed4402ef238f551a135cfcc3740f5c4f09ae..13a5d31faf1066605308e5293f31c4c470f7fc9c 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-appManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-appManager.md @@ -41,9 +41,9 @@ import appManager from '@ohos.app.ability.appManager'; appManager.isRunningInStabilityTest((err, flag) => { if (err.code !== 0) { - console.log("isRunningInStabilityTest faile, err: " + JSON.stringify(err)); + console.log('isRunningInStabilityTest faile, err: ' + JSON.stringify(err)); } else { - console.log("The result of isRunningInStabilityTest is:" + JSON.stringify(flag)); + console.log('The result of isRunningInStabilityTest is:' + JSON.stringify(flag)); } }) ``` @@ -77,9 +77,9 @@ static isRunningInStabilityTest(): Promise<boolean> import appManager from '@ohos.app.ability.appManager'; appManager.isRunningInStabilityTest().then((flag) => { - console.log("The result of isRunningInStabilityTest is:" + JSON.stringify(flag)); + console.log('The result of isRunningInStabilityTest is:' + JSON.stringify(flag)); }).catch((error) => { - console.log("error:" + JSON.stringify(error)); + console.log('error:' + JSON.stringify(error)); }); ``` @@ -112,9 +112,9 @@ isRamConstrainedDevice(): Promise\; import appManager from '@ohos.app.ability.appManager'; appManager.isRamConstrainedDevice().then((data) => { - console.log("The result of isRamConstrainedDevice is:" + JSON.stringify(data)); + console.log('The result of isRamConstrainedDevice is:' + JSON.stringify(data)); }).catch((error) => { - console.log("error:" + JSON.stringify(error)); + console.log('error:' + JSON.stringify(error)); }); ``` @@ -147,9 +147,9 @@ import appManager from '@ohos.app.ability.appManager'; appManager.isRamConstrainedDevice((err, data) => { if (err.code !== 0) { - console.log("isRamConstrainedDevice faile, err: " + JSON.stringify(err)); + console.log('isRamConstrainedDevice faile, err: ' + JSON.stringify(err)); } else { - console.log("The result of isRamConstrainedDevice is:" + JSON.stringify(data)); + console.log('The result of isRamConstrainedDevice is:' + JSON.stringify(data)); } }) ``` @@ -182,9 +182,9 @@ getAppMemorySize(): Promise\; import appManager from '@ohos.app.ability.appManager'; appManager.getAppMemorySize().then((data) => { - console.log("The size of app memory is:" + JSON.stringify(data)); + console.log('The size of app memory is:' + JSON.stringify(data)); }).catch((error) => { - console.log("error:" + JSON.stringify(error)); + console.log('error:' + JSON.stringify(error)); }); ``` @@ -217,9 +217,9 @@ import appManager from '@ohos.app.ability.appManager'; appManager.getAppMemorySize((err, data) => { if (err.code !== 0) { - console.log("getAppMemorySize faile, err: " + JSON.stringify(err)); + console.log('getAppMemorySize faile, err: ' + JSON.stringify(err)); } else { - console.log("The size of app memory is:" + JSON.stringify(data)); + console.log('The size of app memory is:' + JSON.stringify(data)); } }) ``` @@ -256,9 +256,9 @@ getProcessRunningInformation(): Promise\>; import appManager from '@ohos.app.ability.appManager'; appManager.getProcessRunningInformation().then((data) => { - console.log("The process running information is:" + JSON.stringify(data)); + console.log('The process running information is:' + JSON.stringify(data)); }).catch((error) => { - console.log("error:" + JSON.stringify(error)); + console.log('error:' + JSON.stringify(error)); }); ``` @@ -295,16 +295,16 @@ import appManager from '@ohos.app.ability.appManager'; appManager.getProcessRunningInformation((err, data) => { if (err.code !== 0) { - console.log("getProcessRunningInformation faile, err: " + JSON.stringify(err)); + console.log('getProcessRunningInformation faile, err: ' + JSON.stringify(err)); } else { - console.log("The process running information is:" + JSON.stringify(data)); + console.log('The process running information is:' + JSON.stringify(data)); } }) ``` ## appManager.on -on(type: "applicationState", observer: ApplicationStateObserver): number; +on(type: 'applicationState', observer: ApplicationStateObserver): number; 注册全部应用程序的状态观测器。 @@ -318,7 +318,7 @@ on(type: "applicationState", observer: ApplicationStateObserver): number; | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| type | string | 是 | 调用接口类型,固定填"applicationState"字符串。 | +| type | string | 是 | 调用接口类型,固定填'applicationState'字符串。 | | observer | [ApplicationStateObserver](./js-apis-inner-application-applicationStateObserver.md) | 是 | 应用状态观测器,用于观测应用的生命周期变化。 | **返回值:** @@ -367,7 +367,7 @@ try { ## appManager.on -on(type: "applicationState", observer: ApplicationStateObserver, bundleNameList: Array\): number; +on(type: 'applicationState', observer: ApplicationStateObserver, bundleNameList: Array\): number; 注册指定应用程序的状态观测器。 @@ -381,7 +381,7 @@ on(type: "applicationState", observer: ApplicationStateObserver, bundleNameList: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| type | string | 是 | 调用接口类型,固定填"applicationState"字符串。 | +| type | string | 是 | 调用接口类型,固定填'applicationState'字符串。 | | observer | [ApplicationStateObserver](./js-apis-inner-application-applicationStateObserver.md) | 是 | 应用状态观测器,用于观测应用的生命周期变化。 | | bundleNameList | `Array` | 是 | 表示需要注册监听的bundleName数组。最大值128。 | @@ -423,7 +423,7 @@ let applicationStateObserver = { } let bundleNameList = ['bundleName1', 'bundleName2']; try { - const observerId = appManager.on("applicationState", applicationStateObserver, bundleNameList); + const observerId = appManager.on('applicationState', applicationStateObserver, bundleNameList); console.log(`[appManager] observerCode: ${observerId}`); } catch (paramError) { console.log(`[appManager] error: ${paramError.code}, ${paramError.message} `); @@ -432,7 +432,7 @@ try { ## appManager.off -off(type: "applicationState", observerId: number, callback: AsyncCallback\): void; +off(type: 'applicationState', observerId: number, callback: AsyncCallback\): void; 取消注册应用程序状态观测器。 @@ -446,7 +446,7 @@ off(type: "applicationState", observerId: number, callback: AsyncCallback\ | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 | @@ -485,7 +485,7 @@ let applicationStateObserver = { } let bundleNameList = ['bundleName1', 'bundleName2']; try { - observerId = appManager.on("applicationState", applicationStateObserver, bundleNameList); + observerId = appManager.on('applicationState', applicationStateObserver, bundleNameList); console.log(`[appManager] observerCode: ${observerId}`); } catch (paramError) { console.log(`[appManager] error: ${paramError.code}, ${paramError.message} `); @@ -494,13 +494,13 @@ try { // 2.注销应用状态监听器 function unregisterApplicationStateObserverCallback(err) { if (err.code !== 0) { - console.log("unregisterApplicationStateObserverCallback faile, err: " + JSON.stringify(err)); + console.log('unregisterApplicationStateObserverCallback faile, err: ' + JSON.stringify(err)); } else { - console.log("unregisterApplicationStateObserverCallback success."); + console.log('unregisterApplicationStateObserverCallback success.'); } } try { - appManager.off("applicationState", observerId, unregisterApplicationStateObserverCallback); + appManager.off('applicationState', observerId, unregisterApplicationStateObserverCallback); } catch (paramError) { console.log('error: ' + paramError.code + ', ' + paramError.message); } @@ -508,7 +508,7 @@ try { ## appManager.off -off(type: "applicationState", observerId: number): Promise\; +off(type: 'applicationState', observerId: number): Promise\; 取消注册应用程序状态观测器。 @@ -522,7 +522,7 @@ off(type: "applicationState", observerId: number): Promise\; | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| type | string | 是 | 调用接口类型,固定填"applicationState"字符串。 | +| type | string | 是 | 调用接口类型,固定填'applicationState'字符串。 | | observerId | number | 是 | 表示观测器的编号代码。 | **返回值:** @@ -566,7 +566,7 @@ let applicationStateObserver = { } let bundleNameList = ['bundleName1', 'bundleName2']; try { - observerId = appManager.on("applicationState", applicationStateObserver, bundleNameList); + observerId = appManager.on('applicationState', applicationStateObserver, bundleNameList); console.log(`[appManager] observerCode: ${observerId}`); } catch (paramError) { console.log(`[appManager] error: ${paramError.code}, ${paramError.message} `); @@ -574,10 +574,10 @@ try { // 2.注销应用状态监听器 try { - appManager.off("applicationState", observerId).then((data) => { - console.log("unregisterApplicationStateObserver success, data: " + JSON.stringify(data)); + appManager.off('applicationState', observerId).then((data) => { + console.log('unregisterApplicationStateObserver success, data: ' + JSON.stringify(data)); }).catch((err) => { - console.log("unregisterApplicationStateObserver faile, err: " + JSON.stringify(err)); + console.log('unregisterApplicationStateObserver faile, err: ' + JSON.stringify(err)); }) } catch (paramError) { console.log('error: ' + paramError.code + ', ' + paramError.message); @@ -617,15 +617,15 @@ import appManager from '@ohos.app.ability.appManager'; function getForegroundApplicationsCallback(err, data) { if (err.code !== 0) { - console.log("getForegroundApplicationsCallback fail, err: " + JSON.stringify(err)); + console.log('getForegroundApplicationsCallback fail, err: ' + JSON.stringify(err)); } else { - console.log("getForegroundApplicationsCallback success, data: " + JSON.stringify(data)); + console.log('getForegroundApplicationsCallback success, data: ' + JSON.stringify(data)); } } try { appManager.getForegroundApplications(getForegroundApplicationsCallback); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -661,9 +661,9 @@ getForegroundApplications(): Promise\>; import appManager from '@ohos.app.ability.appManager'; appManager.getForegroundApplications().then((data) => { - console.log("getForegroundApplications success, data: " + JSON.stringify(data)); + console.log('getForegroundApplications success, data: ' + JSON.stringify(data)); }).catch((err) => { - console.log("getForegroundApplications fail, err: " + JSON.stringify(err)); + console.log('getForegroundApplications fail, err: ' + JSON.stringify(err)); }) ``` @@ -703,12 +703,12 @@ let bundleName = 'bundleName'; let accountId = 0; try { appManager.killProcessWithAccount(bundleName, accountId).then(() => { - console.log("killProcessWithAccount success"); + console.log('killProcessWithAccount success'); }).catch((err) => { - console.log("killProcessWithAccount fail, err: " + JSON.stringify(err)); + console.error('killProcessWithAccount fail, err: ' + JSON.stringify(err)); }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.error('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -750,9 +750,9 @@ let bundleName = 'bundleName'; let accountId = 0; function killProcessWithAccountCallback(err, data) { if (err.code !== 0) { - console.log("killProcessWithAccountCallback fail, err: " + JSON.stringify(err)); + console.log('killProcessWithAccountCallback fail, err: ' + JSON.stringify(err)); } else { - console.log("killProcessWithAccountCallback success."); + console.log('killProcessWithAccountCallback success.'); } } appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback); @@ -793,15 +793,15 @@ import appManager from '@ohos.app.ability.appManager'; let bundleName = 'bundleName'; function killProcessesByBundleNameCallback(err, data) { if (err.code !== 0) { - console.log("killProcessesByBundleNameCallback fail, err: " + JSON.stringify(err)); + console.log('killProcessesByBundleNameCallback fail, err: ' + JSON.stringify(err)); } else { - console.log("killProcessesByBundleNameCallback success."); + console.log('killProcessesByBundleNameCallback success.'); } } try { appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -845,12 +845,12 @@ import appManager from '@ohos.app.ability.appManager'; let bundleName = 'bundleName'; try { appManager.killProcessesByBundleName(bundleName).then((data) => { - console.log("killProcessesByBundleName success."); + console.log('killProcessesByBundleName success.'); }).catch((err) => { - console.log("killProcessesByBundleName fail, err: " + JSON.stringify(err)); + console.log('killProcessesByBundleName fail, err: ' + JSON.stringify(err)); }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -889,15 +889,15 @@ import appManager from '@ohos.app.ability.appManager'; let bundleName = 'bundleName'; function clearUpApplicationDataCallback(err, data) { if (err) { - console.log("clearUpApplicationDataCallback fail, err: " + JSON.stringify(err)); + console.log('clearUpApplicationDataCallback fail, err: ' + JSON.stringify(err)); } else { - console.log("clearUpApplicationDataCallback success."); + console.log('clearUpApplicationDataCallback success.'); } } try { appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -941,12 +941,12 @@ import appManager from '@ohos.app.ability.appManager'; let bundleName = 'bundleName'; try { appManager.clearUpApplicationData(bundleName).then((data) => { - console.log("clearUpApplicationData success."); + console.log('clearUpApplicationData success.'); }).catch((err) => { - console.log("clearUpApplicationData fail, err: " + JSON.stringify(err)); + console.log('clearUpApplicationData fail, err: ' + JSON.stringify(err)); }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-appRecovery.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-appRecovery.md index 72c8116699a3130bdb0fe7bd1045e2f14ef50955..9ee4f92ebd41a686747f49a44f235f7db4a283fe 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-appRecovery.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-appRecovery.md @@ -99,15 +99,15 @@ import errorManager from '@ohos.app.ability.errorManager'; let observer = { onUnhandledException(errorMsg) { - console.log('onUnhandledException, errorMsg: ', errorMsg) + console.log('onUnhandledException, errorMsg: ', errorMsg); appRecovery.restartApp(); } }; try { - errorManager.on("error", observer); + errorManager.on('error', observer); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -133,14 +133,14 @@ import errorManager from '@ohos.app.ability.errorManager'; let observer = { onUnhandledException(errorMsg) { - console.log('onUnhandledException, errorMsg: ', errorMsg) + console.log('onUnhandledException, errorMsg: ', errorMsg); appRecovery.saveAppState(); } }; try { - errorManager.on("error", observer); + errorManager.on('error', observer); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-common.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-common.md index f148dca1d6c61519ce2b3224f4a72e9a252b63be..a051e73d34fac74b9b8a40a3ae2ec06bf6cb3275 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-common.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-common.md @@ -10,7 +10,7 @@ Common模块将二级模块API组织在一起方便开发者进行导出。 ## 导入模块 ```ts -import common from '@ohos.app.ability.common' +import common from '@ohos.app.ability.common'; ``` **系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase @@ -33,7 +33,7 @@ import common from '@ohos.app.ability.common' **示例:** ```ts -import common from '@ohos.app.ability.common' +import common from '@ohos.app.ability.common'; let uiAbilityContext: common.UIAbilityContext; let abilityStageContext: common.AbilityStageContext; diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-configuration.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-configuration.md index 240d075b5cc339c0ef242b3a8401fadcf167f797..6b46b05282b050346a2f7386af702cefec17cb05 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-configuration.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-configuration.md @@ -39,10 +39,10 @@ }; try { let applicationContext = this.context.getApplicationContext(); - let callbackId = applicationContext.on("environment", envCallback); - console.log("callbackId: " + callbackId); + let callbackId = applicationContext.on('environment', envCallback); + console.log('callbackId: ' + callbackId); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } } } diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-configurationConstant.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-configurationConstant.md index 772ae7727a94e5192b970785b28c9ebf5ae33d38..b9d69888dd49c2251857dfc922a34feacd31270f 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-configurationConstant.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-configurationConstant.md @@ -47,9 +47,9 @@ import ConfigurationConstant from '@ohos.app.ability.ConfigurationConstant'; | 名称 | 值 | 说明 | | -------- | -------- | -------- | | SCREEN_DENSITY_NOT_SET | 0 | 未设置屏幕分辨率。 | -| SCREEN_DENSITY_SDPI | 120 | 屏幕分辨率为"sdpi"。 | -| SCREEN_DENSITY_MDPI | 160 | 屏幕分辨率为"mdpi"。 | -| SCREEN_DENSITY_LDPI | 240 | 屏幕分辨率为"ldpi"。 | -| SCREEN_DENSITY_XLDPI | 320 | 屏幕分辨率为"xldpi"。 | -| SCREEN_DENSITY_XXLDPI | 480 | 屏幕分辨率为"xxldpi"。 | -| SCREEN_DENSITY_XXXLDPI | 640 | 屏幕分辨率为"xxxldpi"。 | +| SCREEN_DENSITY_SDPI | 120 | 屏幕分辨率为'sdpi'。 | +| SCREEN_DENSITY_MDPI | 160 | 屏幕分辨率为'mdpi'。 | +| SCREEN_DENSITY_LDPI | 240 | 屏幕分辨率为'ldpi'。 | +| SCREEN_DENSITY_XLDPI | 320 | 屏幕分辨率为'xldpi'。 | +| SCREEN_DENSITY_XXLDPI | 480 | 屏幕分辨率为'xxldpi'。 | +| SCREEN_DENSITY_XXXLDPI | 640 | 屏幕分辨率为'xxxldpi'。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-environmentCallback.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-environmentCallback.md index 047bbb974f205611b317f4af60e27d96647dd5d4..795d7a6e5c392912d5a29f8e68772f323a8db9f7 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-environmentCallback.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-environmentCallback.md @@ -11,7 +11,7 @@ EnvironmentCallback模块提供应用上下文ApplicationContext对系统环境 ## 导入模块 ```ts -import EnvironmentCallback from "@ohos.app.ability.EnvironmentCallback"; +import EnvironmentCallback from '@ohos.app.ability.EnvironmentCallback'; ``` @@ -33,29 +33,29 @@ onConfigurationUpdated(config: Configuration): void; ```ts -import Ability from "@ohos.application.Ability"; +import Ability from '@ohos.application.Ability'; let callbackId; export default class MyAbility extends Ability { onCreate() { - console.log("MyAbility onCreate") + console.log('MyAbility onCreate') globalThis.applicationContext = this.context.getApplicationContext(); let EnvironmentCallback = { onConfigurationUpdated(config){ - console.log("onConfigurationUpdated config:" + JSON.stringify(config)); + console.log('onConfigurationUpdated config:' + JSON.stringify(config)); }, } // 1.获取applicationContext let applicationContext = globalThis.applicationContext; // 2.通过applicationContext注册监听应用内生命周期 callbackId = applicationContext.registerEnvironmentCallback(EnvironmentCallback); - console.log("registerEnvironmentCallback number: " + JSON.stringify(callbackId)); + console.log('registerEnvironmentCallback number: ' + JSON.stringify(callbackId)); } onDestroy() { let applicationContext = globalThis.applicationContext; applicationContext.unregisterEnvironmentCallback(callbackId, (error, data) => { - console.log("unregisterEnvironmentCallback success, err: " + JSON.stringify(error)); + console.log('unregisterEnvironmentCallback success, err: ' + JSON.stringify(error)); }); } } diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-errorManager.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-errorManager.md index 747f5901d306b6157976639d6d5dc5d29b715b49..428542aee3b5f66d0578ed32d27b8798e81cde0a 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-errorManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-errorManager.md @@ -13,7 +13,7 @@ import errorManager from '@ohos.app.ability.errorManager' ## ErrorManager.on -on(type: "error", observer: ErrorObserver): number; +on(type: 'error', observer: ErrorObserver): number; 注册错误观测器。 @@ -35,15 +35,15 @@ let observer = { } } try { - errorManager.on("error", observer); + errorManager.on('error', observer); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` ## ErrorManager.off -off(type: "error", observerId: number, callback: AsyncCallback\): void; +off(type: 'error', observerId: number, callback: AsyncCallback\): void; 注销错误观测器。 @@ -68,15 +68,15 @@ function unregisterErrorObserverCallback(err) { } } try { - errorManager.off("error", observerId, unregisterErrorObserverCallback); + errorManager.off('error', observerId, unregisterErrorObserverCallback); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` ## ErrorManager.off -off(type: "error", observerId: number): Promise\; +off(type: 'error', observerId: number): Promise\; 注销错误观测器。 @@ -100,7 +100,7 @@ off(type: "error", observerId: number): Promise\; ```js let observerId = 100; try { - errorManager.off("error", observerId) + errorManager.off('error', observerId) .then((data) => { console.log('----------- unregisterErrorObserver success ----------', data); }) @@ -108,7 +108,7 @@ try { console.log('----------- unregisterErrorObserver fail ----------', err); }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-missionManager.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-missionManager.md index 030e37ff8c1e33875c5766561171ae9a025c5567..2fc90276654d557447b8867f4a62b2c1f62e9790 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-missionManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-missionManager.md @@ -18,7 +18,7 @@ ohos.permission.MANAGE_MISSIONS ## missionManager.on -on(type:"mission", listener: MissionListener): number; +on(type:'mission', listener: MissionListener): number; 注册系统任务状态监听。 @@ -44,25 +44,25 @@ on(type:"mission", listener: MissionListener): number; ```ts let listener = { - onMissionCreated: function (mission) {console.log("--------onMissionCreated-------")}, - onMissionDestroyed: function (mission) {console.log("--------onMissionDestroyed-------")}, - onMissionSnapshotChanged: function (mission) {console.log("--------onMissionSnapshotChanged-------")}, - onMissionMovedToFront: function (mission) {console.log("--------onMissionMovedToFront-------")}, - onMissionIconUpdated: function (mission, icon) {console.log("--------onMissionIconUpdated-------")}, - onMissionClosed: function (mission) {console.log("--------onMissionClosed-------")} + onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');}, + onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');}, + onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');}, + onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');}, + onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');}, + onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');} }; - console.log("registerMissionListener") + console.log('registerMissionListener') try { - let listenerid = missionManager.on("mission", listener); + let listenerid = missionManager.on('mission', listener); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` ## missionManager.off -off(type: "mission", listenerId: number, callback: AsyncCallback<void>): void; +off(type: 'mission', listenerId: number, callback: AsyncCallback<void>): void; 取消任务状态监听。 @@ -83,29 +83,29 @@ off(type: "mission", listenerId: number, callback: AsyncCallback<void>): v ```ts let listener = { - onMissionCreated: function (mission) {console.log("--------onMissionCreated-------")}, - onMissionDestroyed: function (mission) {console.log("--------onMissionDestroyed-------")}, - onMissionSnapshotChanged: function (mission) {console.log("--------onMissionSnapshotChanged-------")}, - onMissionMovedToFront: function (mission) {console.log("--------onMissionMovedToFront-------")}, - onMissionIconUpdated: function (mission, icon) {console.log("--------onMissionIconUpdated-------")}, - onMissionClosed: function (mission) {console.log("--------onMissionClosed-------")} + onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');}, + onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');}, + onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');}, + onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');}, + onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');}, + onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');} }; - console.log("registerMissionListener") + console.log('registerMissionListener') try { let listenerid = missionManager.registerMissionListener(listener); missionManager.unregisterMissionListener(listenerid, (error) => { - console.log("unregisterMissionListener"); + console.log('unregisterMissionListener'); }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` ## missionManager.off -off(type: "mission", listenerId: number): Promise<void>; +off(type: 'mission', listenerId: number): Promise<void>; 取消任务状态监听,以promise方式返回执行结果。 @@ -131,14 +131,14 @@ off(type: "mission", listenerId: number): Promise<void>; ```ts let listener = { - onMissionCreated: function (mission) {console.log("--------onMissionCreated-------")}, - onMissionDestroyed: function (mission) {console.log("--------onMissionDestroyed-------")}, - onMissionSnapshotChanged: function (mission) {console.log("--------onMissionSnapshotChanged-------")}, - onMissionMovedToFront: function (mission) {console.log("--------onMissionMovedToFront-------")}, - onMissionIconUpdated: function (mission, icon) {console.log("--------onMissionIconUpdated-------")}, - onMissionClosed: function (mission) {console.log("--------onMissionClosed-------")} + onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');}, + onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');}, + onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');}, + onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');}, + onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');}, + onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');} }; - console.log("registerMissionListener") + console.log('registerMissionListener') try { let listenerid = missionManager.registerMissionListener(listener); @@ -146,7 +146,7 @@ off(type: "mission", listenerId: number): Promise<void>; console.log(err); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -177,18 +177,18 @@ getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback<M import missionManager from '@ohos.app.ability.missionManager' try { - let allMissions=missionManager.getMissionInfos("",10).catch(function(err){console.log(err);}); - missionManager.getMissionInfo("", allMissions[0].missionId, (error, mission) => { - console.log("getMissionInfo is called, error.code = " + error.code) - console.log("mission.missionId = " + mission.missionId); - console.log("mission.runningState = " + mission.runningState); - console.log("mission.lockedState = " + mission.lockedState); - console.log("mission.timestamp = " + mission.timestamp); - console.log("mission.label = " + mission.label); - console.log("mission.iconPath = " + mission.iconPath); + let allMissions=missionManager.getMissionInfos('',10).catch(function(err){console.log(err);}); + missionManager.getMissionInfo('', allMissions[0].missionId, (error, mission) => { + console.log('getMissionInfo is called, error.code = ' + error.code); + console.log('mission.missionId = ' + mission.missionId); + console.log('mission.runningState = ' + mission.runningState); + console.log('mission.lockedState = ' + mission.lockedState); + console.log('mission.timestamp = ' + mission.timestamp); + console.log('mission.label = ' + mission.label); + console.log('mission.iconPath = ' + mission.iconPath); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -224,11 +224,11 @@ getMissionInfo(deviceId: string, missionId: number): Promise<MissionInfo>; import missionManager from '@ohos.app.ability.missionManager' try { - let mission = missionManager.getMissionInfo("", 10).catch(function (err){ + let mission = missionManager.getMissionInfo('', 10).catch(function (err){ console.log(err); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -259,13 +259,13 @@ getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback<Arr import missionManager from '@ohos.app.ability.missionManager' try { - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -301,11 +301,11 @@ getMissionInfos(deviceId: string, numMax: number): Promise<Array<MissionIn import missionManager from '@ohos.app.ability.missionManager' try { - let allMissions = missionManager.getMissionInfos("", 10).catch(function (err){ + let allMissions = missionManager.getMissionInfos('', 10).catch(function (err){ console.log(err); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -336,19 +336,19 @@ getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback& import missionManager from '@ohos.app.ability.missionManager' try { - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; - missionManager.getMissionSnapShot("", id, (error, snapshot) => { - console.log("getMissionSnapShot is called, error.code = " + error.code); - console.log("bundleName = " + snapshot.ability.bundleName); + missionManager.getMissionSnapShot('', id, (error, snapshot) => { + console.log('getMissionSnapShot is called, error.code = ' + error.code); + console.log('bundleName = ' + snapshot.ability.bundleName); }) }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -381,22 +381,22 @@ getMissionSnapShot(deviceId: string, missionId: number): Promise<MissionSnaps **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; try { let allMissions; - missionManager.getMissionInfos("",10).then(function(res){ + missionManager.getMissionInfos('',10).then(function(res){ allMissions=res; }).catch(function(err){console.log(err);}); - console.log("size = " + allMissions.length); - console.log("missions = " + JSON.stringify(allMissions)); + console.log('size = ' + allMissions.length); + console.log('missions = ' + JSON.stringify(allMissions)); let id = allMissions[0].missionId; - let snapshot = missionManager.getMissionSnapShot("", id).catch(function (err){ + let snapshot = missionManager.getMissionSnapShot('', id).catch(function (err){ console.log(err); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -423,22 +423,22 @@ getLowResolutionMissionSnapShot(deviceId: string, missionId: number, callback: A **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; try { - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; - missionManager.getLowResolutionMissionSnapShot("", id, (error, snapshot) => { - console.log("getLowResolutionMissionSnapShot is called, error.code = " + error.code); - console.log("bundleName = " + snapshot.ability.bundleName); + missionManager.getLowResolutionMissionSnapShot('', id, (error, snapshot) => { + console.log('getLowResolutionMissionSnapShot is called, error.code = ' + error.code); + console.log('bundleName = ' + snapshot.ability.bundleName); }) }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -471,22 +471,22 @@ getLowResolutionMissionSnapShot(deviceId: string, missionId: number): Promise\ { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; missionManager.lockMission(id).then(() => { - console.log("lockMission is called "); + console.log('lockMission is called '); }); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -559,22 +559,22 @@ lockMission(missionId: number): Promise<void>; **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; try { let allMissions; - missionManager.getMissionInfos("",10).then(function(res){ + missionManager.getMissionInfos('',10).then(function(res){ allMissions=res; }).catch(function(err){console.log(err);}); - console.log("size = " + allMissions.length); - console.log("missions = " + JSON.stringify(allMissions)); + console.log('size = ' + allMissions.length); + console.log('missions = ' + JSON.stringify(allMissions)); let id = allMissions[0].missionId; missionManager.lockMission(id).catch(function (err){ console.log(err); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -601,21 +601,21 @@ unlockMission(missionId: number, callback: AsyncCallback<void>): void; **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; try { - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; missionManager.unlockMission(id).then(() => { - console.log("unlockMission is called "); + console.log('unlockMission is called '); }); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -647,15 +647,15 @@ unlockMission(missionId: number): Promise<void>; **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; try { let allMissions; - missionManager.getMissionInfos("",10).then(function(res){ + missionManager.getMissionInfos('',10).then(function(res){ allMissions=res; }).catch(function(err){console.log(err);}); - console.log("size = " + allMissions.length); - console.log("missions = " + JSON.stringify(allMissions)); + console.log('size = ' + allMissions.length); + console.log('missions = ' + JSON.stringify(allMissions)); let id = allMissions[0].missionId; missionManager.lockMission(id).catch(function (err){ @@ -665,7 +665,7 @@ unlockMission(missionId: number): Promise<void>; console.log(err); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -692,21 +692,21 @@ clearMission(missionId: number, callback: AsyncCallback<void>): void; **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; try { - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; missionManager.clearMission(id).then(() => { - console.log("clearMission is called "); + console.log('clearMission is called '); }); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -738,22 +738,22 @@ clearMission(missionId: number): Promise<void>; **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; try { let allMissions; - missionManager.getMissionInfos("",10).then(function(res){ + missionManager.getMissionInfos('',10).then(function(res){ allMissions=res; }).catch(function(err){console.log(err);}); - console.log("size = " + allMissions.length); - console.log("missions = " + JSON.stringify(allMissions)); + console.log('size = ' + allMissions.length); + console.log('missions = ' + JSON.stringify(allMissions)); let id = allMissions[0].missionId; missionManager.clearMission(id).catch(function (err){ console.log(err); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -773,10 +773,10 @@ clearAllMissions(callback: AsyncCallback<void>): void; **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; missionManager.clearAllMissions().then(() => { - console.log("clearAllMissions is called "); + console.log('clearAllMissions is called '); }); ``` @@ -802,7 +802,7 @@ clearAllMissions(): Promise<void>; **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; missionManager.clearAllMissions().catch(function (err){ console.log(err); }); @@ -831,21 +831,21 @@ moveMissionToFront(missionId: number, callback: AsyncCallback<void>): void **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; try { - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; missionManager.moveMissionToFront(id).then(() => { - console.log("moveMissionToFront is called "); + console.log('moveMissionToFront is called '); }); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -873,21 +873,21 @@ moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCall **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; try { - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; missionManager.moveMissionToFront(id,{windowMode : 101}).then(() => { - console.log("moveMissionToFront is called "); + console.log('moveMissionToFront is called '); }); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -920,21 +920,21 @@ moveMissionToFront(missionId: number, options?: StartOptions): Promise<void&g **示例:** ```ts - import missionManager from '@ohos.app.ability.missionManager' + import missionManager from '@ohos.app.ability.missionManager'; try { let allMissions; - missionManager.getMissionInfos("",10).then(function(res){ + missionManager.getMissionInfos('',10).then(function(res){ allMissions=res; }).catch(function(err){console.log(err);}); - console.log("size = " + allMissions.length); - console.log("missions = " + JSON.stringify(allMissions)); + console.log('size = ' + allMissions.length); + console.log('missions = ' + JSON.stringify(allMissions)); let id = allMissions[0].missionId; missionManager.moveMissionToFront(id).catch(function (err){ console.log(err); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-quickFixManager.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-quickFixManager.md index 7800555679d6e4708229cbfe0ca715dc9ee56ca3..e591625968c624a21693064438e5cd38d68416cb 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-quickFixManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-quickFixManager.md @@ -67,19 +67,19 @@ applyQuickFix(hapModuleQuickFixFiles: Array\, callback: AsyncCallback\ { if (error) { - console.info( `applyQuickFix failed with error + ${error}`) + console.info( `applyQuickFix failed with error + ${error}`); } else { - console.info( 'applyQuickFix success') + console.info( 'applyQuickFix success'); } }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -110,17 +110,17 @@ applyQuickFix(hapModuleQuickFixFiles: Array\): Promise\; **示例:** ```ts - import quickFixManager from '@ohos.app.ability.quickFixManager' + import quickFixManager from '@ohos.app.ability.quickFixManager'; - let hapModuleQuickFixFiles = ["/data/storage/el2/base/entry.hqf"] + let hapModuleQuickFixFiles = ['/data/storage/el2/base/entry.hqf']; try { quickFixManager.applyQuickFix(hapModuleQuickFixFiles).then(() => { - console.info('applyQuickFix success') + console.info('applyQuickFix success'); }).catch((error) => { - console.info(`applyQuickFix err: + ${error}`) + console.info(`applyQuickFix err: + ${error}`); }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -146,19 +146,19 @@ getApplicationQuickFixInfo(bundleName: string, callback: AsyncCallback\ { if (error) { - console.info(`getApplicationQuickFixInfo error: + ${error}`) + console.info(`getApplicationQuickFixInfo error: + ${error}`); } else { - console.info(`getApplicationQuickFixInfo success: + ${data}`) + console.info(`getApplicationQuickFixInfo success: + ${data}`); } }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -189,16 +189,16 @@ getApplicationQuickFixInfo(bundleName: string): Promise\ { - console.info(`getApplicationQuickFixInfo success: + ${data}`) + console.info(`getApplicationQuickFixInfo success: + ${data}`); }).catch((error) => { - console.info(`getApplicationQuickFixInfo err: + ${error}`) + console.info(`getApplicationQuickFixInfo err: + ${error}`); }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-serviceExtensionAbility.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-serviceExtensionAbility.md index 2f5ef57a128cf21539b5d4c18a3e78fc85ea155f..ddda0b602d0f544c5c43047cfa4da9cefe01d161 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-serviceExtensionAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-serviceExtensionAbility.md @@ -129,7 +129,7 @@ Extension生命周期回调,如果是connectAbility拉起的服务,会在onC **示例:** ```ts - import rpc from '@ohos.rpc' + import rpc from '@ohos.rpc'; class StubTest extends rpc.RemoteObject{ constructor(des) { super(des); @@ -140,7 +140,7 @@ Extension生命周期回调,如果是connectAbility拉起的服务,会在onC class ServiceExt extends ServiceExtension { onConnect(want) { console.log('onConnect , want:' + want.abilityName); - return new StubTest("test"); + return new StubTest('test'); } } ``` @@ -246,7 +246,7 @@ onDump(params: Array\): Array\; class ServiceExt extends ServiceExtension { onDump(params) { console.log('dump, params:' + JSON.stringify(params)); - return ["params"] + return ['params']; } } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-startOptions.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-startOptions.md index 75be4ed54cd66d8704a3e904c616994c0803e778..363e3453f874c59f99db7c0af1bf58f04f4cb36a 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-startOptions.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-startOptions.md @@ -29,14 +29,14 @@ import StartOptions from '@ohos.app.ability.StartOptions'; import missionManager from '@ohos.app.ability.missionManager'; try { - missionManager.getMissionInfos("", 10, (error, missions) => { + missionManager.getMissionInfos('', 10, (error, missions) => { if (error.code) { - console.log("getMissionInfos failed, error.code:" + JSON.stringify(error.code) + - "error.message:" + JSON.stringify(error.message)); + console.log('getMissionInfos failed, error.code:' + JSON.stringify(error.code) + + 'error.message:' + JSON.stringify(error.message)); return; } - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; let startOptions = { @@ -44,10 +44,10 @@ import StartOptions from '@ohos.app.ability.StartOptions'; displayId: 0 }; missionManager.moveMissionToFront(id, startOptions).then(() => { - console.log("moveMissionToFront is called "); + console.log('moveMissionToFront is called '); }); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-uiAbility.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-uiAbility.md index 1a2866d05b592418dd2016e8f206ebeb77059533..367e94498822e7665b0bc583372475d581ce7077 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-uiAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-uiAbility.md @@ -204,11 +204,11 @@ onContinue(wantParam : {[key: string]: any}): AbilityConstant.OnContinueResult; **示例:** ```ts - import AbilityConstant from "@ohos.app.ability.AbilityConstant" + import AbilityConstant from '@ohos.app.ability.AbilityConstant'; class MyUIAbility extends UIAbility { onContinue(wantParams) { console.log('onContinue'); - wantParams["myData"] = "my1234567"; + wantParams['myData'] = 'my1234567'; return AbilityConstant.OnContinueResult.AGREE; } } @@ -261,7 +261,7 @@ onDump(params: Array\): Array\; class myAbility extends Ability { onDump(params) { console.log('dump, params:' + JSON.stringify(params)); - return ["params"] + return ['params']; } } ``` @@ -291,12 +291,12 @@ onSaveState(reason: AbilityConstant.StateType, wantParam : {[key: string]: any}) **示例:** ```ts -import AbilityConstant from '@ohos.app.ability.AbilityConstant' +import AbilityConstant from '@ohos.app.ability.AbilityConstant'; class MyUIAbility extends UIAbility { onSaveState(reason, wantParam) { console.log('onSaveState'); - wantParam["myData"] = "my1234567"; + wantParam['myData'] = 'my1234567'; return AbilityConstant.OnSaveResult.RECOVERY_AGREE; } } @@ -341,8 +341,8 @@ call(method: string, data: rpc.Sequenceable): Promise<void>; ```ts import Ability from '@ohos.app.ability.UIAbility'; class MyMessageAble{ // 自定义的Sequenceable数据结构 - name:"" - str:"" + name:'' + str:'' num: 1 constructor(name, str) { this.name = name; @@ -366,12 +366,12 @@ call(method: string, data: rpc.Sequenceable): Promise<void>; export default class MainAbility extends Ability { onWindowStageCreate(windowStage) { this.context.startAbilityByCall({ - bundleName: "com.example.myservice", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + abilityName: 'MainAbility', + deviceId: '' }).then((obj) => { caller = obj; - let msg = new MyMessageAble("msg", "world"); // 参考Sequenceable数据定义 + let msg = new MyMessageAble('msg', 'world'); // 参考Sequenceable数据定义 caller.call(method, msg) .then(() => { console.log('Caller call() called'); @@ -422,8 +422,8 @@ callWithResult(method: string, data: rpc.Sequenceable): Promise<rpc.MessagePa ```ts import Ability from '@ohos.app.ability.UIAbility'; class MyMessageAble{ - name:"" - str:"" + name:'' + str:'' num: 1 constructor(name, str) { this.name = name; @@ -447,16 +447,16 @@ callWithResult(method: string, data: rpc.Sequenceable): Promise<rpc.MessagePa export default class MainAbility extends Ability { onWindowStageCreate(windowStage) { this.context.startAbilityByCall({ - bundleName: "com.example.myservice", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + abilityName: 'MainAbility', + deviceId: '' }).then((obj) => { caller = obj; - let msg = new MyMessageAble(1, "world"); + let msg = new MyMessageAble(1, 'world'); caller.callWithResult(method, msg) .then((data) => { console.log('Caller callWithResult() called'); - let retmsg = new MyMessageAble(0, ""); + let retmsg = new MyMessageAble(0, ''); data.readSequenceable(retmsg); }) .catch((callErr) => { @@ -497,9 +497,9 @@ release(): void; export default class MainAbility extends Ability { onWindowStageCreate(windowStage) { this.context.startAbilityByCall({ - bundleName: "com.example.myservice", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + abilityName: 'MainAbility', + deviceId: '' }).then((obj) => { caller = obj; try { @@ -538,9 +538,9 @@ release(): void; export default class MainAbility extends Ability { onWindowStageCreate(windowStage) { this.context.startAbilityByCall({ - bundleName: "com.example.myservice", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + abilityName: 'MainAbility', + deviceId: '' }).then((obj) => { caller = obj; try { @@ -561,7 +561,7 @@ release(): void; ## Caller.on - on(type: "release", callback: OnReleaseCallback): void; + on(type: 'release', callback: OnReleaseCallback): void; 注册通用组件服务端Stub(桩)断开监听通知。 @@ -589,13 +589,13 @@ release(): void; export default class MainAbility extends Ability { onWindowStageCreate(windowStage) { this.context.startAbilityByCall({ - bundleName: "com.example.myservice", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + abilityName: 'MainAbility', + deviceId: '' }).then((obj) => { caller = obj; try { - caller.on("release", (str) => { + caller.on('release', (str) => { console.log(' Caller OnRelease CallBack is called ' + str); }); } catch (error) { @@ -612,7 +612,7 @@ release(): void; ## Caller.off -off(type: "release", callback: OnReleaseCallback): void; +off(type: 'release', callback: OnReleaseCallback): void; 取消注册通用组件服务端Stub(桩)断开监听通知。预留能力,当前暂未支持。 @@ -639,17 +639,17 @@ off(type: "release", callback: OnReleaseCallback): void; export default class MainUIAbility extends UIAbility { onWindowStageCreate(windowStage) { this.context.startAbilityByCall({ - bundleName: "com.example.myservice", - abilityName: "MainUIAbility", - deviceId: "" + bundleName: 'com.example.myservice', + abilityName: 'MainUIAbility', + deviceId: '' }).then((obj) => { caller = obj; try { let onReleaseCallBack = (str) => { console.log(' Caller OnRelease CallBack is called ' + str); }; - caller.on("release", onReleaseCallBack); - caller.off("release", onReleaseCallBack); + caller.on('release', onReleaseCallBack); + caller.off('release', onReleaseCallBack); } catch (error) { console.log('Caller.on or Caller.off catch error, error.code: ' + JSON.stringify(error.code) + ' error.message: ' + JSON.stringify(error.message)); @@ -664,7 +664,7 @@ off(type: "release", callback: OnReleaseCallback): void; ## Caller.off -off(type: "release"): void; +off(type: 'release'): void; 取消注册通用组件服务端Stub(桩)断开监听通知。预留能力,当前暂未支持。 @@ -690,17 +690,17 @@ off(type: "release"): void; export default class MainUIAbility extends UIAbility { onWindowStageCreate(windowStage) { this.context.startAbilityByCall({ - bundleName: "com.example.myservice", - abilityName: "MainUIAbility", - deviceId: "" + bundleName: 'com.example.myservice', + abilityName: 'MainUIAbility', + deviceId: '' }).then((obj) => { caller = obj; try { let onReleaseCallBack = (str) => { console.log(' Caller OnRelease CallBack is called ' + str); }; - caller.on("release", onReleaseCallBack); - caller.off("release"); + caller.on('release', onReleaseCallBack); + caller.off('release'); } catch (error) { console.error('Caller.on or Caller.off catch error, error.code: ' + JSON.stringify(error.code) + ' error.message: ' + JSON.stringify(error.message)); @@ -744,8 +744,8 @@ on(method: string, callback: CalleeCallback): void; ```ts import Ability from '@ohos.app.ability.UIAbility'; class MyMessageAble{ - name:"" - str:"" + name:'' + str:'' num: 1 constructor(name, str) { this.name = name; @@ -767,9 +767,9 @@ on(method: string, callback: CalleeCallback): void; let method = 'call_Function'; function funcCallBack(pdata) { console.log('Callee funcCallBack is called ' + pdata); - let msg = new MyMessageAble("test", ""); + let msg = new MyMessageAble('test', ''); pdata.readSequenceable(msg); - return new MyMessageAble("test1", "Callee test"); + return new MyMessageAble('test1', 'Callee test'); } export default class MainAbility extends Ability { onCreate(want, launchParam) { diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-want.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-want.md index 79cb1a5f4a26454cdb17b87860355a953dfb6646..410875922ba693173d32285fd98183838b43858c 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-want.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-want.md @@ -22,7 +22,7 @@ import Want from '@ohos.app.ability.Want'; | bundleName | string | 否 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 | | abilityName | string | 否 | 表示待启动的Ability名称。如果在Want中该字段同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。AbilityName需要在一个应用的范围内保证唯一。 | | uri | string | 否 | 表示Uri描述。如果在Want中指定了Uri,则Want将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。 | -| type | string | 否 | 表示MIME type类型描述,打开文件的类型,主要用于文管打开文件。比如:"text/xml" 、 "image/*"等,MIME定义参考:https://www.iana.org/assignments/media-types/media-types.xhtml?utm_source=ld246.com。 | +| type | string | 否 | 表示MIME type类型描述,打开文件的类型,主要用于文管打开文件。比如:'text/xml' 、 'image/*'等,MIME定义参考:https://www.iana.org/assignments/media-types/media-types.xhtml?utm_source=ld246.com。 | | flags | number | 否 | 表示处理Want的方式。默认传数字,具体参考:[flags说明](js-apis-ability-wantConstant.md#wantConstant.Flags)。 | | action | string | 否 | 表示要执行的通用操作(如:查看、分享、应用详情)。在隐式Want中,您可以定义该字段,配合uri或parameters来表示对数据要执行的操作。 | | parameters | {[key: string]: any} | 否 | 表示WantParams描述,由开发者自行决定传入的键值对。默认会携带以下key值:
- ohos.aafwk.callerPid:表示拉起方的pid。
- ohos.aafwk.param.callerToken:表示拉起方的token。
- ohos.aafwk.param.callerUid:表示[BundleInfo](js-apis-bundleManager-bundleInfo.md#bundleinfo-1)中的uid,应用包里应用程序的uid。
- component.startup.newRules:表示是否启用新的管控规则。
- moduleName:表示拉起方的模块名,该字段的值即使定义成其他字符串,在传递到另一端时会被修改为正确的值。
- ohos.dlp.params.sandbox:表示dlp文件才会有。 | | @@ -35,14 +35,14 @@ import Want from '@ohos.app.ability.Want'; ```ts var want = { - "deviceId": "", // deviceId为空表示本设备 - "bundleName": "com.extreme.test", - "abilityName": "MainAbility", - "moduleName": "entry" // moduleName非必选 + 'deviceId': '', // deviceId为空表示本设备 + 'bundleName': 'com.extreme.test', + 'abilityName': 'MainAbility', + 'moduleName': 'entry' // moduleName非必选 }; this.context.startAbility(want, (error) => { // 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability - console.log("error.code = " + error.code) + console.log('error.code = ' + error.code); }) ``` @@ -51,84 +51,84 @@ import Want from '@ohos.app.ability.Want'; * 字符串(String) ```ts let want = { - bundleName: "com.example.demo", - abilityName: "com.example.demo.MainAbility", + bundleName: 'com.example.demo', + abilityName: 'com.example.demo.MainAbility', parameters: { - keyForString: "str", + keyForString: 'str', }, - } + }; ``` * 数字(Number) ```ts let want = { - bundleName: "com.example.demo", - abilityName: "com.example.demo.MainAbility", + bundleName: 'com.example.demo', + abilityName: 'com.example.demo.MainAbility', parameters: { keyForInt: 100, keyForDouble: 99.99, }, - } + }; ``` * 布尔(Boolean) ```ts let want = { - bundleName: "com.example.demo", - abilityName: "com.example.demo.MainAbility", + bundleName: 'com.example.demo', + abilityName: 'com.example.demo.MainAbility', parameters: { keyForBool: true, }, - } + }; ``` * 对象(Object) ```ts let want = { - bundleName: "com.example.demo", - abilityName: "com.example.demo.MainAbility", + bundleName: 'com.example.demo', + abilityName: 'com.example.demo.MainAbility', parameters: { keyForObject: { - keyForObjectString: "str", + keyForObjectString: 'str', keyForObjectInt: -200, keyForObjectDouble: 35.5, keyForObjectBool: false, }, }, - } + }; ``` * 数组(Array) ```ts let want = { - bundleName: "com.example.demo", - abilityName: "com.example.demo.MainAbility", + bundleName: 'com.example.demo', + abilityName: 'com.example.demo.MainAbility', parameters: { - keyForArrayString: ["str1", "str2", "str3"], + keyForArrayString: ['str1', 'str2', 'str3'], keyForArrayInt: [100, 200, 300, 400], keyForArrayDouble: [0.1, 0.2], - keyForArrayObject: [{obj1: "aaa"}, {obj2: 100}], + keyForArrayObject: [{obj1: 'aaa'}, {obj2: 100}], }, - } + }; ``` * 文件描述符(FD) ```ts import fileio from '@ohos.fileio'; var fd; try { - fd = fileio.openSync("/data/storage/el2/base/haps/pic.png"); + fd = fileio.openSync('/data/storage/el2/base/haps/pic.png'); } catch(e) { - console.log("openSync fail:" + JSON.stringify(e)); + console.log('openSync fail:' + JSON.stringify(e)); } var want = { - "deviceId": "", // deviceId为空表示本设备 - "bundleName": "com.extreme.test", - "abilityName": "MainAbility", - "moduleName": "entry", // moduleName非必选 - "parameters": { - "keyFd":{"type":"FD", "value":fd} // {"type":"FD", "value":fd}是固定用法,用于表示该数据是FD + 'deviceId': '', // deviceId为空表示本设备 + 'bundleName': 'com.extreme.test', + 'abilityName': 'MainAbility', + 'moduleName': 'entry', // moduleName非必选 + 'parameters': { + 'keyFd':{'type':'FD', 'value':fd} // {'type':'FD', 'value':fd}是固定用法,用于表示该数据是FD } }; this.context.startAbility(want, (error) => { // 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability - console.log("error.code = " + error.code) - }) + console.log('error.code = ' + error.code); + }); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-wantAgent.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-wantAgent.md index 5aadd796d7e3f4dbc33f9805fa100642d07e0d1b..d453a654a8879fde7c6ebe6eeb94dda615479339 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-wantAgent.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-wantAgent.md @@ -34,27 +34,27 @@ import WantAgent from '@ohos.app.ability.wantAgent'; //getWantAgent回调 function getWantAgentCallback(err, data) { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); } //WantAgentInfo对象 var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -65,9 +65,9 @@ var wantAgentInfo = { } try { - WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) + WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -103,21 +103,21 @@ import WantAgent from '@ohos.app.ability.wantAgent'; var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -125,14 +125,14 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { WantAgent.getWantAgent(wantAgentInfo).then((data) => { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -164,7 +164,7 @@ var wantAgent; //getWantAgent回调 function getWantAgentCallback(err, data) { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); if (err.code == 0) { wantAgent = data; } else { @@ -175,21 +175,21 @@ function getWantAgentCallback(err, data) { var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -197,18 +197,18 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { - WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) + WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback); //getBundleName回调 function getBundleNameCallback(err, data) { - console.info("==========================>getBundleNameCallback=======================>"); + console.info('==========================>getBundleNameCallback=======================>'); } - WantAgent.getBundleName(wantAgent, getBundleNameCallback) + WantAgent.getBundleName(wantAgent, getBundleNameCallback); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -247,21 +247,21 @@ var wantAgent; var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -269,19 +269,19 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { WantAgent.getWantAgent(wantAgentInfo).then((data) => { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); wantAgent = data; }); WantAgent.getBundleName(wantAgent).then((data) => { - console.info("==========================>getBundleNameCallback=======================>"); + console.info('==========================>getBundleNameCallback=======================>'); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -313,7 +313,7 @@ var wantAgent; //getWantAgent回调 function getWantAgentCallback(err, data) { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); if (err.code == 0) { wantAgent = data; } else { @@ -324,21 +324,21 @@ function getWantAgentCallback(err, data) { var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -346,18 +346,18 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { - WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) + WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback); //getUid回调 function getUidCallback(err, data) { - console.info("==========================>getUidCallback=======================>"); + console.info('==========================>getUidCallback=======================>'); } - WantAgent.getUid(wantAgent, getUidCallback) + WantAgent.getUid(wantAgent, getUidCallback); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -396,21 +396,21 @@ var wantAgent; var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -418,19 +418,19 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { WantAgent.getWantAgent(wantAgentInfo).then((data) => { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); wantAgent = data; }); WantAgent.getUid(wantAgent).then((data) => { - console.info("==========================>getUidCallback=======================>"); + console.info('==========================>getUidCallback=======================>'); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -464,7 +464,7 @@ var wantAgent; //getWantAgent回调 function getWantAgentCallback(err, data) { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); if (err.code == 0) { wantAgent = data; } else { @@ -475,21 +475,21 @@ function getWantAgentCallback(err, data) { var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -497,18 +497,18 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { - WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) + WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback); //getWant回调 function getWantCallback(err, data) { - console.info("==========================>getWantCallback=======================>"); + console.info('==========================>getWantCallback=======================>'); } - WantAgent.getWant(wantAgent, getWantCallback) + WantAgent.getWant(wantAgent, getWantCallback); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -549,21 +549,21 @@ var wantAgent; var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -571,19 +571,19 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { WantAgent.getWantAgent(wantAgentInfo).then((data) => { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); wantAgent = data; }); WantAgent.getWant(wantAgent).then((data) => { - console.info("==========================>getWantCallback=======================>"); + console.info('==========================>getWantCallback=======================>'); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -615,7 +615,7 @@ var wantAgent; //getWantAgent回调 function getWantAgentCallback(err, data) { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); if (err.code == 0) { wantAgent = data; } else { @@ -626,21 +626,21 @@ function getWantAgentCallback(err, data) { var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -648,18 +648,18 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { - WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) + WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback); //cancel回调 function cancelCallback(err, data) { - console.info("==========================>cancelCallback=======================>"); + console.info('==========================>cancelCallback=======================>'); } - WantAgent.cancel(wantAgent, cancelCallback) + WantAgent.cancel(wantAgent, cancelCallback); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -698,21 +698,21 @@ var wantAgent; var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -720,19 +720,19 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { WantAgent.getWantAgent(wantAgentInfo).then((data) => { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); wantAgent = data; }); WantAgent.cancel(wantAgent).then((data) => { - console.info("==========================>cancelCallback=======================>"); + console.info('==========================>cancelCallback=======================>'); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -765,7 +765,7 @@ var wantAgent; //getWantAgent回调 function getWantAgentCallback(err, data) { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); if (err.code == 0) { wantAgent = data; } else { @@ -776,21 +776,21 @@ function getWantAgentCallback(err, data) { var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -798,23 +798,23 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { - WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) + WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback); //trigger回调 function triggerCallback(data) { - console.info("==========================>triggerCallback=======================>"); + console.info('==========================>triggerCallback=======================>'); } var triggerInfo = { code:0 - } - WantAgent.trigger(wantAgent, triggerInfo, triggerCallback) + }; + WantAgent.trigger(wantAgent, triggerInfo, triggerCallback); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -848,7 +848,7 @@ var wantAgent2; //getWantAgent回调 function getWantAgentCallback(err, data) { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); if (err.code == 0) { wantAgent1 = data; wantAgent2 = data; @@ -860,21 +860,21 @@ function getWantAgentCallback(err, data) { var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -882,18 +882,18 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { - WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) + WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback); //equal回调 function equalCallback(err, data) { - console.info("==========================>equalCallback=======================>"); + console.info('==========================>equalCallback=======================>'); } - WantAgent.equal(wantAgent1, wantAgent2, equalCallback) + WantAgent.equal(wantAgent1, wantAgent2, equalCallback); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -934,21 +934,21 @@ var wantAgent2; var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -956,20 +956,20 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { WantAgent.getWantAgent(wantAgentInfo).then((data) => { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); wantAgent1 = data; wantAgent2 = data; }); WantAgent.equal(wantAgent1, wantAgent2).then((data) => { - console.info("==========================>equalCallback=======================>"); + console.info('==========================>equalCallback=======================>'); }); } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -1000,21 +1000,21 @@ var wantAgent; var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -1022,11 +1022,11 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { WantAgent.getWantAgent(wantAgentInfo).then((data) => { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); wantAgent = data; }); @@ -1034,7 +1034,7 @@ try { console.log('----------- getOperationType ----------, OperationType: ' + OperationType); }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` @@ -1070,21 +1070,21 @@ var wantAgent; var wantAgentInfo = { wants: [ { - deviceId: "deviceId", - bundleName: "com.neu.setResultOnAbilityResultTest1", - abilityName: "com.example.test.MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: 'deviceId', + bundleName: 'com.neu.setResultOnAbilityResultTest1', + abilityName: 'com.example.test.MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: { mykey0: 2222, mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", + mykey2: '[1, 2, 3]', + mykey3: 'ssssssssssssssssssssssssss', mykey4: [false, true, false], - mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey5: ['qqqqq', 'wwwwww', 'aaaaaaaaaaaaaaaaa'], mykey6: true, } } @@ -1092,11 +1092,11 @@ var wantAgentInfo = { operationType: WantAgent.OperationType.START_ABILITIES, requestCode: 0, wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] -} +}; try { WantAgent.getWantAgent(wantAgentInfo).then((data) => { - console.info("==========================>getWantAgentCallback=======================>"); + console.info('==========================>getWantAgentCallback=======================>'); wantAgent = data; }); @@ -1106,7 +1106,7 @@ try { console.log('getOperationType fail, err: ' + err); }) } catch (paramError) { - console.log("error: " + paramError.code + ", " + paramError.message); + console.log('error: ' + paramError.code + ', ' + paramError.message); } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-ability-wantConstant.md b/zh-cn/application-dev/reference/apis/js-apis-app-ability-wantConstant.md index 91383bd62de559f15313821736fd0281ca8029f6..357114c71e4fac2d58f432791e9b557e2b100c47 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-ability-wantConstant.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-ability-wantConstant.md @@ -8,7 +8,7 @@ wantConstant模块提供want中操作want常数和解释Flags说明的能力。 ## 导入模块 -```js +```ts import wantConstant from '@ohos.app.ability.wantConstant'; ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-form-formBindingData.md b/zh-cn/application-dev/reference/apis/js-apis-app-form-formBindingData.md index 6a9acda6c88e5b6d0199ff1077cfbedc66bed8d8..c801a37b16339fafbfc682c031f80b84f5fb96a4 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-form-formBindingData.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-form-formBindingData.md @@ -35,7 +35,7 @@ createFormBindingData(obj?: Object | string): FormBindingData | 参数名 | 类型 | 必填 | 说明 | | ------ | -------------- | ---- | ------------------------------------------------------------ | -| obj | Object\|string | 否 | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。其中图片数据以"formImages"作为标识,内容为图片标识与图片文件描述符的键值对{"formImages": {"key1": fd1, "key2": fd2}} | +| obj | Object\|string | 否 | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。其中图片数据以'formImages'作为标识,内容为图片标识与图片文件描述符的键值对{'formImages': {'key1': fd1, 'key2': fd2}} | **返回值:** @@ -52,11 +52,11 @@ import featureAbility from '@ohos.ability.featureAbility'; import fileio from '@ohos.fileio'; let context=featureAbility.getContext(); context.getOrCreateLocalDir((err,data)=>{ - let path=data+"/xxx.jpg"; + let path=data+'/xxx.jpg'; let fd = fileio.openSync(path); let obj = { - "temperature": "21°", - "formImages": {"image": fd} + 'temperature': '21°', + 'formImages': {'image': fd} }; try { formBindingData.createFormBindingData(obj); diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-form-formExtensionAbility.md b/zh-cn/application-dev/reference/apis/js-apis-app-form-formExtensionAbility.md index 6520391748d7593bba343086ca2438fc253dbf71..7cc5a26b23c12e0f5143981d4862ba5ba1650e12 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-form-formExtensionAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-form-formExtensionAbility.md @@ -49,8 +49,8 @@ export default class MyFormExtensionAbility extends FormExtensionAbility { onAddForm(want) { console.log('FormExtensionAbility onAddForm, want:' + want.abilityName); let dataObj1 = { - temperature:"11c", - "time":"11:00" + temperature:'11c', + 'time':'11:00' }; let obj1 = formBindingData.createFormBindingData(dataObj1); return obj1; @@ -99,11 +99,11 @@ onUpdateForm(formId: string): void **示例:** ```ts -import formBindingData from '@ohos.app.form.formBindingData' +import formBindingData from '@ohos.app.form.formBindingData'; export default class MyFormExtensionAbility extends FormExtensionAbility { onUpdateForm(formId) { console.log('FormExtensionAbility onUpdateForm, formId:' + formId); - let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); + let obj2 = formBindingData.createFormBindingData({temperature:'22c', time:'22:00'}); this.context.updateForm(formId, obj2).then((data)=>{ console.log('FormExtensionAbility context updateForm, data:' + data); }).catch((error) => { @@ -129,14 +129,14 @@ onChangeFormVisibility(newStatus: { [key: string]: number }): void **示例:** ```ts -import formBindingData from '@ohos.app.form.formBindingData' +import formBindingData from '@ohos.app.form.formBindingData'; export default class MyFormExtensionAbility extends FormExtensionAbility { onChangeFormVisibility(newStatus) { console.log('FormExtensionAbility onChangeFormVisibility, newStatus:' + newStatus); - let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); + let obj2 = formBindingData.createFormBindingData({temperature:'22c', time:'22:00'}); for (let key in newStatus) { - console.log('FormExtensionAbility onChangeFormVisibility, key:' + key + ", value=" + newStatus[key]); + console.log('FormExtensionAbility onChangeFormVisibility, key:' + key + ', value=' + newStatus[key]); this.context.updateForm(key, obj2).then((data)=>{ console.log('FormExtensionAbility context updateForm, data:' + data); }).catch((error) => { @@ -166,7 +166,7 @@ onFormEvent(formId: string, message: string): void ```ts export default class MyFormExtension extends FormExtensionAbility { onFormEvent(formId, message) { - console.log('FormExtensionAbility onFormEvent, formId:' + formId + ", message:" + message); + console.log('FormExtensionAbility onFormEvent, formId:' + formId + ', message:' + message); } } ``` @@ -274,8 +274,8 @@ class MyFormExtensionAbility extends FormExtensionAbility { onShareForm(formId) { console.log('FormExtensionAbility onShareForm, formId:' + formId); let wantParams = { - "temperature":"20", - "time":"2022-8-8 09:59", + 'temperature':'20', + 'time':'2022-8-8 09:59', }; return wantParams; } diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-form-formHost.md b/zh-cn/application-dev/reference/apis/js-apis-app-form-formHost.md index f7e0324ca30d9fc23fb7eeda1bb7d12731c1f9ad..d48bf0a55a5effc9bfe03df88a467d03e19afd19 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-form-formHost.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-form-formHost.md @@ -41,7 +41,7 @@ deleteForm(formId: string, callback: AsyncCallback<void>): void ```ts try { - var formId = "12400633174999288"; + var formId = '12400633174999288'; formHost.deleteForm(formId, (error, data) => { if (error) { console.log('formHost deleteForm, error:' + JSON.stringify(error)); @@ -89,7 +89,7 @@ deleteForm(formId: string): Promise<void> ```ts try { - var formId = "12400633174999288"; + var formId = '12400633174999288'; formHost.deleteForm(formId).then(() => { console.log('formHost deleteForm success'); }).catch((error) => { @@ -128,7 +128,7 @@ releaseForm(formId: string, callback: AsyncCallback<void>): void ```ts try { - var formId = "12400633174999288"; + var formId = '12400633174999288'; formHost.releaseForm(formId, (error, data) => { if (error) { console.log('formHost releaseForm, error:' + JSON.stringify(error)); @@ -168,7 +168,7 @@ releaseForm(formId: string, isReleaseCache: boolean, callback: AsyncCallback< ```ts try { - var formId = "12400633174999288"; + var formId = '12400633174999288'; formHost.releaseForm(formId, true, (error, data) => { if (error) { console.log('formHost releaseForm, error:' + JSON.stringify(error)); @@ -213,7 +213,7 @@ releaseForm(formId: string, isReleaseCache?: boolean): Promise<void> ```ts try { - var formId = "12400633174999288"; + var formId = '12400633174999288'; formHost.releaseForm(formId, true).then(() => { console.log('formHost releaseForm success'); }).catch((error) => { @@ -252,7 +252,7 @@ requestForm(formId: string, callback: AsyncCallback<void>): void ```ts try { - var formId = "12400633174999288"; + var formId = '12400633174999288'; formHost.requestForm(formId, (error, data) => { if (error) { console.log('formHost requestForm, error:' + JSON.stringify(error)); @@ -296,7 +296,7 @@ requestForm(formId: string): Promise<void> ```ts try { - var formId = "12400633174999288"; + var formId = '12400633174999288'; formHost.requestForm(formId).then(() => { console.log('formHost requestForm success'); }).catch((error) => { @@ -336,7 +336,7 @@ castToNormalForm(formId: string, callback: AsyncCallback<void>): void ```ts try { - var formId = "12400633174999288"; + var formId = '12400633174999288'; formHost.castToNormalForm(formId, (error, data) => { if (error) { console.log('formHost castTempForm, error:' + JSON.stringify(error)); @@ -380,7 +380,7 @@ castToNormalForm(formId: string): Promise<void> ```ts try { - var formId = "12400633174999288"; + var formId = '12400633174999288'; formHost.castToNormalForm(formId).then(() => { console.log('formHost castTempForm success'); }).catch((error) => { @@ -419,7 +419,7 @@ notifyVisibleForms(formIds: Array<string>, callback: AsyncCallback<void ```ts try { - var formId = ["12400633174999288"]; + var formId = ['12400633174999288']; formHost.notifyVisibleForms(formId, (error, data) => { if (error) { console.log('formHost notifyVisibleForms, error:' + JSON.stringify(error)); @@ -463,7 +463,7 @@ notifyVisibleForms(formIds: Array<string>): Promise<void> ```ts try { - var formId = ["12400633174999288"]; + var formId = ['12400633174999288']; formHost.notifyVisibleForms(formId).then(() => { console.log('formHost notifyVisibleForms success'); }).catch((error) => { @@ -502,7 +502,7 @@ notifyInvisibleForms(formIds: Array<string>, callback: AsyncCallback<vo ```ts try { - var formId = ["12400633174999288"]; + var formId = ['12400633174999288']; formHost.notifyInvisibleForms(formId, (error, data) => { if (error) { console.log('formHost notifyInvisibleForms, error:' + JSON.stringify(error)); @@ -546,7 +546,7 @@ notifyInvisibleForms(formIds: Array<string>): Promise<void> ```ts try { - var formId = ["12400633174999288"]; + var formId = ['12400633174999288']; formHost.notifyInvisibleForms(formId).then(() => { console.log('formHost notifyInvisibleForms success'); }).catch((error) => { @@ -585,7 +585,7 @@ enableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void& ```ts try { - var formId = ["12400633174999288"]; + var formId = ['12400633174999288']; formHost.enableFormsUpdate(formId, (error, data) => { if (error) { console.log('formHost enableFormsUpdate, error:' + JSON.stringify(error)); @@ -629,7 +629,7 @@ enableFormsUpdate(formIds: Array<string>): Promise<void> ```ts try { - var formId = ["12400633174999288"]; + var formId = ['12400633174999288']; formHost.enableFormsUpdate(formId).then(() => { console.log('formHost enableFormsUpdate success'); }).catch((error) => { @@ -668,7 +668,7 @@ disableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void ```ts try { - var formId = ["12400633174999288"]; + var formId = ['12400633174999288']; formHost.disableFormsUpdate(formId, (error, data) => { if (error) { console.log('formHost disableFormsUpdate, error:' + JSON.stringify(error)); @@ -712,7 +712,7 @@ disableFormsUpdate(formIds: Array<string>): Promise<void> ```ts try { - var formId = ["12400633174999288"]; + var formId = ['12400633174999288']; formHost.disableFormsUpdate(formId).then(() => { console.log('formHost disableFormsUpdate success'); }).catch((error) => { @@ -741,7 +741,7 @@ isSystemReady(callback: AsyncCallback<void>): void ```ts try { - var formId = "12400633174999288"; + var formId = '12400633174999288'; formHost.isSystemReady((error, data) => { if (error) { console.log('formHost isSystemReady, error:' + JSON.stringify(error)); @@ -770,7 +770,7 @@ isSystemReady(): Promise<void> ```ts try { - var formId = "12400633174999288"; + var formId = '12400633174999288'; formHost.isSystemReady().then(() => { console.log('formHost isSystemReady success'); }).catch((error) => { @@ -871,7 +871,7 @@ getFormsInfo(bundleName: string, callback: AsyncCallback<Array<formInfo.Fo ```ts try { - formHost.getFormsInfo("com.example.ohos.formjsdemo", (error, data) => { + formHost.getFormsInfo('com.example.ohos.formjsdemo', (error, data) => { if (error) { console.log('formHost getFormsInfo, error:' + JSON.stringify(error)); } else { @@ -912,7 +912,7 @@ getFormsInfo(bundleName: string, moduleName: string, callback: AsyncCallback< ```ts try { - formHost.getFormsInfo("com.example.ohos.formjsdemo", "entry", (error, data) => { + formHost.getFormsInfo('com.example.ohos.formjsdemo', 'entry', (error, data) => { if (error) { console.log('formHost getFormsInfo, error:' + JSON.stringify(error)); } else { @@ -958,7 +958,7 @@ getFormsInfo(bundleName: string, moduleName?: string): Promise<Array<formI ```ts try { - formHost.getFormsInfo("com.example.ohos.formjsdemo", "entry").then((data) => { + formHost.getFormsInfo('com.example.ohos.formjsdemo', 'entry').then((data) => { console.log('formHost getFormsInfo, data:' + JSON.stringify(data)); }).catch((error) => { console.log('formHost getFormsInfo, error:' + JSON.stringify(error)); @@ -989,7 +989,7 @@ deleteInvalidForms(formIds: Array<string>, callback: AsyncCallback<numb ```ts try { - var formIds = new Array("12400633174999288", "12400633174999289"); + var formIds = new Array('12400633174999288', '12400633174999289'); formHost.deleteInvalidForms(formIds, (error, data) => { if (error) { console.log('formHost deleteInvalidForms, error:' + JSON.stringify(error)); @@ -1028,7 +1028,7 @@ deleteInvalidForms(formIds: Array<string>): Promise<number> ```ts try { - var formIds = new Array("12400633174999288", "12400633174999289"); + var formIds = new Array('12400633174999288', '12400633174999289'); formHost.deleteInvalidForms(formIds).then((data) => { console.log('formHost deleteInvalidForms, data:' + JSON.stringify(data)); }).catch((error) => { @@ -1067,13 +1067,13 @@ acquireFormState(want: Want, callback: AsyncCallback<formInfo.FormStateInfo&g ```ts var want = { - "deviceId": "", - "bundleName": "ohos.samples.FormApplication", - "abilityName": "FormAbility", - "parameters": { - "ohos.extra.param.key.module_name": "entry", - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.form_dimension": 2 + 'deviceId': '', + 'bundleName': 'ohos.samples.FormApplication', + 'abilityName': 'FormAbility', + 'parameters': { + 'ohos.extra.param.key.module_name': 'entry', + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.form_dimension': 2 } }; try { @@ -1122,13 +1122,13 @@ acquireFormState(want: Want): Promise<formInfo.FormStateInfo> ```ts var want = { - "deviceId": "", - "bundleName": "ohos.samples.FormApplication", - "abilityName": "FormAbility", - "parameters": { - "ohos.extra.param.key.module_name": "entry", - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.form_dimension": 2 + 'deviceId': '', + 'bundleName': 'ohos.samples.FormApplication', + 'abilityName': 'FormAbility', + 'parameters': { + 'ohos.extra.param.key.module_name': 'entry', + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.form_dimension': 2 } }; try { @@ -1142,9 +1142,9 @@ try { } ``` -## on("formUninstall") +## on('formUninstall') -on(type: "formUninstall", callback: Callback<string>): void +on(type: 'formUninstall', callback: Callback<string>): void 订阅卡片卸载事件。使用callback异步回调。 @@ -1154,7 +1154,7 @@ on(type: "formUninstall", callback: Callback<string>): void | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------- | -| type | string | 是 | 填写"formUninstall",表示卡片卸载事件。 | +| type | string | 是 | 填写'formUninstall',表示卡片卸载事件。 | | callback | Callback<string> | 是 | 回调函数。返回卡片标识。 | **示例:** @@ -1163,12 +1163,12 @@ on(type: "formUninstall", callback: Callback<string>): void let callback = function(formId) { console.log('formHost on formUninstall, formId:' + formId); } -formHost.on("formUninstall", callback); +formHost.on('formUninstall', callback); ``` -## off("formUninstall") +## off('formUninstall') -off(type: "formUninstall", callback?: Callback<string>): void +off(type: 'formUninstall', callback?: Callback<string>): void 取消订阅卡片卸载事件。使用callback异步回调。 @@ -1178,7 +1178,7 @@ off(type: "formUninstall", callback?: Callback<string>): void | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------- | -| type | string | 是 | 填写"formUninstall",表示卡片卸载事件。 | +| type | string | 是 | 填写'formUninstall',表示卡片卸载事件。 | | callback | Callback<string> | 否 | 回调函数。返回卡片标识。缺省时,表示注销所有已注册事件回调。 | **示例:** @@ -1187,7 +1187,7 @@ off(type: "formUninstall", callback?: Callback<string>): void let callback = function(formId) { console.log('formHost on formUninstall, formId:' + formId); } -formHost.off("formUninstall", callback); +formHost.off('formUninstall', callback); ``` ## notifyFormsVisible @@ -1218,7 +1218,7 @@ notifyFormsVisible(formIds: Array<string>, isVisible: boolean, callback: A **示例:** ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); try { formHost.notifyFormsVisible(formIds, true, (error, data) => { if (error) { @@ -1263,7 +1263,7 @@ notifyFormsVisible(formIds: Array<string>, isVisible: boolean): Promise< **示例:** ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); try { formHost.notifyFormsVisible(formIds, true).then(() => { console.log('formHost notifyFormsVisible success'); @@ -1303,7 +1303,7 @@ notifyFormsEnableUpdate(formIds: Array<string>, isEnableUpdate: boolean, c **示例:** ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); try { formHost.notifyFormsEnableUpdate(formIds, true, (error, data) => { if (error) { @@ -1348,7 +1348,7 @@ notifyFormsEnableUpdate(formIds: Array<string>, isEnableUpdate: boolean): **示例:** ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); try { formHost.notifyFormsEnableUpdate(formIds, true).then(() => { console.log('formHost notifyFormsEnableUpdate success'); @@ -1388,8 +1388,8 @@ shareForm(formId: string, deviceId: string, callback: AsyncCallback<void>) **示例:** ```ts -var formId = "12400633174999288"; -var deviceId = "EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2"; +var formId = '12400633174999288'; +var deviceId = 'EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2'; try { formHost.shareForm(formId, deviceId, (error, data) => { if (error) { @@ -1434,8 +1434,8 @@ shareForm(formId: string, deviceId: string): Promise<void> **参数:** ```ts -var formId = "12400633174999288"; -var deviceId = "EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2"; +var formId = '12400633174999288'; +var deviceId = 'EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2'; try { formHost.shareForm(formId, deviceId).then(() => { console.log('formHost shareForm success'); @@ -1463,7 +1463,7 @@ notifyFormsPrivacyProtected(formIds: Array\, isProtected: boolean, callb | deviceId | string | 是 | 远程设备标识。 | ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); try { formHost.notifyFormsPrivacyProtected(formIds, true).then(() => { console.log('formHost shareForm success'); diff --git a/zh-cn/application-dev/reference/apis/js-apis-app-form-formProvider.md b/zh-cn/application-dev/reference/apis/js-apis-app-form-formProvider.md index 04ccf2a32fbba0447f651c3129d3835857f60a8c..81b5b8fa9c541ea575842f552b7ff2d35161e451 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-app-form-formProvider.md +++ b/zh-cn/application-dev/reference/apis/js-apis-app-form-formProvider.md @@ -37,7 +37,7 @@ setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback&l **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; try { formProvider.setFormNextRefreshTime(formId, 5, (error, data) => { if (error) { @@ -47,7 +47,7 @@ try { } }); } catch (error) { - console.log("error" + JSON.stringify(error)) + console.log('error' + JSON.stringify(error)) } ``` @@ -82,7 +82,7 @@ setFormNextRefreshTime(formId: string, minute: number): Promise<void> **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; try { formProvider.setFormNextRefreshTime(formId, 5).then(() => { console.log('formProvider setFormNextRefreshTime success'); @@ -121,9 +121,9 @@ updateForm(formId: string, formBindingData: formBindingData.FormBindingData,call ```ts import formBindingData from '@ohos.application.formBindingData'; -var formId = "12400633174999288"; +var formId = '12400633174999288'; try { - let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); + let obj = formBindingData.createFormBindingData({temperature:'22c', time:'22:00'}); formProvider.updateForm(formId, obj, (error, data) => { if (error) { console.log('formProvider updateForm, error:' + JSON.stringify(error)); @@ -168,8 +168,8 @@ updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Pr ```ts import formBindingData from '@ohos.application.formBindingData'; -var formId = "12400633174999288"; -let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); +var formId = '12400633174999288'; +let obj = formBindingData.createFormBindingData({temperature:'22c', time:'22:00'}); try { formProvider.updateForm(formId, obj).then(() => { console.log('formProvider updateForm success'); @@ -246,7 +246,7 @@ getFormsInfo(filter: formInfo.FormInfoFilter, callback: AsyncCallback<Array&l import formInfo from '@ohos.application.formInfo'; const filter : formInfo.FormInfoFilter = { // get info of forms belong to module entry. - moduleName : "entry" + moduleName : 'entry' }; try { formProvider.getFormsInfo(filter, (error, data) => { @@ -294,7 +294,7 @@ getFormsInfo(filter?: formInfo.FormInfoFilter): Promise<Array<formInfo.For import formInfo from '@ohos.application.formInfo'; const filter : formInfo.FormInfoFilter = { // get info of forms belong to module entry. - moduleName : "entry" + moduleName : 'entry' }; try { formProvider.getFormsInfo(filter).then((data) => { @@ -321,7 +321,7 @@ requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData, | 参数名 | 类型 | 必填 | 说明 | | ------ | ---------------------------------------------------------------------- | ---- | ---------------- | -| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
"ohos.extra.param.key.form_dimension"
"ohos.extra.param.key.form_name"
"ohos.extra.param.key.module_name" | +| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
'ohos.extra.param.key.form_dimension'
'ohos.extra.param.key.form_name'
'ohos.extra.param.key.module_name' | | formBindingData.FormBindingData | [FormBindingData](js-apis-app-form-formBindingData.md#formbindingdata) | 是 | 创建卡片的数据。 | | callback | AsyncCallback<string> | 是 | 回调函数。返回卡片标识。 | @@ -337,15 +337,15 @@ requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData, ```ts import formBindingData from '@ohos.application.formBindingData'; var want = { - abilityName: "FormAbility", + abilityName: 'FormAbility', parameters: { - "ohos.extra.param.key.form_dimension": 2, - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.module_name": "entry" + 'ohos.extra.param.key.form_dimension': 2, + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.module_name': 'entry' } }; try { - let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); + let obj = formBindingData.createFormBindingData({temperature:'22c', time:'22:00'}); formProvider.requestPublishForm(want, obj, (error, data) => { if (error) { console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error)); @@ -372,7 +372,7 @@ requestPublishForm(want: Want, callback: AsyncCallback<string>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------- | ---- | ------------------------------------------------------------ | -| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
"ohos.extra.param.key.form_dimension"
"ohos.extra.param.key.form_name"
"ohos.extra.param.key.module_name" | +| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
'ohos.extra.param.key.form_dimension'
'ohos.extra.param.key.form_name'
'ohos.extra.param.key.module_name' | | callback | AsyncCallback<string> | 是 | 回调函数。返回卡片标识。 | **错误码:** @@ -386,11 +386,11 @@ requestPublishForm(want: Want, callback: AsyncCallback<string>): void ```ts var want = { - abilityName: "FormAbility", + abilityName: 'FormAbility', parameters: { - "ohos.extra.param.key.form_dimension": 2, - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.module_name": "entry" + 'ohos.extra.param.key.form_dimension': 2, + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.module_name': 'entry' } }; try { @@ -421,7 +421,7 @@ requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData | 参数名 | 类型 | 必填 | 说明 | | --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | -| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
"ohos.extra.param.key.form_dimension"
"ohos.extra.param.key.form_name"
"ohos.extra.param.key.module_name" | +| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
'ohos.extra.param.key.form_dimension'
'ohos.extra.param.key.form_name'
'ohos.extra.param.key.module_name' | | formBindingData.FormBindingData | [FormBindingData](js-apis-app-form-formBindingData.md#formbindingdata) | 否 | 创建卡片的数据。 | **返回值:** @@ -441,11 +441,11 @@ requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData ```ts var want = { - abilityName: "FormAbility", + abilityName: 'FormAbility', parameters: { - "ohos.extra.param.key.form_dimension": 2, - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.module_name": "entry" + 'ohos.extra.param.key.form_dimension': 2, + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.module_name': 'entry' } }; try { @@ -485,11 +485,11 @@ try { } else { if (isSupported) { var want = { - abilityName: "FormAbility", + abilityName: 'FormAbility', parameters: { - "ohos.extra.param.key.form_dimension": 2, - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.module_name": "entry" + 'ohos.extra.param.key.form_dimension': 2, + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.module_name': 'entry' } }; try { @@ -535,11 +535,11 @@ try { formProvider.isRequestPublishFormSupported().then((isSupported) => { if (isSupported) { var want = { - abilityName: "FormAbility", + abilityName: 'FormAbility', parameters: { - "ohos.extra.param.key.form_dimension": 2, - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.module_name": "entry" + 'ohos.extra.param.key.form_dimension': 2, + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.module_name': 'entry' } }; try { diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-ability.md b/zh-cn/application-dev/reference/apis/js-apis-application-ability.md index ba7425428945eb12aada1253c191a19330591d3e..cc1fc06eafbad04401ab943489cb38e8e5bd67f3 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-ability.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-ability.md @@ -204,11 +204,11 @@ onContinue(wantParam : {[key: string]: any}): AbilityConstant.OnContinueResult; **示例:** ```ts - import AbilityConstant from "@ohos.application.AbilityConstant" + import AbilityConstant from '@ohos.application.AbilityConstant'; class myAbility extends Ability { onContinue(wantParams) { console.log('onContinue'); - wantParams["myData"] = "my1234567"; + wantParams['myData'] = 'my1234567'; return AbilityConstant.OnContinueResult.AGREE; } } @@ -285,7 +285,7 @@ dump(params: Array\): Array\; class myAbility extends Ability { dump(params) { console.log('dump, params:' + JSON.stringify(params)); - return ["params"] + return ['params'] } } ``` @@ -338,12 +338,12 @@ onSaveState(reason: AbilityConstant.StateType, wantParam : {[key: string]: any}) **示例:** ```ts -import AbilityConstant from '@ohos.application.AbilityConstant' +import AbilityConstant from '@ohos.application.AbilityConstant'; class myAbility extends Ability { onSaveState(reason, wantParam) { console.log('onSaveState'); - wantParam["myData"] = "my1234567"; + wantParam['myData'] = 'my1234567'; return AbilityConstant.OnSaveResult.RECOVERY_AGREE; } } @@ -391,8 +391,8 @@ call(method: string, data: rpc.Sequenceable): Promise<void>; ```ts import Ability from '@ohos.application.Ability'; class MyMessageAble{ // 自定义的Sequenceable数据结构 - name:"" - str:"" + name:'' + str:'' num: 1 constructor(name, str) { this.name = name; @@ -416,12 +416,12 @@ call(method: string, data: rpc.Sequenceable): Promise<void>; export default class MainAbility extends Ability { onWindowStageCreate(windowStage) { this.context.startAbilityByCall({ - bundleName: "com.example.myservice", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + abilityName: 'MainAbility', + deviceId: '' }).then((obj) => { caller = obj; - let msg = new MyMessageAble("msg", "world"); // 参考Sequenceable数据定义 + let msg = new MyMessageAble('msg', 'world'); // 参考Sequenceable数据定义 caller.call(method, msg) .then(() => { console.log('Caller call() called'); @@ -475,8 +475,8 @@ callWithResult(method: string, data: rpc.Sequenceable): Promise<rpc.MessagePa ```ts import Ability from '@ohos.application.Ability'; class MyMessageAble{ - name:"" - str:"" + name:'' + str:'' num: 1 constructor(name, str) { this.name = name; @@ -500,16 +500,16 @@ callWithResult(method: string, data: rpc.Sequenceable): Promise<rpc.MessagePa export default class MainAbility extends Ability { onWindowStageCreate(windowStage) { this.context.startAbilityByCall({ - bundleName: "com.example.myservice", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + abilityName: 'MainAbility', + deviceId: '' }).then((obj) => { caller = obj; - let msg = new MyMessageAble(1, "world"); + let msg = new MyMessageAble(1, 'world'); caller.callWithResult(method, msg) .then((data) => { console.log('Caller callWithResult() called'); - let retmsg = new MyMessageAble(0, ""); + let retmsg = new MyMessageAble(0, ''); data.readSequenceable(retmsg); }) .catch((callErr) => { @@ -550,9 +550,9 @@ release(): void; export default class MainAbility extends Ability { onWindowStageCreate(windowStage) { this.context.startAbilityByCall({ - bundleName: "com.example.myservice", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + abilityName: 'MainAbility', + deviceId: '' }).then((obj) => { caller = obj; try { @@ -591,9 +591,9 @@ release(): void; export default class MainAbility extends Ability { onWindowStageCreate(windowStage) { this.context.startAbilityByCall({ - bundleName: "com.example.myservice", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + abilityName: 'MainAbility', + deviceId: '' }).then((obj) => { caller = obj; try { @@ -645,8 +645,8 @@ on(method: string, callback: CalleeCallBack): void; ```ts import Ability from '@ohos.application.Ability'; class MyMessageAble{ - name:"" - str:"" + name:'' + str:'' num: 1 constructor(name, str) { this.name = name; @@ -668,9 +668,9 @@ on(method: string, callback: CalleeCallBack): void; let method = 'call_Function'; function funcCallBack(pdata) { console.log('Callee funcCallBack is called ' + pdata); - let msg = new MyMessageAble("test", ""); + let msg = new MyMessageAble('test', ''); pdata.readSequenceable(msg); - return new MyMessageAble("test1", "Callee test"); + return new MyMessageAble('test1', 'Callee test'); } export default class MainAbility extends Ability { onCreate(want, launchParam) { diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-abilityDelegatorRegistry.md b/zh-cn/application-dev/reference/apis/js-apis-application-abilityDelegatorRegistry.md index 1d5a6b763f438966e57aa075085f47a6aa2b433e..c060055846b1fc9567c2365423bff44c0199a62c 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-abilityDelegatorRegistry.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-abilityDelegatorRegistry.md @@ -66,7 +66,7 @@ getArguments(): AbilityDelegatorArgs ```ts let args = AbilityDelegatorRegistry.getArguments(); -console.info("getArguments bundleName:" + args.bundleName); -console.info("getArguments testCaseNames:" + args.testCaseNames); -console.info("getArguments testRunnerClassName:" + args.testRunnerClassName); +console.info('getArguments bundleName:' + args.bundleName); +console.info('getArguments testCaseNames:' + args.testCaseNames); +console.info('getArguments testRunnerClassName:' + args.testRunnerClassName); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-abilityLifecycleCallback.md b/zh-cn/application-dev/reference/apis/js-apis-application-abilityLifecycleCallback.md index ed03531bf9656276c822294678dac2f383978897..28d011e41aceefb70c7260fe5f08f243c9ce14cc 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-abilityLifecycleCallback.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-abilityLifecycleCallback.md @@ -11,7 +11,7 @@ AbilityLifecycleCallback模块提供应用上下文ApplicationContext的生命 ## 导入模块 ```ts -import AbilityLifecycleCallback from "@ohos.application.AbilityLifecycleCallback"; +import AbilityLifecycleCallback from '@ohos.application.AbilityLifecycleCallback'; ``` @@ -157,56 +157,56 @@ onAbilityContinue(ability: Ability): void; ```ts -import AbilityStage from "@ohos.application.AbilityStage"; +import AbilityStage from '@ohos.application.AbilityStage'; let lifecycleid; export default class MyAbilityStage extends AbilityStage { onCreate() { - console.log("MyAbilityStage onCreate") + console.log('MyAbilityStage onCreate') let AbilityLifecycleCallback = { onAbilityCreate(ability){ - console.log("AbilityLifecycleCallback onAbilityCreate ability:" + JSON.stringify(ability)); + console.log('AbilityLifecycleCallback onAbilityCreate ability:' + JSON.stringify(ability)); }, onWindowStageCreate(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageCreate ability:" + JSON.stringify(ability)); - console.log("AbilityLifecycleCallback onWindowStageCreate windowStage:" + JSON.stringify(windowStage)); + console.log('AbilityLifecycleCallback onWindowStageCreate ability:' + JSON.stringify(ability)); + console.log('AbilityLifecycleCallback onWindowStageCreate windowStage:' + JSON.stringify(windowStage)); }, onWindowStageActive(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageActive ability:" + JSON.stringify(ability)); - console.log("AbilityLifecycleCallback onWindowStageActive windowStage:" + JSON.stringify(windowStage)); + console.log('AbilityLifecycleCallback onWindowStageActive ability:' + JSON.stringify(ability)); + console.log('AbilityLifecycleCallback onWindowStageActive windowStage:' + JSON.stringify(windowStage)); }, onWindowStageInactive(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageInactive ability:" + JSON.stringify(ability)); - console.log("AbilityLifecycleCallback onWindowStageInactive windowStage:" + JSON.stringify(windowStage)); + console.log('AbilityLifecycleCallback onWindowStageInactive ability:' + JSON.stringify(ability)); + console.log('AbilityLifecycleCallback onWindowStageInactive windowStage:' + JSON.stringify(windowStage)); }, onWindowStageDestroy(ability, windowStage){ - console.log("AbilityLifecycleCallback onWindowStageDestroy ability:" + JSON.stringify(ability)); - console.log("AbilityLifecycleCallback onWindowStageDestroy windowStage:" + JSON.stringify(windowStage)); + console.log('AbilityLifecycleCallback onWindowStageDestroy ability:' + JSON.stringify(ability)); + console.log('AbilityLifecycleCallback onWindowStageDestroy windowStage:' + JSON.stringify(windowStage)); }, onAbilityDestroy(ability){ - console.log("AbilityLifecycleCallback onAbilityDestroy ability:" + JSON.stringify(ability)); + console.log('AbilityLifecycleCallback onAbilityDestroy ability:' + JSON.stringify(ability)); }, onAbilityForeground(ability){ - console.log("AbilityLifecycleCallback onAbilityForeground ability:" + JSON.stringify(ability)); + console.log('AbilityLifecycleCallback onAbilityForeground ability:' + JSON.stringify(ability)); }, onAbilityBackground(ability){ - console.log("AbilityLifecycleCallback onAbilityBackground ability:" + JSON.stringify(ability)); + console.log('AbilityLifecycleCallback onAbilityBackground ability:' + JSON.stringify(ability)); }, onAbilityContinue(ability){ - console.log("AbilityLifecycleCallback onAbilityContinue ability:" + JSON.stringify(ability)); + console.log('AbilityLifecycleCallback onAbilityContinue ability:' + JSON.stringify(ability)); } } // 1.通过context属性获取applicationContext let applicationContext = this.context.getApplicationContext(); // 2.通过applicationContext注册监听应用内生命周期 lifecycleid = applicationContext.registerAbilityLifecycleCallback(AbilityLifecycleCallback); - console.log("registerAbilityLifecycleCallback number: " + JSON.stringify(lifecycleid)); + console.log('registerAbilityLifecycleCallback number: ' + JSON.stringify(lifecycleid)); } onDestroy() { let applicationContext = this.context.getApplicationContext(); applicationContext.unregisterAbilityLifecycleCallback(lifecycleid, (error, data) => { - console.log("unregisterAbilityLifecycleCallback success, err: " + JSON.stringify(error)); + console.log('unregisterAbilityLifecycleCallback success, err: ' + JSON.stringify(error)); }); } } diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-abilityManager.md b/zh-cn/application-dev/reference/apis/js-apis-application-abilityManager.md index cfd957798884eb47998a9dca6d1a3bebd0f618f3..ca431b5275e6c793c6823e5d3e929c29e21efcc6 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-abilityManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-abilityManager.md @@ -10,7 +10,7 @@ AbilityManager模块提供对Ability相关信息和状态信息进行获取、 ## 导入模块 ```ts -import AbilityManager from '@ohos.application.abilityManager' +import AbilityManager from '@ohos.application.abilityManager'; ``` ## AbilityState @@ -53,7 +53,7 @@ import abilitymanager from '@ohos.application.abilityManager'; let config = { language: 'chinese' -} +}; abilitymanager.updateConfiguration(config, () => { console.log('------------ updateConfiguration -----------'); @@ -89,7 +89,7 @@ import abilitymanager from '@ohos.application.abilityManager'; let config = { language: 'chinese' -} +}; abilitymanager.updateConfiguration(config).then(() => { console.log('updateConfiguration success'); @@ -146,8 +146,8 @@ getAbilityRunningInfos(): Promise\> import abilitymanager from '@ohos.application.abilityManager'; abilitymanager.getAbilityRunningInfos().then((data) => { - console.log("getAbilityRunningInfos data: " + JSON.stringify(data)) + console.log("getAbilityRunningInfos data: " + JSON.stringify(data)); }).catch((err) => { - console.log("getAbilityRunningInfos err: " + err) + console.log("getAbilityRunningInfos err: " + err); }); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-accessibilityExtensionAbility.md b/zh-cn/application-dev/reference/apis/js-apis-application-accessibilityExtensionAbility.md index ef6a02866bd167e79d6f7bd148403401b1daaec7..bb37534a86ff2831456083701d8fd21d39e1389a 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-accessibilityExtensionAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-accessibilityExtensionAbility.md @@ -9,7 +9,7 @@ ## 导入模块 ```ts -import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility' +import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility'; ``` ## 属性 @@ -137,7 +137,7 @@ onAccessibilityEvent(event: AccessibilityEvent): void; class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { onAccessibilityEvent(event) { console.log('AxExtensionAbility onAccessibilityEvent'); - if (event.eventType == 'click') { + if (event.eventType === 'click') { console.log('AxExtensionAbility onAccessibilityEvent: click'); } } @@ -164,7 +164,7 @@ onKeyEvent(keyEvent: KeyEvent): boolean; class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { onKeyEvent(keyEvent) { console.log('AxExtensionAbility onKeyEvent'); - if (keyEvent.keyCode == 22) { + if (keyEvent.keyCode === 22) { console.log('AxExtensionAbility onKeyEvent: intercept 22'); return true; } diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-appManager.md b/zh-cn/application-dev/reference/apis/js-apis-application-appManager.md index b90614f6931bb50cc4fe1057ed3e51f98201a20c..e39da5c1feab6201afa4ba68fdefcfcfefd0e8c7 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-appManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-appManager.md @@ -32,7 +32,7 @@ static isRunningInStabilityTest(callback: AsyncCallback<boolean>): void import app from '@ohos.application.appManager'; app.isRunningInStabilityTest((err, flag) => { console.log('startAbility result:' + JSON.stringify(err)); - }) + }); ``` @@ -106,7 +106,7 @@ isRamConstrainedDevice(callback: AsyncCallback\): void; app.isRamConstrainedDevice((err, data) => { console.log('startAbility result failed:' + JSON.stringify(err)); console.log('startAbility result success:' + JSON.stringify(data)); - }) + }); ``` ## appManager.getAppMemorySize @@ -153,7 +153,7 @@ getAppMemorySize(callback: AsyncCallback\): void; app.getAppMemorySize((err, data) => { console.log('startAbility result failed :' + JSON.stringify(err)); console.log('startAbility result success:' + JSON.stringify(data)); - }) + }); ``` ## appManager.getProcessRunningInfos(deprecated) @@ -258,7 +258,7 @@ getProcessRunningInformation(callback: AsyncCallback\ { console.log('startAbility result failed :' + JSON.stringify(err)); console.log('startAbility result success:' + JSON.stringify(data)); - }) + }); ``` ## appManager.registerApplicationStateObserver8+ @@ -298,7 +298,7 @@ registerApplicationStateObserver(observer: ApplicationStateObserver): number; onProcessStateChanged(processData) { console.log('------------ onProcessStateChanged -----------', processData); } - } + }; const observerCode = app.registerApplicationStateObserver(applicationStateObserver); console.log('-------- observerCode: ---------', observerCode); ``` @@ -341,7 +341,7 @@ registerApplicationStateObserver(observer: ApplicationStateObserver, bundleNameL onProcessStateChanged(processData) { console.log('------------ onProcessStateChanged -----------', processData); } - } + }; let bundleNameList = ['bundleName1', 'bundleName2']; const observerCode = app.registerApplicationStateObserver(applicationStateObserver, bundleNameList); console.log('-------- observerCode: ---------', observerCode); @@ -413,7 +413,7 @@ unregisterApplicationStateObserver(observerId: number): Promise\; }) .catch((err) => { console.log('----------- unregisterApplicationStateObserver fail ----------', err); - }) + }); ``` ## appManager.getForegroundApplications8+ @@ -474,7 +474,7 @@ getForegroundApplications(): Promise\>; }) .catch((err) => { console.log('--------- getForegroundApplications fail -------', err); - }) + }); ``` ## appManager.killProcessWithAccount8+ @@ -507,7 +507,7 @@ app.killProcessWithAccount(bundleName, accountId) }) .catch((err) => { console.log('------------ killProcessWithAccount fail ------------', err); - }) + }); ``` @@ -613,7 +613,7 @@ killProcessesByBundleName(bundleName: string): Promise\; }) .catch((err) => { console.log('------------ killProcessesByBundleName fail ------------', err); - }) + }); ``` ## appManager.clearUpApplicationData8+ @@ -683,5 +683,5 @@ clearUpApplicationData(bundleName: string): Promise\; }) .catch((err) => { console.log('------------ clearUpApplicationData fail ------------', err); - }) + }); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-configuration.md b/zh-cn/application-dev/reference/apis/js-apis-application-configuration.md index 1e4211c7b01b29f38829f231f2b9f054db71b47c..35e87b3c830976d2e596c5a6a4b1446533c843a4 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-configuration.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-configuration.md @@ -32,7 +32,7 @@ export default class MainAbility extends Ability { onWindowStageCreate(windowStage: Window.WindowStage) { let envCallback = { onConfigurationUpdated(config) { - console.info(`envCallback onConfigurationUpdated success: ${JSON.stringify(config)}`) + console.info(`envCallback onConfigurationUpdated success: ${JSON.stringify(config)}`); let language = config.language; let colorMode = config.colorMode; } diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-dataShareExtensionAbility.md b/zh-cn/application-dev/reference/apis/js-apis-application-dataShareExtensionAbility.md index c3844b5182cca13b14e048ceb8144a3fdebb69a9..b13589178ab4ff55a44a90cf1fd65ac20ae44cdf 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-dataShareExtensionAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-dataShareExtensionAbility.md @@ -14,7 +14,7 @@ ## 导入模块 ```ts -import DataShareExtensionAbility from '@ohos.application.DataShareExtensionAbility' +import DataShareExtensionAbility from '@ohos.application.DataShareExtensionAbility'; ``` ## uri命名规则 @@ -65,11 +65,11 @@ DataShare客户端连接DataShareExtensionAbility服务端时,服务端回调 ```ts import rdb from '@ohos.data.relationalStore'; -let DB_NAME = "DB00.db"; -let TBL_NAME = "TBL00"; -let DDL_TBL_CREATE = "CREATE TABLE IF NOT EXISTS " +let DB_NAME = 'DB00.db'; +let TBL_NAME = 'TBL00'; +let DDL_TBL_CREATE = 'CREATE TABLE IF NOT EXISTS ' + TBL_NAME - + " (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)"; + + ' (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)'; let rdbStore; export default class DataShareExtAbility extends DataShareExtensionAbility { @@ -112,22 +112,22 @@ insert?(uri: string, valueBucket: ValuesBucket, callback: AsyncCallback<numbe ```ts import rdb from '@ohos.data.relationalStore'; -let DB_NAME = "DB00.db"; -let TBL_NAME = "TBL00"; -let DDL_TBL_CREATE = "CREATE TABLE IF NOT EXISTS " +let DB_NAME = 'DB00.db'; +let TBL_NAME = 'TBL00'; +let DDL_TBL_CREATE = 'CREATE TABLE IF NOT EXISTS ' + TBL_NAME - + " (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)"; + + ' (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)'; let rdbStore; export default class DataShareExtAbility extends DataShareExtensionAbility { insert(uri, valueBucket, callback) { - if (valueBucket == null) { + if (valueBucket === null) { console.info('invalid valueBuckets'); return; } rdbStore.insert(TBL_NAME, valueBucket, function (err, ret) { console.info('callback ret:' + ret); - if (callback != undefined) { + if (callback !== undefined) { callback(err, ret); } }); @@ -157,20 +157,20 @@ update?(uri: string, predicates: dataSharePredicates.DataSharePredicates, valueB ```ts import rdb from '@ohos.data.relationalStore'; -let DB_NAME = "DB00.db"; -let TBL_NAME = "TBL00"; -let DDL_TBL_CREATE = "CREATE TABLE IF NOT EXISTS " +let DB_NAME = 'DB00.db'; +let TBL_NAME = 'TBL00'; +let DDL_TBL_CREATE = 'CREATE TABLE IF NOT EXISTS ' + TBL_NAME - + " (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)"; + + ' (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)'; let rdbStore; export default class DataShareExtAbility extends DataShareExtensionAbility { update(uri, predicates, valueBucket, callback) { - if (predicates == null || predicates == undefined) { + if (predicates === null || predicates === undefined) { return; } rdbStore.update(TBL_NAME, valueBucket, predicates, function (err, ret) { - if (callback != undefined) { + if (callback !== undefined) { callback(err, ret); } }); @@ -199,20 +199,20 @@ delete?(uri: string, predicates: dataSharePredicates.DataSharePredicates, callba ```ts import rdb from '@ohos.data.relationalStore'; -let DB_NAME = "DB00.db"; -let TBL_NAME = "TBL00"; -let DDL_TBL_CREATE = "CREATE TABLE IF NOT EXISTS " +let DB_NAME = 'DB00.db'; +let TBL_NAME = 'TBL00'; +let DDL_TBL_CREATE = 'CREATE TABLE IF NOT EXISTS ' + TBL_NAME - + " (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)"; + + ' (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)'; let rdbStore; export default class DataShareExtAbility extends DataShareExtensionAbility { delete(uri, predicates, callback) { - if (predicates == null || predicates == undefined) { + if (predicates === null || predicates === undefined) { return; } rdbStore.delete(TBL_NAME, predicates, function (err, ret) { - if (callback != undefined) { + if (callback !== undefined) { callback(err, ret); } }); @@ -242,23 +242,23 @@ query?(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns ```ts import rdb from '@ohos.data.relationalStore'; -let DB_NAME = "DB00.db"; -let TBL_NAME = "TBL00"; -let DDL_TBL_CREATE = "CREATE TABLE IF NOT EXISTS " +let DB_NAME = 'DB00.db'; +let TBL_NAME = 'TBL00'; +let DDL_TBL_CREATE = 'CREATE TABLE IF NOT EXISTS ' + TBL_NAME - + " (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)"; + + ' (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)'; let rdbStore; export default class DataShareExtAbility extends DataShareExtensionAbility { query(uri, predicates, columns, callback) { - if (predicates == null || predicates == undefined) { + if (predicates === null || predicates === undefined) { return; } rdbStore.query(TBL_NAME, predicates, columns, function (err, resultSet) { - if (resultSet != undefined) { + if (resultSet !== undefined) { console.info('resultSet.rowCount: ' + resultSet.rowCount); } - if (callback != undefined) { + if (callback !== undefined) { callback(err, resultSet); } }); @@ -287,23 +287,23 @@ batchInsert?(uri: string, valueBuckets: Array<ValuesBucket>, callback: Asy ```ts import rdb from '@ohos.data.relationalStore'; -let DB_NAME = "DB00.db"; -let TBL_NAME = "TBL00"; -let DDL_TBL_CREATE = "CREATE TABLE IF NOT EXISTS " +let DB_NAME = 'DB00.db'; +let TBL_NAME = 'TBL00'; +let DDL_TBL_CREATE = 'CREATE TABLE IF NOT EXISTS ' + TBL_NAME - + " (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)"; + + ' (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, phoneNumber DOUBLE, isStudent BOOLEAN, Binary BINARY)'; let rdbStore; export default class DataShareExtAbility extends DataShareExtensionAbility { batchInsert(uri, valueBuckets, callback) { - if (valueBuckets == null || valueBuckets.length == undefined) { + if (valueBuckets === null || valueBuckets.length === undefined) { console.info('invalid valueBuckets'); return; } - let resultNum = valueBuckets.length + let resultNum = valueBuckets.length; valueBuckets.forEach(vb => { rdbStore.insert(TBL_NAME, vb, function (err, ret) { - if (callback != undefined) { + if (callback !== undefined) { callback(err, resultNum); } }); @@ -332,8 +332,8 @@ normalizeUri?(uri: string, callback: AsyncCallback<string>): void ```ts export default class DataShareExtAbility extends DataShareExtensionAbility { normalizeUri(uri, callback) { - let err = {"code":0}; - let ret = "normalize+" + uri; + let err = {'code':0}; + let ret = 'normalize+' + uri; callback(err, ret); } }; @@ -359,8 +359,8 @@ denormalizeUri?(uri: string, callback: AsyncCallback<string>): void ```ts export default class DataShareExtAbility extends DataShareExtensionAbility { denormalizeUri(uri, callback) { - let err = {"code":0}; - let ret = "denormalize+" + uri; + let err = {'code':0}; + let ret = 'denormalize+' + uri; callback(err, ret); } }; diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-environmentCallback.md b/zh-cn/application-dev/reference/apis/js-apis-application-environmentCallback.md index 00483e42a205167dcd62722f40c576a4e745e276..fabdcdd3cbc450530ff8bd5e01790354781e7cf2 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-application-environmentCallback.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-environmentCallback.md @@ -11,7 +11,7 @@ EnvironmentCallback模块提供应用上下文ApplicationContext对系统环境 ## 导入模块 ```ts -import EnvironmentCallback from "@ohos.application.EnvironmentCallback"; +import EnvironmentCallback from '@ohos.application.EnvironmentCallback'; ``` @@ -33,29 +33,29 @@ onConfigurationUpdated(config: Configuration): void; ```ts -import Ability from "@ohos.application.Ability"; +import Ability from '@ohos.application.Ability'; let callbackId; export default class MyAbility extends Ability { onCreate() { - console.log("MyAbility onCreate") + console.log('MyAbility onCreate'); globalThis.applicationContext = this.context.getApplicationContext(); let EnvironmentCallback = { onConfigurationUpdated(config){ - console.log("onConfigurationUpdated config:" + JSON.stringify(config)); + console.log('onConfigurationUpdated config:' + JSON.stringify(config)); }, - } + }; // 1.获取applicationContext let applicationContext = globalThis.applicationContext; // 2.通过applicationContext注册监听应用内生命周期 callbackId = applicationContext.registerEnvironmentCallback(EnvironmentCallback); - console.log("registerEnvironmentCallback number: " + JSON.stringify(callbackId)); + console.log('registerEnvironmentCallback number: ' + JSON.stringify(callbackId)); } onDestroy() { let applicationContext = globalThis.applicationContext; applicationContext.unregisterEnvironmentCallback(callbackId, (error, data) => { - console.log("unregisterEnvironmentCallback success, err: " + JSON.stringify(error)); + console.log('unregisterEnvironmentCallback success, err: ' + JSON.stringify(error)); }); } } diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-errorManager.md b/zh-cn/application-dev/reference/apis/js-apis-application-errorManager.md index f70378719e985d1f44f1c963b9cc83e773ffb9de..6741c39b527d174dc5b4fd480be3d51809b4ce80 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-errorManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-errorManager.md @@ -30,7 +30,7 @@ registerErrorObserver(observer: ErrorObserver): number; ```ts let observer = { onUnhandledException(errorMsg) { - console.log('onUnhandledException, errorMsg: ', errorMsg) + console.log('onUnhandledException, errorMsg: ', errorMsg); } } errorManager.registerErrorObserver(observer) @@ -95,6 +95,6 @@ errorManager.unregisterErrorObserver(observerId) }) .catch((err) => { console.log('----------- unregisterErrorObserver fail ----------', err); -}) +}); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-formBindingData.md b/zh-cn/application-dev/reference/apis/js-apis-application-formBindingData.md index 75dca031bbae7c6ebd325800839335a4d3495df9..d5530374881e3cdd23895360ff550e0469c6fa04 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-formBindingData.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-formBindingData.md @@ -35,7 +35,7 @@ createFormBindingData(obj?: Object | string): FormBindingData | 参数名 | 类型 | 必填 | 说明 | | ------ | -------------- | ---- | ------------------------------------------------------------ | -| obj | Object\|string | 否 | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。其中图片数据以"formImages"作为标识,内容为图片标识与图片文件描述符的键值对{"formImages": {"key1": fd1, "key2": fd2}} | +| obj | Object\|string | 否 | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。其中图片数据以'formImages'作为标识,内容为图片标识与图片文件描述符的键值对{'formImages': {'key1': fd1, 'key2': fd2}} | **返回值:** @@ -52,12 +52,12 @@ import featureAbility from '@ohos.ability.featureAbility'; import fileio from '@ohos.fileio'; let context=featureAbility.getContext(); context.getOrCreateLocalDir((err,data)=>{ - let path=data+"/xxx.jpg"; + let path=data+'/xxx.jpg'; let fd = fileio.openSync(path); let obj = { - "temperature": "21°", - "formImages": {"image": fd} + 'temperature': '21°', + 'formImages': {'image': fd} }; let formBindingDataObj = formBindingData.createFormBindingData(obj); -}) +}); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-formHost.md b/zh-cn/application-dev/reference/apis/js-apis-application-formHost.md index 1badfbc1f6ebf92f5643f34377fced401ad0c102..466db099a179a3960bf4971192ba474016d5689b 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-formHost.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-formHost.md @@ -34,7 +34,7 @@ deleteForm(formId: string, callback: AsyncCallback<void>): void **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; formHost.deleteForm(formId, (error, data) => { if (error.code) { console.log('formHost deleteForm, error:' + JSON.stringify(error)); @@ -67,7 +67,7 @@ deleteForm(formId: string): Promise<void> **参数:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; formHost.deleteForm(formId).then(() => { console.log('formHost deleteForm success'); }).catch((error) => { @@ -95,7 +95,7 @@ releaseForm(formId: string, callback: AsyncCallback<void>): void **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; formHost.releaseForm(formId, (error, data) => { if (error.code) { console.log('formHost releaseForm, error:' + JSON.stringify(error)); @@ -124,7 +124,7 @@ releaseForm(formId: string, isReleaseCache: boolean, callback: AsyncCallback< **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; formHost.releaseForm(formId, true, (error, data) => { if (error.code) { console.log('formHost releaseForm, error:' + JSON.stringify(error)); @@ -158,7 +158,7 @@ releaseForm(formId: string, isReleaseCache?: boolean): Promise<void> **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; formHost.releaseForm(formId, true).then(() => { console.log('formHost releaseForm success'); }).catch((error) => { @@ -186,7 +186,7 @@ requestForm(formId: string, callback: AsyncCallback<void>): void **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; formHost.requestForm(formId, (error, data) => { if (error.code) { console.log('formHost requestForm, error:' + JSON.stringify(error)); @@ -219,7 +219,7 @@ requestForm(formId: string): Promise<void> **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; formHost.requestForm(formId).then(() => { console.log('formHost requestForm success'); }).catch((error) => { @@ -247,7 +247,7 @@ castTempForm(formId: string, callback: AsyncCallback<void>): void **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; formHost.castTempForm(formId, (error, data) => { if (error.code) { console.log('formHost castTempForm, error:' + JSON.stringify(error)); @@ -280,7 +280,7 @@ castTempForm(formId: string): Promise<void> **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; formHost.castTempForm(formId).then(() => { console.log('formHost castTempForm success'); }).catch((error) => { @@ -308,7 +308,7 @@ notifyVisibleForms(formIds: Array<string>, callback: AsyncCallback<void **示例:** ```ts -var formId = ["12400633174999288"]; +var formId = ['12400633174999288']; formHost.notifyVisibleForms(formId, (error, data) => { if (error.code) { console.log('formHost notifyVisibleForms, error:' + JSON.stringify(error)); @@ -341,7 +341,7 @@ notifyVisibleForms(formIds: Array<string>): Promise<void> **示例:** ```ts -var formId = ["12400633174999288"]; +var formId = ['12400633174999288']; formHost.notifyVisibleForms(formId).then(() => { console.log('formHost notifyVisibleForms success'); }).catch((error) => { @@ -369,7 +369,7 @@ notifyInvisibleForms(formIds: Array<string>, callback: AsyncCallback<vo **示例:** ```ts -var formId = ["12400633174999288"]; +var formId = ['12400633174999288']; formHost.notifyInvisibleForms(formId, (error, data) => { if (error.code) { console.log('formHost notifyInvisibleForms, error:' + JSON.stringify(error)); @@ -402,7 +402,7 @@ notifyInvisibleForms(formIds: Array<string>): Promise<void> **示例:** ```ts -var formId = ["12400633174999288"]; +var formId = ['12400633174999288']; formHost.notifyInvisibleForms(formId).then(() => { console.log('formHost notifyInvisibleForms success'); }).catch((error) => { @@ -430,7 +430,7 @@ enableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void& **示例:** ```ts -var formId = ["12400633174999288"]; +var formId = ['12400633174999288']; formHost.enableFormsUpdate(formId, (error, data) => { if (error.code) { console.log('formHost enableFormsUpdate, error:' + JSON.stringify(error)); @@ -463,7 +463,7 @@ enableFormsUpdate(formIds: Array<string>): Promise<void> **示例:** ```ts -var formId = ["12400633174999288"]; +var formId = ['12400633174999288']; formHost.enableFormsUpdate(formId).then(() => { console.log('formHost enableFormsUpdate success'); }).catch((error) => { @@ -491,7 +491,7 @@ disableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void **示例:** ```ts -var formId = ["12400633174999288"]; +var formId = ['12400633174999288']; formHost.disableFormsUpdate(formId, (error, data) => { if (error.code) { console.log('formHost disableFormsUpdate, error:' + JSON.stringify(error)); @@ -524,7 +524,7 @@ disableFormsUpdate(formIds: Array<string>): Promise<void> **示例:** ```ts -var formId = ["12400633174999288"]; +var formId = ['12400633174999288']; formHost.disableFormsUpdate(formId).then(() => { console.log('formHost disableFormsUpdate success'); }).catch((error) => { @@ -549,7 +549,7 @@ isSystemReady(callback: AsyncCallback<void>): void **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; formHost.isSystemReady((error, data) => { if (error.code) { console.log('formHost isSystemReady, error:' + JSON.stringify(error)); @@ -574,7 +574,7 @@ isSystemReady(): Promise<void> **示例:** ```ts -var formId = "12400633174999288"; +var formId = '12400633174999288'; formHost.isSystemReady().then(() => { console.log('formHost isSystemReady success'); }).catch((error) => { @@ -656,7 +656,7 @@ getFormsInfo(bundleName: string, callback: AsyncCallback<Array<formInfo.Fo **示例:** ```ts -formHost.getFormsInfo("com.example.ohos.formjsdemo", (error, data) => { +formHost.getFormsInfo('com.example.ohos.formjsdemo', (error, data) => { if (error.code) { console.log('formHost getFormsInfo, error:' + JSON.stringify(error)); } else { @@ -686,7 +686,7 @@ getFormsInfo(bundleName: string, moduleName: string, callback: AsyncCallback< **示例:** ```ts -formHost.getFormsInfo("com.example.ohos.formjsdemo", "entry", (error, data) => { +formHost.getFormsInfo('com.example.ohos.formjsdemo', 'entry', (error, data) => { if (error.code) { console.log('formHost getFormsInfo, error:' + JSON.stringify(error)); } else { @@ -721,7 +721,7 @@ getFormsInfo(bundleName: string, moduleName?: string): Promise<Array<formI **示例:** ```ts - formHost.getFormsInfo("com.example.ohos.formjsdemo", "entry").then((data) => { + formHost.getFormsInfo('com.example.ohos.formjsdemo', 'entry').then((data) => { console.log('formHost getFormsInfo, data:' + JSON.stringify(data)); }).catch((error) => { console.log('formHost getFormsInfo, error:' + JSON.stringify(error)); @@ -748,7 +748,7 @@ deleteInvalidForms(formIds: Array<string>, callback: AsyncCallback<numb **示例:** ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); formHost.deleteInvalidForms(formIds, (error, data) => { if (error.code) { console.log('formHost deleteInvalidForms, error:' + JSON.stringify(error)); @@ -783,7 +783,7 @@ deleteInvalidForms(formIds: Array<string>): Promise<number> **示例:** ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); formHost.deleteInvalidForms(formIds).then((data) => { console.log('formHost deleteInvalidForms, data:' + JSON.stringify(data)); }).catch((error) => { @@ -812,13 +812,13 @@ acquireFormState(want: Want, callback: AsyncCallback<formInfo.FormStateInfo&g ```ts var want = { - "deviceId": "", - "bundleName": "ohos.samples.FormApplication", - "abilityName": "FormAbility", - "parameters": { - "ohos.extra.param.key.module_name": "entry", - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.form_dimension": 2 + 'deviceId': '', + 'bundleName': 'ohos.samples.FormApplication', + 'abilityName': 'FormAbility', + 'parameters': { + 'ohos.extra.param.key.module_name': 'entry', + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.form_dimension': 2 } }; formHost.acquireFormState(want, (error, data) => { @@ -856,13 +856,13 @@ acquireFormState(want: Want): Promise<formInfo.FormStateInfo> ```ts var want = { - "deviceId": "", - "bundleName": "ohos.samples.FormApplication", - "abilityName": "FormAbility", - "parameters": { - "ohos.extra.param.key.module_name": "entry", - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.form_dimension": 2 + 'deviceId': '', + 'bundleName': 'ohos.samples.FormApplication', + 'abilityName': 'FormAbility', + 'parameters': { + 'ohos.extra.param.key.module_name': 'entry', + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.form_dimension': 2 } }; formHost.acquireFormState(want).then((data) => { @@ -872,9 +872,9 @@ formHost.acquireFormState(want).then((data) => { }); ``` -## on("formUninstall") +## on('formUninstall') -on(type: "formUninstall", callback: Callback<string>): void +on(type: 'formUninstall', callback: Callback<string>): void 订阅卡片卸载事件。使用callback异步回调。 @@ -884,7 +884,7 @@ on(type: "formUninstall", callback: Callback<string>): void | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------- | -| type | string | 是 | 填写"formUninstall",表示卡片卸载事件。 | +| type | string | 是 | 填写'formUninstall',表示卡片卸载事件。 | | callback | Callback<string> | 是 | 回调函数。返回卡片标识。 | **示例:** @@ -893,12 +893,12 @@ on(type: "formUninstall", callback: Callback<string>): void let callback = function(formId) { console.log('formHost on formUninstall, formId:' + formId); } -formHost.on("formUninstall", callback); +formHost.on('formUninstall', callback); ``` -## off("formUninstall") +## off('formUninstall') -off(type: "formUninstall", callback?: Callback<string>): void +off(type: 'formUninstall', callback?: Callback<string>): void 取消订阅卡片卸载事件。使用callback异步回调。 @@ -908,7 +908,7 @@ off(type: "formUninstall", callback?: Callback<string>): void | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------- | -| type | string | 是 | 填写"formUninstall",表示卡片卸载事件。 | +| type | string | 是 | 填写'formUninstall',表示卡片卸载事件。 | | callback | Callback<string> | 否 | 回调函数。返回卡片标识。缺省时,表示注销所有已注册事件回调。 | **示例:** @@ -917,7 +917,7 @@ off(type: "formUninstall", callback?: Callback<string>): void let callback = function(formId) { console.log('formHost on formUninstall, formId:' + formId); } -formHost.off("formUninstall", callback); +formHost.off('formUninstall', callback); ``` ## notifyFormsVisible @@ -941,7 +941,7 @@ notifyFormsVisible(formIds: Array<string>, isVisible: boolean, callback: A **示例:** ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); formHost.notifyFormsVisible(formIds, true, (error, data) => { if (error.code) { console.log('formHost notifyFormsVisible, error:' + JSON.stringify(error)); @@ -975,7 +975,7 @@ notifyFormsVisible(formIds: Array<string>, isVisible: boolean): Promise< **示例:** ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); formHost.notifyFormsVisible(formIds, true).then(() => { console.log('formHost notifyFormsVisible success'); }).catch((error) => { @@ -1004,7 +1004,7 @@ notifyFormsEnableUpdate(formIds: Array<string>, isEnableUpdate: boolean, c **示例:** ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); formHost.notifyFormsEnableUpdate(formIds, true, (error, data) => { if (error.code) { console.log('formHost notifyFormsEnableUpdate, error:' + JSON.stringify(error)); @@ -1038,7 +1038,7 @@ notifyFormsEnableUpdate(formIds: Array<string>, isEnableUpdate: boolean): **示例:** ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); formHost.notifyFormsEnableUpdate(formIds, true).then(() => { console.log('formHost notifyFormsEnableUpdate success'); }).catch((error) => { @@ -1066,8 +1066,8 @@ shareForm(formId: string, deviceId: string, callback: AsyncCallback<void>) **示例:** ```ts -var formId = "12400633174999288"; -var deviceId = "EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2"; +var formId = '12400633174999288'; +var deviceId = 'EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2'; formHost.shareForm(formId, deviceId, (error, data) => { if (error.code) { console.log('formHost shareForm, error:' + JSON.stringify(error)); @@ -1101,8 +1101,8 @@ shareForm(formId: string, deviceId: string): Promise<void> **参数:** ```ts -var formId = "12400633174999288"; -var deviceId = "EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2"; +var formId = '12400633174999288'; +var deviceId = 'EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2'; formHost.shareForm(formId, deviceId).then(() => { console.log('formHost shareForm success'); }).catch((error) => { @@ -1126,7 +1126,7 @@ notifyFormsPrivacyProtected(formIds: Array\, isProtected: boolean, callb | deviceId | string | 是 | 远程设备标识。 | ```ts -var formIds = new Array("12400633174999288", "12400633174999289"); +var formIds = new Array('12400633174999288', '12400633174999289'); formHost.notifyFormsPrivacyProtected(formIds, true).then(() => { console.log('formHost shareForm success'); }).catch((error) => { diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-formProvider.md b/zh-cn/application-dev/reference/apis/js-apis-application-formProvider.md index 82d3b764a9286ef10eb4107afee0365c13a1ef1b..20de7e5de0135fc1a975a17203e2aaf034b64602 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-formProvider.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-formProvider.md @@ -31,7 +31,7 @@ setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback&l **示例:** ```ts - var formId = "12400633174999288"; + var formId = '12400633174999288'; formProvider.setFormNextRefreshTime(formId, 5, (error, data) => { if (error.code) { console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error)); @@ -63,7 +63,7 @@ setFormNextRefreshTime(formId: string, minute: number): Promise<void> **示例:** ```ts - var formId = "12400633174999288"; + var formId = '12400633174999288'; formProvider.setFormNextRefreshTime(formId, 5).then(() => { console.log('formProvider setFormNextRefreshTime success'); }).catch((error) => { @@ -91,8 +91,8 @@ updateForm(formId: string, formBindingData: formBindingData.FormBindingData,call ```ts import formBindingData from '@ohos.application.formBindingData'; - var formId = "12400633174999288"; - let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); + var formId = '12400633174999288'; + let obj = formBindingData.createFormBindingData({temperature:'22c', time:'22:00'}); formProvider.updateForm(formId, obj, (error, data) => { if (error.code) { console.log('formProvider updateForm, error:' + JSON.stringify(error)); @@ -125,8 +125,8 @@ updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Pr ```ts import formBindingData from '@ohos.application.formBindingData'; - var formId = "12400633174999288"; - let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); + var formId = '12400633174999288'; + let obj = formBindingData.createFormBindingData({temperature:'22c', time:'22:00'}); formProvider.updateForm(formId, obj).then(() => { console.log('formProvider updateForm success'); }).catch((error) => { @@ -180,7 +180,7 @@ getFormsInfo(filter: formInfo.FormInfoFilter, callback: AsyncCallback<Array&l import formInfo from '@ohos.application.formInfo'; const filter : formInfo.FormInfoFilter = { // get info of forms belong to module entry. - moduleName : "entry" + moduleName : 'entry' }; formProvider.getFormsInfo(filter, (error, data) => { if (error.code) { @@ -217,7 +217,7 @@ getFormsInfo(filter?: formInfo.FormInfoFilter): Promise<Array<formInfo.For import formInfo from '@ohos.application.formInfo'; const filter : formInfo.FormInfoFilter = { // get info of forms belong to module entry. - moduleName : "entry" + moduleName : 'entry' }; formProvider.getFormsInfo(filter).then((data) => { console.log('formProvider getFormsInfo, data:' + JSON.stringify(data)); @@ -240,7 +240,7 @@ requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData, | 参数名 | 类型 | 必填 | 说明 | | ------ | ---------------------------------------------------------------------- | ---- | ---------------- | -| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
"ohos.extra.param.key.form_dimension"
"ohos.extra.param.key.form_name"
"ohos.extra.param.key.module_name" | +| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
'ohos.extra.param.key.form_dimension'
'ohos.extra.param.key.form_name'
'ohos.extra.param.key.module_name' | | formBindingData.FormBindingData | [FormBindingData](js-apis-application-formBindingData.md#formbindingdata) | 是 | 创建卡片的数据。 | | callback | AsyncCallback<string> | 是 | 回调函数。返回卡片标识。 | @@ -249,14 +249,14 @@ requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData, ```ts import formBindingData from '@ohos.application.formBindingData'; var want = { - abilityName: "FormAbility", + abilityName: 'FormAbility', parameters: { - "ohos.extra.param.key.form_dimension": 2, - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.module_name": "entry" + 'ohos.extra.param.key.form_dimension': 2, + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.module_name': 'entry' } }; - let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); + let obj = formBindingData.createFormBindingData({temperature:'22c', time:'22:00'}); formProvider.requestPublishForm(want, obj, (error, data) => { if (error.code) { console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error)); @@ -280,18 +280,18 @@ requestPublishForm(want: Want, callback: AsyncCallback<string>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------- | ---- | ------------------------------------------------------------ | -| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
"ohos.extra.param.key.form_dimension"
"ohos.extra.param.key.form_name"
"ohos.extra.param.key.module_name" | +| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
'ohos.extra.param.key.form_dimension'
'ohos.extra.param.key.form_name'
'ohos.extra.param.key.module_name' | | callback | AsyncCallback<string> | 是 | 回调函数。返回卡片标识。 | **示例:** ```ts var want = { - abilityName: "FormAbility", + abilityName: 'FormAbility', parameters: { - "ohos.extra.param.key.form_dimension": 2, - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.module_name": "entry" + 'ohos.extra.param.key.form_dimension': 2, + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.module_name': 'entry' } }; formProvider.requestPublishForm(want, (error, data) => { @@ -317,7 +317,7 @@ requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData | 参数名 | 类型 | 必填 | 说明 | | --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | -| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
"ohos.extra.param.key.form_dimension"
"ohos.extra.param.key.form_name"
"ohos.extra.param.key.module_name" | +| want | [Want](js-apis-application-want.md) | 是 | 发布请求。需包含以下字段。
abilityName: 目标卡片ability
parameters:
'ohos.extra.param.key.form_dimension'
'ohos.extra.param.key.form_name'
'ohos.extra.param.key.module_name' | | formBindingData.FormBindingData | [FormBindingData](js-apis-application-formBindingData.md#formbindingdata) | 否 | 创建卡片的数据。 | **返回值:** @@ -330,11 +330,11 @@ requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData ```ts var want = { - abilityName: "FormAbility", + abilityName: 'FormAbility', parameters: { - "ohos.extra.param.key.form_dimension": 2, - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.module_name": "entry" + 'ohos.extra.param.key.form_dimension': 2, + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.module_name': 'entry' } }; formProvider.requestPublishForm(want).then((data) => { @@ -369,11 +369,11 @@ formProvider.isRequestPublishFormSupported((error, isSupported) => { } else { if (isSupported) { var want = { - abilityName: "FormAbility", + abilityName: 'FormAbility', parameters: { - "ohos.extra.param.key.form_dimension": 2, - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.module_name": "entry" + 'ohos.extra.param.key.form_dimension': 2, + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.module_name': 'entry' } }; formProvider.requestPublishForm(want, (error, data) => { @@ -410,11 +410,11 @@ isRequestPublishFormSupported(): Promise<boolean> formProvider.isRequestPublishFormSupported().then((isSupported) => { if (isSupported) { var want = { - abilityName: "FormAbility", + abilityName: 'FormAbility', parameters: { - "ohos.extra.param.key.form_dimension": 2, - "ohos.extra.param.key.form_name": "widget", - "ohos.extra.param.key.module_name": "entry" + 'ohos.extra.param.key.form_dimension': 2, + 'ohos.extra.param.key.form_name': 'widget', + 'ohos.extra.param.key.module_name': 'entry' } }; formProvider.requestPublishForm(want).then((data) => { diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-missionManager.md b/zh-cn/application-dev/reference/apis/js-apis-application-missionManager.md index 39bf6bb3888af54ec793b06425ab3334beda3426..88a75e45c94742194f67b0642097657c75cee3e4 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-missionManager.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-missionManager.md @@ -9,7 +9,7 @@ missionManager模块提供系统任务管理能力,包括对系统任务执行 ## 导入模块 ```ts -import missionManager from '@ohos.application.missionManager' +import missionManager from '@ohos.application.missionManager'; ``` ## 权限列表 @@ -44,15 +44,15 @@ registerMissionListener(listener: MissionListener): number; ```ts let listener = { - onMissionCreated: function (mission) {console.log("--------onMissionCreated-------")}, - onMissionDestroyed: function (mission) {console.log("--------onMissionDestroyed-------")}, - onMissionSnapshotChanged: function (mission) {console.log("--------onMissionSnapshotChanged-------")}, - onMissionMovedToFront: function (mission) {console.log("--------onMissionMovedToFront-------")}, - onMissionIconUpdated: function (mission, icon) {console.log("--------onMissionIconUpdated-------")}, - onMissionClosed: function (mission) {console.log("--------onMissionClosed-------")}, - onMissionLabelUpdated: function (mission) {console.log("--------onMissionLabelUpdated-------")} + onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');}, + onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');}, + onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');}, + onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');}, + onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');}, + onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');}, + onMissionLabelUpdated: function (mission) {console.log('--------onMissionLabelUpdated-------');} }; -console.log("registerMissionListener") +console.log('registerMissionListener'); let listenerid = missionManager.registerMissionListener(listener); ``` @@ -80,20 +80,20 @@ unregisterMissionListener(listenerId: number, callback: AsyncCallback<void> ```ts let listener = { - onMissionCreated: function (mission) {console.log("--------onMissionCreated-------")}, - onMissionDestroyed: function (mission) {console.log("--------onMissionDestroyed-------")}, - onMissionSnapshotChanged: function (mission) {console.log("--------onMissionSnapshotChanged-------")}, - onMissionMovedToFront: function (mission) {console.log("--------onMissionMovedToFront-------")}, - onMissionIconUpdated: function (mission, icon) {console.log("--------onMissionIconUpdated-------")}, - onMissionClosed: function (mission) {console.log("--------onMissionClosed-------")}, - onMissionLabelUpdated: function (mission) {console.log("--------onMissionLabelUpdated-------")} + onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');}, + onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');}, + onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');}, + onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');}, + onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');}, + onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');}, + onMissionLabelUpdated: function (mission) {console.log('--------onMissionLabelUpdated-------');} }; - console.log("registerMissionListener") + console.log('registerMissionListener'); let listenerid = missionManager.registerMissionListener(listener); missionManager.unregisterMissionListener(listenerid, (error) => { - console.log("unregisterMissionListener"); - }) + console.log('unregisterMissionListener'); + }); ``` @@ -125,15 +125,15 @@ unregisterMissionListener(listenerId: number): Promise<void>; ```ts let listener = { - onMissionCreated: function (mission) {console.log("--------onMissionCreated-------")}, - onMissionDestroyed: function (mission) {console.log("--------onMissionDestroyed-------")}, - onMissionSnapshotChanged: function (mission) {console.log("--------onMissionSnapshotChanged-------")}, - onMissionMovedToFront: function (mission) {console.log("--------onMissionMovedToFront-------")}, - onMissionIconUpdated: function (mission, icon) {console.log("--------onMissionIconUpdated-------")}, - onMissionClosed: function (mission) {console.log("--------onMissionClosed-------")}, - onMissionLabelUpdated: function (mission) {console.log("--------onMissionLabelUpdated-------")} + onMissionCreated: function (mission) {console.log('--------onMissionCreated-------');}, + onMissionDestroyed: function (mission) {console.log('--------onMissionDestroyed-------');}, + onMissionSnapshotChanged: function (mission) {console.log('--------onMissionSnapshotChanged-------');}, + onMissionMovedToFront: function (mission) {console.log('--------onMissionMovedToFront-------');}, + onMissionIconUpdated: function (mission, icon) {console.log('--------onMissionIconUpdated-------');}, + onMissionClosed: function (mission) {console.log('--------onMissionClosed-------');}, + onMissionLabelUpdated: function (mission) {console.log('--------onMissionLabelUpdated-------');} }; - console.log("registerMissionListener") + console.log('registerMissionListener'); let listenerid = missionManager.registerMissionListener(listener); missionManager.unregisterMissionListener(listenerid).catch(function (err) { @@ -167,15 +167,15 @@ getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback<M ```ts import missionManager from '@ohos.application.missionManager' - let allMissions=missionManager.getMissionInfos("",10).catch(function(err){console.log(err);}); - missionManager.getMissionInfo("", allMissions[0].missionId, (error, mission) => { - console.log("getMissionInfo is called, error.code = " + error.code) - console.log("mission.missionId = " + mission.missionId); - console.log("mission.runningState = " + mission.runningState); - console.log("mission.lockedState = " + mission.lockedState); - console.log("mission.timestamp = " + mission.timestamp); - console.log("mission.label = " + mission.label); - console.log("mission.iconPath = " + mission.iconPath); + let allMissions=missionManager.getMissionInfos('',10).catch(function(err){console.log(err);}); + missionManager.getMissionInfo('', allMissions[0].missionId, (error, mission) => { + console.log('getMissionInfo is called, error.code = ' + error.code) + console.log('mission.missionId = ' + mission.missionId); + console.log('mission.runningState = ' + mission.runningState); + console.log('mission.lockedState = ' + mission.lockedState); + console.log('mission.timestamp = ' + mission.timestamp); + console.log('mission.label = ' + mission.label); + console.log('mission.iconPath = ' + mission.iconPath); }); ``` @@ -208,9 +208,9 @@ getMissionInfo(deviceId: string, missionId: number): Promise<MissionInfo>; **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; - let mission = missionManager.getMissionInfo("", 10).catch(function (err){ + let mission = missionManager.getMissionInfo('', 10).catch(function (err){ console.log(err); }); ``` @@ -239,13 +239,13 @@ getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback<Arr **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); - }) + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); + }); ``` @@ -277,9 +277,9 @@ getMissionInfos(deviceId: string, numMax: number): Promise<Array<MissionIn **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; - let allMissions = missionManager.getMissionInfos("", 10).catch(function (err){ + let allMissions = missionManager.getMissionInfos('', 10).catch(function (err){ console.log(err); }); ``` @@ -308,19 +308,19 @@ getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback& **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; - missionManager.getMissionSnapShot("", id, (error, snapshot) => { - console.log("getMissionSnapShot is called, error.code = " + error.code); - console.log("bundleName = " + snapshot.ability.bundleName); - }) - }) + missionManager.getMissionSnapShot('', id, (error, snapshot) => { + console.log('getMissionSnapShot is called, error.code = ' + error.code); + console.log('bundleName = ' + snapshot.ability.bundleName); + }); + }); ``` @@ -352,17 +352,17 @@ getMissionSnapShot(deviceId: string, missionId: number): Promise<MissionSnaps **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; let allMissions; - missionManager.getMissionInfos("",10).then(function(res){ + missionManager.getMissionInfos('',10).then(function(res){ allMissions=res; }).catch(function(err){console.log(err);}); - console.log("size = " + allMissions.length); - console.log("missions = " + JSON.stringify(allMissions)); + console.log('size = ' + allMissions.length); + console.log('missions = ' + JSON.stringify(allMissions)); let id = allMissions[0].missionId; - let snapshot = missionManager.getMissionSnapShot("", id).catch(function (err){ + let snapshot = missionManager.getMissionSnapShot('', id).catch(function (err){ console.log(err); }); ``` @@ -390,19 +390,19 @@ getLowResolutionMissionSnapShot(deviceId: string, missionId: number, callback: A **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; - missionManager.getLowResolutionMissionSnapShot("", id, (error, snapshot) => { - console.log("getLowResolutionMissionSnapShot is called, error.code = " + error.code); - console.log("bundleName = " + snapshot.ability.bundleName); - }) - }) + missionManager.getLowResolutionMissionSnapShot('', id, (error, snapshot) => { + console.log('getLowResolutionMissionSnapShot is called, error.code = ' + error.code); + console.log('bundleName = ' + snapshot.ability.bundleName); + }); + }); ``` @@ -434,17 +434,17 @@ getLowResolutionMissionSnapShot(deviceId: string, missionId: number): Promise\ { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; missionManager.lockMission(id).then(() => { - console.log("lockMission is called "); + console.log('lockMission is called '); }); }); ``` @@ -514,13 +514,13 @@ lockMission(missionId: number): Promise<void>; **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; let allMissions; - missionManager.getMissionInfos("",10).then(function(res){ + missionManager.getMissionInfos('',10).then(function(res){ allMissions=res; }).catch(function(err){console.log(err);}); - console.log("size = " + allMissions.length); - console.log("missions = " + JSON.stringify(allMissions)); + console.log('size = ' + allMissions.length); + console.log('missions = ' + JSON.stringify(allMissions)); let id = allMissions[0].missionId; missionManager.lockMission(id).catch(function (err){ @@ -551,16 +551,16 @@ unlockMission(missionId: number, callback: AsyncCallback<void>): void; **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; missionManager.unlockMission(id).then(() => { - console.log("unlockMission is called "); + console.log('unlockMission is called '); }); }); ``` @@ -593,14 +593,14 @@ unlockMission(missionId: number): Promise<void>; **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; let allMissions; - missionManager.getMissionInfos("",10).then(function(res){ + missionManager.getMissionInfos('',10).then(function(res){ allMissions=res; }).catch(function(err){console.log(err);}); - console.log("size = " + allMissions.length); - console.log("missions = " + JSON.stringify(allMissions)); + console.log('size = ' + allMissions.length); + console.log('missions = ' + JSON.stringify(allMissions)); let id = allMissions[0].missionId; missionManager.lockMission(id).catch(function (err){ @@ -634,16 +634,16 @@ clearMission(missionId: number, callback: AsyncCallback<void>): void; **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; missionManager.clearMission(id).then(() => { - console.log("clearMission is called "); + console.log('clearMission is called '); }); }); ``` @@ -676,14 +676,14 @@ clearMission(missionId: number): Promise<void>; **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; let allMissions; - missionManager.getMissionInfos("",10).then(function(res){ + missionManager.getMissionInfos('',10).then(function(res){ allMissions=res; }).catch(function(err){console.log(err);}); - console.log("size = " + allMissions.length); - console.log("missions = " + JSON.stringify(allMissions)); + console.log('size = ' + allMissions.length); + console.log('missions = ' + JSON.stringify(allMissions)); let id = allMissions[0].missionId; missionManager.clearMission(id).catch(function (err){ @@ -707,10 +707,10 @@ clearAllMissions(callback: AsyncCallback<void>): void; **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; missionManager.clearAllMissions().then(() => { - console.log("clearAllMissions is called "); + console.log('clearAllMissions is called '); }); ``` @@ -736,7 +736,7 @@ clearAllMissions(): Promise<void>; **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; missionManager.clearAllMissions().catch(function (err){ console.log(err); }); @@ -765,16 +765,16 @@ moveMissionToFront(missionId: number, callback: AsyncCallback<void>): void **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; missionManager.moveMissionToFront(id).then(() => { - console.log("moveMissionToFront is called "); + console.log('moveMissionToFront is called '); }); }); ``` @@ -803,16 +803,16 @@ moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCall **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; - missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); + missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; missionManager.moveMissionToFront(id,{windowMode : 101}).then(() => { - console.log("moveMissionToFront is called "); + console.log('moveMissionToFront is called '); }); }); ``` @@ -846,14 +846,14 @@ moveMissionToFront(missionId: number, options?: StartOptions): Promise<void&g **示例:** ```ts - import missionManager from '@ohos.application.missionManager' + import missionManager from '@ohos.application.missionManager'; let allMissions; - missionManager.getMissionInfos("",10).then(function(res){ + missionManager.getMissionInfos('',10).then(function(res){ allMissions=res; }).catch(function(err){console.log(err);}); - console.log("size = " + allMissions.length); - console.log("missions = " + JSON.stringify(allMissions)); + console.log('size = ' + allMissions.length); + console.log('missions = ' + JSON.stringify(allMissions)); let id = allMissions[0].missionId; missionManager.moveMissionToFront(id).catch(function (err){ diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-staticSubscriberExtensionAbility.md b/zh-cn/application-dev/reference/apis/js-apis-application-staticSubscriberExtensionAbility.md index db27ea9695657671148f45f203201f4095180466..aeb4b0c9f875d981210c587d3ca23af90817b44f 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-staticSubscriberExtensionAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-staticSubscriberExtensionAbility.md @@ -9,7 +9,7 @@ StaticSubscriberExtensionAbility模块提供静态订阅者ExtensionAbility的 ## 导入模块 ```ts -import StaticSubscriberExtensionAbility from '@ohos.application.StaticSubscriberExtensionAbility' +import StaticSubscriberExtensionAbility from '@ohos.application.StaticSubscriberExtensionAbility'; ``` ## StaticSubscriberExtensionAbility.onReceiveEvent @@ -33,7 +33,7 @@ onReceiveEvent(event: CommonEventData): void; ```ts class MyStaticSubscriberExtensionAbility extends StaticSubscriberExtensionAbility { onReceiveEvent(event) { - console.log("onReceiveEvent, event: " + JSON.stringify(event)) + console.log('onReceiveEvent, event: ' + JSON.stringify(event)); } } ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-testRunner.md b/zh-cn/application-dev/reference/apis/js-apis-application-testRunner.md index 89facd58dceb73394ddd15e8a81f9a9820e82d86..452a1cf96e3829bd278bebdf434561ca390abb54 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-testRunner.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-testRunner.md @@ -11,7 +11,7 @@ TestRunner模块提供了框架测试的能力。包括准备单元测试环境 ## 导入模块 ```ts -import TestRunner from '@ohos.application.testRunner' +import TestRunner from '@ohos.application.testRunner'; ``` ## TestRunner.onPrepare @@ -27,7 +27,7 @@ onPrepare(): void ```ts export default class UserTestRunner implements TestRunner { onPrepare() { - console.log("Trigger onPrepare") + console.log('Trigger onPrepare'); } onRun() {} }; @@ -49,7 +49,7 @@ onRun(): void export default class UserTestRunner implements TestRunner { onPrepare() {} onRun() { - console.log("Trigger onRun") + console.log('Trigger onRun'); } }; ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-application-want.md b/zh-cn/application-dev/reference/apis/js-apis-application-want.md index 63c9523e66a7cc67b9483aef3b0a4e2a9b713a9a..7845337de12dfe49d9a609946c703c1479dedf56 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-application-want.md +++ b/zh-cn/application-dev/reference/apis/js-apis-application-want.md @@ -22,7 +22,7 @@ import Want from '@ohos.application.Want'; | bundleName | string | 否 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 | | abilityName | string | 否 | 表示待启动的Ability名称。如果在Want中该字段同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。AbilityName需要在一个应用的范围内保证唯一。 | | uri | string | 否 | 表示Uri描述。如果在Want中指定了Uri,则Want将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。 | -| type | string | 否 | 表示MIME type类型描述,打开文件的类型,主要用于文管打开文件。比如:"text/xml" 、 "image/*"等,MIME定义参考:https://www.iana.org/assignments/media-types/media-types.xhtml?utm_source=ld246.com。 | +| type | string | 否 | 表示MIME type类型描述,打开文件的类型,主要用于文管打开文件。比如:'text/xml' 、 'image/*'等,MIME定义参考:https://www.iana.org/assignments/media-types/media-types.xhtml?utm_source=ld246.com。 | | flags | number | 否 | 表示处理Want的方式。默认传数字,具体参考:[flags说明](js-apis-ability-wantConstant.md#wantConstant.Flags)。 | | action | string | 否 | 表示要执行的通用操作(如:查看、分享、应用详情)。在隐式Want中,您可以定义该字段,配合uri或parameters来表示对数据要执行的操作。 | | parameters | {[key: string]: any} | 否 | 表示WantParams描述,由开发者自行决定传入的键值对。默认会携带以下key值:
ohos.aafwk.callerPid 表示拉起方的pid。
ohos.aafwk.param.callerToken 表示拉起方的token。
ohos.aafwk.param.callerUid 表示[bundleInfo](js-apis-bundle-BundleInfo.md#bundleinfo-1)中的uid,应用包里应用程序的uid。
- component.startup.newRules:表示是否启用新的管控规则。
- moduleName:表示拉起方的模块名,该字段的值即使定义成其他字符串,在传递到另一端时会被修改为正确的值。
- ohos.dlp.params.sandbox:表示dlp文件才会有。 | | @@ -35,15 +35,15 @@ import Want from '@ohos.application.Want'; ```ts var want = { - "deviceId": "", // deviceId为空表示本设备 - "bundleName": "com.extreme.test", - "abilityName": "MainAbility", - "moduleName": "entry" // moduleName非必选 + 'deviceId': '', // deviceId为空表示本设备 + 'bundleName': 'com.extreme.test', + 'abilityName': 'MainAbility', + 'moduleName': 'entry' // moduleName非必选 }; this.context.startAbility(want, (error) => { // 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability - console.log("error.code = " + error.code) - }) + console.log('error.code = ' + error.code) + }); ``` - 通过自定字段传递数据, 以下为当前支持类型。 @@ -51,84 +51,84 @@ import Want from '@ohos.application.Want'; * 字符串(String) ```ts let want = { - bundleName: "com.example.demo", - abilityName: "com.example.demo.MainAbility", + bundleName: 'com.example.demo', + abilityName: 'com.example.demo.MainAbility', parameters: { - keyForString: "str", + keyForString: 'str', }, - } + }; ``` * 数字(Number) ```ts let want = { - bundleName: "com.example.demo", - abilityName: "com.example.demo.MainAbility", + bundleName: 'com.example.demo', + abilityName: 'com.example.demo.MainAbility', parameters: { keyForInt: 100, keyForDouble: 99.99, }, - } + }; ``` * 布尔(Boolean) ```ts let want = { - bundleName: "com.example.demo", - abilityName: "com.example.demo.MainAbility", + bundleName: 'com.example.demo', + abilityName: 'com.example.demo.MainAbility', parameters: { keyForBool: true, }, - } + }; ``` * 对象(Object) ```ts let want = { - bundleName: "com.example.demo", - abilityName: "com.example.demo.MainAbility", + bundleName: 'com.example.demo', + abilityName: 'com.example.demo.MainAbility', parameters: { keyForObject: { - keyForObjectString: "str", + keyForObjectString: 'str', keyForObjectInt: -200, keyForObjectDouble: 35.5, keyForObjectBool: false, }, }, - } + }; ``` * 数组(Array) ```ts let want = { - bundleName: "com.example.demo", - abilityName: "com.example.demo.MainAbility", + bundleName: 'com.example.demo', + abilityName: 'com.example.demo.MainAbility', parameters: { - keyForArrayString: ["str1", "str2", "str3"], + keyForArrayString: ['str1', 'str2', 'str3'], keyForArrayInt: [100, 200, 300, 400], keyForArrayDouble: [0.1, 0.2], - keyForArrayObject: [{obj1: "aaa"}, {obj2: 100}], + keyForArrayObject: [{obj1: 'aaa'}, {obj2: 100}], }, - } + }; ``` * 文件描述符(FD) ```ts import fileio from '@ohos.fileio'; var fd; try { - fd = fileio.openSync("/data/storage/el2/base/haps/pic.png"); + fd = fileio.openSync('/data/storage/el2/base/haps/pic.png'); } catch(e) { - console.log("openSync fail:" + JSON.stringify(e)); + console.log('openSync fail:' + JSON.stringify(e)); } var want = { - "deviceId": "", // deviceId为空表示本设备 - "bundleName": "com.extreme.test", - "abilityName": "MainAbility", - "moduleName": "entry", // moduleName非必选 - "parameters": { - "keyFd":{"type":"FD", "value":fd} + 'deviceId': '', // deviceId为空表示本设备 + 'bundleName': 'com.extreme.test', + 'abilityName': 'MainAbility', + 'moduleName': 'entry', // moduleName非必选 + 'parameters': { + 'keyFd':{'type':'FD', 'value':fd} } }; this.context.startAbility(want, (error) => { // 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability - console.log("error.code = " + error.code) - }) + console.log('error.code = ' + error.code) + }); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-bundleManager-applicationInfo.md b/zh-cn/application-dev/reference/apis/js-apis-bundleManager-applicationInfo.md index c0c78d5314de14552ffe72ffc43860e8feb07871..5a60a7b6ac2c192b3f5a2aceee32c2fd72135f5e 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-bundleManager-applicationInfo.md +++ b/zh-cn/application-dev/reference/apis/js-apis-bundleManager-applicationInfo.md @@ -12,12 +12,12 @@ | 名称 | 类型 | 可读 | 可写 | 说明 | | -------------------------- | ------------------------------------------------------------ | ---- | ---- | ------------------------------------------------------------ | | name | string | 是 | 否 | 应用程序的名称。 | -| description | string | 是 | 否 | 标识应用的描述信息。 | +| description | string | 是 | 否 | 标识应用的描述信息,使用示例:"description": $string: mainability_description"。 | | descriptionId | number | 是 | 否 | 标识应用的描述信息的资源id。 | | enabled | boolean | 是 | 否 | 判断应用程序是否可以使用,默认为true。 | -| label | string | 是 | 否 | 标识应用的名称。 | +| label | string | 是 | 否 | 标识应用的名称,使用示例:"label": "$string: mainability_description"。| | labelId | number | 是 | 否 | 标识应用名称的资源id。 | -| icon | string | 是 | 否 | 应用程序的图标。 | +| icon | string | 是 | 否 | 应用程序的图标,使用示例:"icon": "$media:icon"。 | | iconId | number | 是 | 否 | 应用程序图标的资源id。 | | process | string | 是 | 否 | 应用程序的进程,如果不设置,默认为包的名称。 | | permissions | Array\ | 是 | 否 | 访问应用程序所需的权限,通过调用[bundleManager.getApplicationInfo](js-apis-bundleManager.md#bundlemanagergetapplicationinfo)接口,传入GET_APPLICATION_INFO_WITH_PERMISSION获取。 | @@ -26,9 +26,9 @@ | removable | boolean | 是 | 否 | 应用程序是否可以被移除。 | | accessTokenId | number | 是 | 否 | 应用程序的accessTokenId。 | | uid | number | 是 | 否 | 应用程序的uid。 | -| iconResource | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的图标资源信息。 | -| labelResource | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的标签资源信息。 | -| descriptionResource | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的描述资源信息。 | +| iconResource | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的图标资源信息,通过ApplicationInfo 获取的resource 包含了该资源的信息的bundleName、moduleName 和 id,可以调用全球化的接口[@ohos.resourceManager.d.ts](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.resourceManager.d.ts)中的getMediaContent来获取详细的资源数据信息。 | +| labelResource | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的标签资源信息,通过ApplicationInfo 获取的resource 包含了该资源的信息的bundleName、moduleName 和 id,可以调用全球化的接口[@ohos.resourceManager.d.ts](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.resourceManager.d.ts)中的getMediaContent来获取详细的资源数据信息。 | +| descriptionResource | [Resource](js-apis-resource-manager.md#resource9) | 是 | 否 | 应用程序的描述资源信息,通过ApplicationInfo 获取的resource 包含了该资源的信息的bundleName、moduleName 和 id,可以调用全球化的接口[@ohos.resourceManager.d.ts](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.resourceManager.d.ts)中的getMediaContent来获取详细的资源数据信息。| | appDistributionType | string | 是 | 否 | 应用程序签名证书的分发类型,分为:app_gallery、enterprise、os_integration和crowdtesting。 | | appProvisionType | string | 是 | 否 | 应用程序签名证书文件的类型,分为debug和release两种类型。 | | systemApp | boolean | 是 | 否 | 标识应用是否为系统应用。 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-deque.md b/zh-cn/application-dev/reference/apis/js-apis-deque.md index b79633c519c85267edda6f6f85898d0ecfe3f076..142602771db03d267f3cb59e92c5b3603e8ec549 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-deque.md +++ b/zh-cn/application-dev/reference/apis/js-apis-deque.md @@ -1,8 +1,5 @@ # @ohos.util.Deque (线性容器Deque) -> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 - Deque(double ended queue)根据循环队列的数据结构实现,符合先进先出以及先进后出的特点,支持两端的元素插入和移除。Deque会根据实际需要动态调整容量,每次进行两倍扩容。 Deque和[Queue](js-apis-queue.md)相比,Queue的特点是先进先出,只能在头部删除元素,尾部增加元素。 @@ -11,8 +8,13 @@ Deque和[Queue](js-apis-queue.md)相比,Queue的特点是先进先出,只能 **推荐使用场景:** 需要频繁在集合两端进行增删元素的操作时,推荐使用Deque。 -文档中存在泛型的使用,涉及以下泛型标记符:
-- T: Type, 类 +文档中存在泛型的使用,涉及以下泛型标记符:
+- T:Type,类 + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + ## 导入模块 diff --git a/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md b/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md index a05eaa950e88168109014c8b39bac11f1a4ad908..2f66868a47a28345d007b1320abbd349800f41d8 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md +++ b/zh-cn/application-dev/reference/apis/js-apis-fileAccess.md @@ -17,7 +17,7 @@ import fileAccess from '@ohos.file.fileAccess'; getFileAccessAbilityInfo( ) : Promise<Array<Want>> -以异步方法获取系统内extension配置为fileAcesss类型的所有Want信息。使用Promise异步回调。 +以异步方法获取系统内extension配置为fileAccess类型的所有Want信息。使用Promise异步回调。 **系统能力**:SystemCapability.FileManagement.UserFileService @@ -47,7 +47,7 @@ getFileAccessAbilityInfo( ) : Promise<Array<Want>> getFileAccessAbilityInfo(callback: AsyncCallback<Array<Want>>): void; -以异步方法获取系统内extension配置为fileAcesss类型的所有Want信息。使用callback异步回调。 +以异步方法获取系统内extension配置为fileAccess类型的所有Want信息。使用callback异步回调。 **系统能力**:SystemCapability.FileManagement.UserFileService @@ -150,12 +150,12 @@ createFileAccessHelper(context: Context) : FileAccessHelper ```js createFileAccessHelper() { - let fileAccesssHelperAllServer = null; + let fileAccessHelperAllServer = null; // 创建连接系统内所有配置fileAccess的文件管理类服务的helper对象 try { // this.context 是EntryAbility 传过来的context - fileAccesssHelperAllServer = fileAccess.createFileAccessHelper(this.context); - if (!fileAccesssHelperAllServer) + fileAccessHelperAllServer = fileAccess.createFileAccessHelper(this.context); + if (!fileAccessHelperAllServer) console.error("createFileAccessHelper interface returns an undefined object"); } catch (error) { console.error("createFileAccessHelper failed, errCode:" + error.code + ", errMessage:" + error.message); diff --git a/zh-cn/application-dev/reference/apis/js-apis-hashmap.md b/zh-cn/application-dev/reference/apis/js-apis-hashmap.md index 7f0a90a4aa551acb6c4caca556b98fc20af6a723..06e5c93631b8ae03c40e7f031c4c15435371cce6 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-hashmap.md +++ b/zh-cn/application-dev/reference/apis/js-apis-hashmap.md @@ -1,8 +1,5 @@ # @ohos.util.HashMap (非线性容器HashMap) -> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 - HashMap底层使用数组+链表+红黑树的方式实现,查询、插入和删除的效率都很高。HashMap存储内容基于key-value的键值对映射,不能有重复的key,且一个key只能对应一个value。 HashMap和[TreeMap](js-apis-treemap.md)相比,HashMap依据键的hashCode存取数据,访问速度较快。而TreeMap是有序存取,效率较低。 @@ -11,9 +8,14 @@ HashMap和[TreeMap](js-apis-treemap.md)相比,HashMap依据键的hashCode存 **推荐使用场景:** 需要快速存取、删除以及插入键值对数据时,推荐使用HashMap。 -文档中存在泛型的使用,涉及以下泛型标记符:
-- K: Key, 键
-- V: Value, 值 +文档中存在泛型的使用,涉及以下泛型标记符:
+- K:Key,键
+- V:Value,值 + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + ## 导入模块 @@ -337,7 +339,7 @@ hashMap.clear(); keys(): IterableIterator<K> -返回包含此映射中包含的键名的新迭代器对象。 +返回包含此映射中包含的键的新迭代器对象。 **系统能力:** SystemCapability.Utils.Lang diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-ability-connectOptions.md b/zh-cn/application-dev/reference/apis/js-apis-inner-ability-connectOptions.md index 23c699c61844ce162f0f2cce48305b5dfe0aab35..8e08638fac68ba5e8f85406803d9b215789f59f0 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-ability-connectOptions.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-ability-connectOptions.md @@ -14,8 +14,8 @@ ```ts let want = { - bundleName: "com.example.myapp", - abilityName: "MyAbility" + bundleName: 'com.example.myapp', + abilityName: 'MyAbility' }; let connectOptions = { @@ -28,7 +28,7 @@ onFailed(code) { console.error('onFailed code: ' + code); } - } + }; let connection = this.context.connectAbility(want, connectOptions); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-ability-dataAbilityHelper.md b/zh-cn/application-dev/reference/apis/js-apis-inner-ability-dataAbilityHelper.md index 82d495b626a03a28d0b2911fe44d573df0402fe1..95098d3299d23b8daf191fdcc14e7b3fdacb7d98 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-ability-dataAbilityHelper.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-ability-dataAbilityHelper.md @@ -11,8 +11,8 @@ 使用前根据具体情况引入如下模块 ```ts -import ohos_data_ability from '@ohos.data.dataAbility' -import ohos_data_rdb from '@ohos.data.rdb' +import ohos_data_ability from '@ohos.data.dataAbility'; +import ohos_data_rdb from '@ohos.data.rdb'; ``` ## DataAbilityHelper.openFile @@ -34,13 +34,13 @@ openFile(uri: string, mode: string, callback: AsyncCallback\): void **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -let mode = "rwt"; -DAHelper.openFile("dataability:///com.example.DataAbility", mode, (err) => { - console.info("==========================>Called=======================>"); +let mode = 'rwt'; +DAHelper.openFile('dataability:///com.example.DataAbility', mode, (err) => { + console.info('==========================>Called=======================>'); }); ``` @@ -68,13 +68,13 @@ openFile(uri: string, mode: string): Promise\ **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -let mode = "rwt"; -DAHelper.openFile("dataability:///com.example.DataAbility", mode).then((data) => { - console.info("==========================>openFileCallback=======================>"); +let mode = 'rwt'; +DAHelper.openFile('dataability:///com.example.DataAbility', mode).then((data) => { + console.info('==========================>openFileCallback=======================>'); }); ``` @@ -97,18 +97,18 @@ on(type: 'dataChange', uri: string, callback: AsyncCallback\): void **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let helper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); function onChangeNotify() { - console.info("==========================>onChangeNotify=======================>"); + console.info('==========================>onChangeNotify=======================>'); }; helper.on( - "dataChange", - "dataability:///com.example.DataAbility", + 'dataChange', + 'dataability:///com.example.DataAbility', onChangeNotify -) +); ``` ## DataAbilityHelper.off @@ -130,22 +130,22 @@ off(type: 'dataChange', uri: string, callback?: AsyncCallback\): void **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let helper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); function onChangeNotify() { - console.info("==========================>onChangeNotify=======================>"); + console.info('==========================>onChangeNotify=======================>'); }; helper.off( - "dataChange", - "dataability:///com.example.DataAbility", -) + 'dataChange', + 'dataability:///com.example.DataAbility', +); helper.off( - "dataChange", - "dataability:///com.example.DataAbility", + 'dataChange', + 'dataability:///com.example.DataAbility', onChangeNotify -) +); ``` ## DataAbilityHelper.getType @@ -166,12 +166,12 @@ getType(uri: string, callback: AsyncCallback\): void **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -DAHelper.getType("dataability:///com.example.DataAbility", (err, data) => { - console.info("==========================>Called=======================>"); +DAHelper.getType('dataability:///com.example.DataAbility', (err, data) => { + console.info('==========================>Called=======================>'); }); ``` @@ -198,12 +198,12 @@ getType(uri: string): Promise\ **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -DAHelper.getType("dataability:///com.example.DataAbility").then((data) => { - console.info("==========================>getTypeCallback=======================>"); +DAHelper.getType('dataability:///com.example.DataAbility').then((data) => { + console.info('==========================>getTypeCallback=======================>'); }); ``` @@ -226,13 +226,13 @@ getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback { - console.info("==========================>Called=======================>"); +DAHelper.getFileTypes( 'dataability:///com.example.DataAbility', + 'image/*', (err, data) => { + console.info('==========================>Called=======================>'); }); ``` @@ -262,13 +262,13 @@ getFileTypes(uri: string, mimeTypeFilter: string): Promise\> **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -DAHelper.getFileTypes("dataability:///com.example.DataAbility", - "image/*").then((data) => { - console.info("===================>getFileTypesCallback================>"); +DAHelper.getFileTypes('dataability:///com.example.DataAbility', + 'image/*').then((data) => { + console.info('===================>getFileTypesCallback================>'); }); ``` @@ -290,12 +290,12 @@ normalizeUri(uri: string, callback: AsyncCallback\): void **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -DAHelper.normalizeUri("dataability:///com.example.DataAbility", (err, data) => { - console.info("==========================>Called=======================>"); +DAHelper.normalizeUri('dataability:///com.example.DataAbility', (err, data) => { + console.info('==========================>Called=======================>'); }); ``` @@ -322,12 +322,12 @@ normalizeUri(uri: string): Promise\ **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -DAHelper.normalizeUri("dataability:///com.example.DataAbility",).then((data) => { - console.info("=================>normalizeUriCallback=======================>"); +DAHelper.normalizeUri('dataability:///com.example.DataAbility',).then((data) => { + console.info('=================>normalizeUriCallback=======================>'); }); ``` @@ -349,12 +349,12 @@ denormalizeUri(uri: string, callback: AsyncCallback\): void **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -DAHelper.denormalizeUri("dataability:///com.example.DataAbility", (err, data) => { - console.info("==========================>Called=======================>"); +DAHelper.denormalizeUri('dataability:///com.example.DataAbility', (err, data) => { + console.info('==========================>Called=======================>'); }); ``` @@ -383,12 +383,12 @@ denormalizeUri(uri: string): Promise\ **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -DAHelper.denormalizeUri("dataability:///com.example.DataAbility",).then((data) => { - console.info("===============>denormalizeUriCallback=======================>"); +DAHelper.denormalizeUri('dataability:///com.example.DataAbility',).then((data) => { + console.info('===============>denormalizeUriCallback=======================>'); }); ``` @@ -410,12 +410,12 @@ notifyChange(uri: string, callback: AsyncCallback\): void **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let helper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -helper.notifyChange("dataability:///com.example.DataAbility", (err) => { - console.info("==========================>Called=======================>"); +helper.notifyChange('dataability:///com.example.DataAbility', (err) => { + console.info('==========================>Called=======================>'); }); ``` @@ -442,12 +442,12 @@ notifyChange(uri: string): Promise\ **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -DAHelper.notifyChange("dataability:///com.example.DataAbility").then(() => { - console.info("================>notifyChangeCallback================>"); +DAHelper.notifyChange('dataability:///com.example.DataAbility').then(() => { + console.info('================>notifyChangeCallback================>'); }); ``` @@ -470,19 +470,19 @@ insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\ { - console.info("==========================>Called=======================>"); + console.info('==========================>Called=======================>'); }); ``` @@ -510,18 +510,18 @@ insert(uri: string, valuesBucket: rdb.ValuesBucket): Promise\ **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); const valueBucket = { - "name": "rose1", - "age": 221, - "salary": 20.5, - "blobType": "u8", -} -DAHelper.insert("dataability:///com.example.DataAbility", valueBucket).then((data) => { - console.info("====================>insertCallback=======================>"); + 'name': 'rose1', + 'age': 221, + 'salary': 20.5, + 'blobType': 'u8', +}; +DAHelper.insert('dataability:///com.example.DataAbility', valueBucket).then((data) => { + console.info('====================>insertCallback=======================>'); }); ``` @@ -544,16 +544,16 @@ batchInsert(uri: string, valuesBuckets: Array\, callback: Asyn **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -let cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": "u8",}, - {"name": "roe12", "age": 21, "salary": 20.5, "blobType": "u8",}, - {"name": "roe13", "age": 21, "salary": 20.5, "blobType": "u8",}) -DAHelper.batchInsert("dataability:///com.example.DataAbility", cars, +let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, + {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, + {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}); +DAHelper.batchInsert('dataability:///com.example.DataAbility', cars, (err, data) => { - console.info("==========================>Called=======================>"); + console.info('==========================>Called=======================>'); }); ``` @@ -581,15 +581,15 @@ batchInsert(uri: string, valuesBuckets: Array): Promise\ { - console.info("==================>batchInsertCallback=======================>"); +let cars = new Array({'name': 'roe11', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, + {'name': 'roe12', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}, + {'name': 'roe13', 'age': 21, 'salary': 20.5, 'blobType': 'u8',}); +DAHelper.batchInsert('dataability:///com.example.DataAbility', cars).then((data) => { + console.info('==================>batchInsertCallback=======================>'); }); ``` @@ -612,15 +612,15 @@ delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: Asy **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' -import ohos_data_ability from '@ohos.data.dataAbility' +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -let da = new ohos_data_ability.DataAbilityPredicates() -DAHelper.delete("dataability:///com.example.DataAbility", da, +let da = new ohos_data_ability.DataAbilityPredicates(); +DAHelper.delete('dataability:///com.example.DataAbility', da, (err, data) => { - console.info("==========================>Called=======================>"); + console.info('==========================>Called=======================>'); }); ``` @@ -648,14 +648,14 @@ delete(uri: string, predicates?: dataAbility.DataAbilityPredicates): Promise\ { - console.info("==========================>deleteCallback=======================>"); +let da = new ohos_data_ability.DataAbilityPredicates(); +DAHelper.delete('dataability:///com.example.DataAbility', da).then((data) => { + console.info('==========================>deleteCallback=======================>'); }); ``` @@ -679,20 +679,20 @@ update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.Data **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' -import ohos_data_ability from '@ohos.data.dataAbility' +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); const va = { - "name": "roe1", - "age": 21, - "salary": 20.5, - "blobType": "u8", -} -let da = new ohos_data_ability.DataAbilityPredicates() -DAHelper.update("dataability:///com.example.DataAbility", va, da, (err, data) => { - console.info("==========================>Called=======================>"); + 'name': 'roe1', + 'age': 21, + 'salary': 20.5, + 'blobType': 'u8', +}; +let da = new ohos_data_ability.DataAbilityPredicates(); +DAHelper.update('dataability:///com.example.DataAbility', va, da, (err, data) => { + console.info('==========================>Called=======================>'); }); ``` @@ -721,20 +721,20 @@ update(uri: string, valuesBucket: rdb.ValuesBucket, predicates?: dataAbility.Dat **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' -import ohos_data_ability from '@ohos.data.dataAbility' +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); const va = { - "name": "roe1", - "age": 21, - "salary": 20.5, - "blobType": "u8", -} -let da = new ohos_data_ability.DataAbilityPredicates() -DAHelper.update("dataability:///com.example.DataAbility", va, da).then((data) => { - console.info("==========================>updateCallback=======================>"); + 'name': 'roe1', + 'age': 21, + 'salary': 20.5, + 'blobType': 'u8', +}; +let da = new ohos_data_ability.DataAbilityPredicates(); +DAHelper.update('dataability:///com.example.DataAbility', va, da).then((data) => { + console.info('==========================>updateCallback=======================>'); }); ``` @@ -758,15 +758,15 @@ query(uri: string, columns: Array\, predicates: dataAbility.DataAbilityP **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' -import ohos_data_ability from '@ohos.data.dataAbility' +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -let cars=new Array("value1", "value2", "value3", "value4"); -let da = new ohos_data_ability.DataAbilityPredicates() -DAHelper.query("dataability:///com.example.DataAbility", cars, da, (err, data) => { - console.info("==========================>Called=======================>"); +let cars=new Array('value1', 'value2', 'value3', 'value4'); +let da = new ohos_data_ability.DataAbilityPredicates(); +DAHelper.query('dataability:///com.example.DataAbility', cars, da, (err, data) => { + console.info('==========================>Called=======================>'); }); ``` @@ -797,15 +797,15 @@ query(uri: string, columns?: Array\, predicates?: dataAbility.DataAbilit **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' -import ohos_data_ability from '@ohos.data.dataAbility' +import featureAbility from '@ohos.ability.featureAbility'; +import ohos_data_ability from '@ohos.data.dataAbility'; let DAHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.DataAbility" + 'dataability:///com.example.DataAbility' ); -let cars = new Array("value1", "value2", "value3", "value4"); -let da = new ohos_data_ability.DataAbilityPredicates() -DAHelper.query("dataability:///com.example.DataAbility", cars, da).then((data) => { - console.info("==========================>queryCallback=======================>"); +let cars = new Array('value1', 'value2', 'value3', 'value4'); +let da = new ohos_data_ability.DataAbilityPredicates(); +DAHelper.query('dataability:///com.example.DataAbility', cars, da).then((data) => { + console.info('==========================>queryCallback=======================>'); }); ``` @@ -821,7 +821,7 @@ call(uri: string, method: string, arg: string, extras: PacMap): Promise\ | 参数名 | 类型 | 必填 | 说明 | | ---------- | --------------------------------- | ---- | ------------------------------------------------ | -| uri | string | 是 | 指定待处理的DataAbility。例:"dataability:///com.example.xxx.xxxx" | +| uri | string | 是 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx' | | method | string | 是 | 被调用的方法名。 | | arg | string | 是 |需传入的参数。 | | extras | [PacMap](#pacmap) | 是 | 键值对参数。 | @@ -838,9 +838,9 @@ call(uri: string, method: string, arg: string, extras: PacMap): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let dataAbilityHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.jsapidemo.UserDataAbility"); -dataAbilityHelper.call("dataability:///com.example.jsapidemo.UserDataAbility", - "method", "arg", {"key1":"value1"}).then((data) => { + 'dataability:///com.example.jsapidemo.UserDataAbility'); +dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility', + 'method', 'arg', {'key1':'value1'}).then((data) => { console.info('Operation succeeded: ' + data); }).catch((error) => { console.error('Operation failed. Cause: ' + error); @@ -859,7 +859,7 @@ call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCa | 参数名 | 类型 | 必填 | 说明 | | ---------- | --------------------------------- | ---- | ------------------------------------------------ | -| uri | string | 是 | 指定待处理的DataAbility。例:"dataability:///com.example.xxx.xxxx" | +| uri | string | 是 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx' | | method | string | 是 | 被调用的方法名。 | | arg | string | 是 |需传入的参数。 | | extras | [PacMap](#pacmap) | 是 | 键值对参数。 | @@ -871,9 +871,9 @@ call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCa import featureAbility from '@ohos.ability.featureAbility'; let dataAbilityHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.jsapidemo.UserDataAbility"); -dataAbilityHelper.call("dataability:///com.example.jsapidemo.UserDataAbility", - "method", "arg", {"key1":"value1"}, (err, data) => { + 'dataability:///com.example.jsapidemo.UserDataAbility'); +dataAbilityHelper.call('dataability:///com.example.jsapidemo.UserDataAbility', + 'method', 'arg', {'key1':'value1'}, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + err); return; @@ -894,7 +894,7 @@ executeBatch(uri: string, operations: Array\, callback: As | 参数名 | 类型 | 必填 | 说明 | | ---------- | --------------------------------- | ---- | ------------------------------------------------ | -| uri | string | 是 | 指定待处理的DataAbility。例:"dataability:///com.example.xxx.xxxx"。| +| uri | string | 是 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。| | operations | Array\<[DataAbilityOperation](js-apis-inner-ability-dataAbilityOperation.md)> | 是 | 指示数据操作列表,其中可以包含对数据库的多个操作。 | | callback | AsyncCallback\> | 是 |在数组 DataAbilityResult中返回每个操作的结果。 | @@ -906,8 +906,8 @@ import featureAbility from '@ohos.ability.featureAbility'; // 根据DataAbilityOperation列表选择要对数据库做的操作 let op=new Array(); let dataAbilityHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.jsapidemo.UserDataAbility"); -dataAbilityHelper.executeBatch("dataability:///com.example.jsapidemo.UserDataAbility", + 'dataability:///com.example.jsapidemo.UserDataAbility'); +dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', op, (err, data) => { if (err) { console.error('Operation failed. Cause: ' + err); @@ -929,7 +929,7 @@ executeBatch(uri: string, operations: Array\): Promise\ | 是 | 指示数据操作列表,其中可以包含对数据库的多个操作。 | **返回值:** @@ -946,8 +946,8 @@ import featureAbility from '@ohos.ability.featureAbility'; // 根据DataAbilityOperation列表选择要对数据库做的操作 let op=new Array(); let dataAbilityHelper = featureAbility.acquireDataAbilityHelper( - "dataability:///com.example.jsapidemo.UserDataAbility"); -dataAbilityHelper.executeBatch("dataability:///com.example.jsapidemo.UserDataAbility", + 'dataability:///com.example.jsapidemo.UserDataAbility'); +dataAbilityHelper.executeBatch('dataability:///com.example.jsapidemo.UserDataAbility', op).then((data) => { console.info('Operation succeeded: ' + data); }).catch((error) => { diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-ability-dataAbilityResult.md b/zh-cn/application-dev/reference/apis/js-apis-inner-ability-dataAbilityResult.md index 3d4f0ce5236720725fd909ecba27bddae3d1cd8f..4035c9dc2611f1d88923526274d45d94f88d8aff 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-ability-dataAbilityResult.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-ability-dataAbilityResult.md @@ -11,15 +11,15 @@ | 名称 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| uri? | string | 否 | 指定待处理的DataAbility。例:"dataability:///com.example.xxx.xxxx"。 | +| uri? | string | 否 | 指定待处理的DataAbility。例:'dataability:///com.example.xxx.xxxx'。 | | count? | number | 否 | 指示受操作影响的行数。 | **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; -let dataAbilityUri = ("dataability:///com.example.myapplication.TestDataAbility"); +let dataAbilityUri = ('dataability:///com.example.myapplication.TestDataAbility'); let DAHelper; try { DAHelper = featureAbility.acquireDataAbilityHelper(dataAbilityUri); @@ -33,9 +33,9 @@ try { } let valueBucket = { - "name": "DataAbilityHelperTest", - "age": 24, - "salary": 2024.20, + 'name': 'DataAbilityHelperTest', + 'age': 24, + 'salary': 2024.20, }; let operations = [ { diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-ability-startAbilityParameter.md b/zh-cn/application-dev/reference/apis/js-apis-inner-ability-startAbilityParameter.md index 0005c2d6e7bb6afaa0de63ba889bb576440f3f65..60f5272f0f7e373fc8f31fed95fdaf24e76f0a26 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-ability-startAbilityParameter.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-ability-startAbilityParameter.md @@ -16,29 +16,29 @@ **示例:** ```ts -import featureAbility from '@ohos.ability.featureAbility' +import featureAbility from '@ohos.ability.featureAbility'; let Want = { - bundleName: "com.example.abilityStartSettingApp2", - abilityName: "com.example.abilityStartSettingApp.MainAbility", -} + bundleName: 'com.example.abilityStartSettingApp2', + abilityName: 'com.example.abilityStartSettingApp.MainAbility', +}; let abilityStartSetting ={ [featureAbility.AbilityStartSetting.BOUNDS_KEY] : [100,200,300,400], [featureAbility.AbilityStartSetting.WINDOW_MODE_KEY] : featureAbility.AbilityWindowConfiguration.WINDOW_MODE_UNDEFINED, [featureAbility.AbilityStartSetting.DISPLAY_ID_KEY] : 1, -} +}; let startAbilityParameter = { want : Want, abilityStartSetting : abilityStartSetting -} +}; featureAbility.startAbility(startAbilityParameter, (err, data)=>{ console.log('errCode : ' + JSON.stringify(err)); console.log('data : ' + JSON.stringify(data)); } catch(error) { - console.log("startAbility error: " + JSON.stringify(error)); + console.log('startAbility error: ' + JSON.stringify(error)); } ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-ability-want.md b/zh-cn/application-dev/reference/apis/js-apis-inner-ability-want.md index 4caa0af24ff66ef7a50d6c8c0df8a302cf51880d..ba09e0be894371f7608a0bdf395ad92ad07df80b 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-ability-want.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-ability-want.md @@ -14,7 +14,7 @@ Want是对象间信息传递的载体, 可以用于应用组件间的信息传 | bundleName | string | 否 | 表示包名。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 | | abilityName | string | 否 | 表示待启动的Ability名称。如果在Want中该字段同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。AbilityName需要在一个应用的范围内保证唯一。 | | uri | string | 否 | 表示Uri。如果在Want中指定了Uri,则Want将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。 | -| type | string | 否 | 表示MIME type类型,打开文件的类型,主要用于文管打开文件。比如:"text/xml" 、 "image/*"等,MIME定义参考:https://www.iana.org/assignments/media-types/media-types.xhtml?utm_source=ld246.com。 | +| type | string | 否 | 表示MIME type类型,打开文件的类型,主要用于文管打开文件。比如:'text/xml' 、 'image/*'等,MIME定义参考:https://www.iana.org/assignments/media-types/media-types.xhtml?utm_source=ld246.com。 | | flags | number | 否 | 表示处理Want的方式。默认传数字,具体参考:[flags说明](js-apis-ability-wantConstant.md#wantConstant.Flags)。 | | action | string | 否 | 表示要执行的通用操作(如:查看、分享、应用详情)。在隐式Want中,您可以定义该字段,配合uri或parameters来表示对数据要执行的操作。 | | parameters | {[key: string]: any} | 否 | 表示WantParams,由开发者自行决定传入的键值对。默认会携带以下key值:
ohos.aafwk.callerPid 表示拉起方的pid。
ohos.aafwk.param.callerToken 表示拉起方的token。
ohos.aafwk.param.callerUid 表示[bundleInfo](js-apis-bundle-BundleInfo.md#bundleinfo-1)中的uid,应用包里应用程序的uid。
- component.startup.newRules:表示是否启用新的管控规则。
- moduleName:表示拉起方的模块名,该字段的值即使定义成其他字符串,在传递到另一端时会被修改为正确的值。
- ohos.dlp.params.sandbox:表示dlp文件才会有。 | | @@ -27,42 +27,42 @@ Want是对象间信息传递的载体, 可以用于应用组件间的信息传 ```ts let want = { - "deviceId": "", // deviceId为空表示本设备 - "bundleName": "com.extreme.test", - "abilityName": "MainAbility", - "moduleName": "entry" // moduleName非必选 + 'deviceId': '', // deviceId为空表示本设备 + 'bundleName': 'com.extreme.test', + 'abilityName': 'MainAbility', + 'moduleName': 'entry' // moduleName非必选 }; this.context.startAbility(want, (error) => { // 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability - console.log("error.code = " + error.code) - }) + console.log('error.code = ' + error.code) + }); ``` - 传递FD(文件描述符)数据(在UIAbility对象中调用,其中示例中的context为UIAbility的上下文对象) ```ts - import fileio from '@ohos.fileio'; + import fileio from '@ohos.fileio';; // ... let fd; try { - fd = fileio.openSync("/data/storage/el2/base/haps/pic.png"); + fd = fileio.openSync('/data/storage/el2/base/haps/pic.png'); } catch(e) { - console.log("openSync fail:" + JSON.stringify(e)); + console.log('openSync fail:' + JSON.stringify(e)); } let want = { - "deviceId": "", // deviceId为空表示本设备 - "bundleName": "com.extreme.test", - "abilityName": "MainAbility", - "moduleName": "entry", // moduleName非必选 - "parameters": { - "keyFd":{"type":"FD", "value":fd} + 'deviceId': '', // deviceId为空表示本设备 + 'bundleName': 'com.extreme.test', + 'abilityName': 'MainAbility', + 'moduleName': 'entry', // moduleName非必选 + 'parameters': { + 'keyFd':{'type':'FD', 'value':fd} } }; this.context.startAbility(want, (error) => { // 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability - console.log("error.code = " + error.code) - }) + console.log('error.code = ' + error.code) + }); // ... ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-app-context.md b/zh-cn/application-dev/reference/apis/js-apis-inner-app-context.md index 2a2db17446a8918d850a5b7a143046ea45028379..87ad3a00afdb9d5abec9163e9e55755ac9f53666 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-app-context.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-app-context.md @@ -15,7 +15,7 @@ Context对象是在featureAbility中创建实例,并通过featureAbility的[ge import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getOrCreateLocalDir().then((data) => { - console.info("getOrCreateLocalDir data: " + JSON.stringify(data)); + console.info('getOrCreateLocalDir data: ' + JSON.stringify(data)); }); ``` @@ -41,7 +41,7 @@ getOrCreateLocalDir(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getOrCreateLocalDir((err, data)=>{ - console.info("getOrCreateLocalDir err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getOrCreateLocalDir err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -69,7 +69,7 @@ getOrCreateLocalDir(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getOrCreateLocalDir().then((data) => { - console.info("getOrCreateLocalDir data: " + JSON.stringify(data)); + console.info('getOrCreateLocalDir data: ' + JSON.stringify(data)); }); ``` @@ -96,8 +96,8 @@ import featureAbility from '@ohos.ability.featureAbility'; import bundle from '@ohos.bundle'; let context = featureAbility.getContext(); bundle.getBundleInfo('com.context.test', 1, (err, datainfo) =>{ - context.verifyPermission("com.example.permission", {uid:datainfo.uid}, (err, data) =>{ - console.info("verifyPermission err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + context.verifyPermission('com.example.permission', {uid:datainfo.uid}, (err, data) =>{ + console.info('verifyPermission err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); }); ``` @@ -124,8 +124,8 @@ verifyPermission(permission: string, callback: AsyncCallback\): void ```ts import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); -context.verifyPermission("com.example.permission", (err, data) =>{ - console.info("verifyPermission err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); +context.verifyPermission('com.example.permission', (err, data) =>{ + console.info('verifyPermission err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -157,7 +157,7 @@ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); let Permission = {pid:1}; context.verifyPermission('com.context.permission',Permission).then((data) => { - console.info("verifyPermission data: " + JSON.stringify(data)); + console.info('verifyPermission data: ' + JSON.stringify(data)); }); ``` @@ -185,14 +185,14 @@ requestPermissionsFromUser(permissions: Array\, requestCode: number, res import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.requestPermissionsFromUser( - ["com.example.permission1", - "com.example.permission2", - "com.example.permission3", - "com.example.permission4", - "com.example.permission5"], + ['com.example.permission1', + 'com.example.permission2', + 'com.example.permission3', + 'com.example.permission4', + 'com.example.permission5'], 1, (err, data) => { - console.info("requestPermissionsFromUser err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('requestPermissionsFromUser err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); } ); ``` @@ -225,13 +225,13 @@ requestPermissionsFromUser(permissions: Array\, requestCode: number): Pr import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.requestPermissionsFromUser( - ["com.example.permission1", - "com.example.permission2", - "com.example.permission3", - "com.example.permission4", - "com.example.permission5"], + ['com.example.permission1', + 'com.example.permission2', + 'com.example.permission3', + 'com.example.permission4', + 'com.example.permission5'], 1).then((data)=>{ - console.info("requestPermissionsFromUser data: " + JSON.stringify(data)); + console.info('requestPermissionsFromUser data: ' + JSON.stringify(data)); } ); ``` @@ -258,7 +258,7 @@ getApplicationInfo(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getApplicationInfo((err, data) => { - console.info("getApplicationInfo err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getApplicationInfo err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -284,7 +284,7 @@ getApplicationInfo(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getApplicationInfo().then((data) => { - console.info("getApplicationInfo data: " + JSON.stringify(data)); + console.info('getApplicationInfo data: ' + JSON.stringify(data)); }); ``` @@ -310,7 +310,7 @@ getBundleName(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getBundleName((err, data) => { - console.info("getBundleName err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getBundleName err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -336,7 +336,7 @@ getBundleName(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getBundleName().then((data) => { - console.info("getBundleName data: " + JSON.stringify(data)); + console.info('getBundleName data: ' + JSON.stringify(data)); }); ``` @@ -360,7 +360,7 @@ getDisplayOrientation(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getDisplayOrientation((err, data) => { - console.info("getDisplayOrientation err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getDisplayOrientation err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -384,7 +384,7 @@ getDisplayOrientation(): Promise\; import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getDisplayOrientation().then((data) => { - console.info("getDisplayOrientation data: " + JSON.stringify(data)); + console.info('getDisplayOrientation data: ' + JSON.stringify(data)); }); ``` @@ -408,7 +408,7 @@ getExternalCacheDir(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getExternalCacheDir((err, data) => { - console.info("getExternalCacheDir err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getExternalCacheDir err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -432,7 +432,7 @@ getExternalCacheDir(): Promise\; import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getExternalCacheDir().then((data) => { - console.info("getExternalCacheDir data: " + JSON.stringify(data)); + console.info('getExternalCacheDir data: ' + JSON.stringify(data)); }); ``` @@ -459,7 +459,7 @@ import bundle from '@ohos.bundle'; let context = featureAbility.getContext(); let orientation=bundle.DisplayOrientation.UNSPECIFIED context.setDisplayOrientation(orientation, (err) => { - console.info("setDisplayOrientation err: " + JSON.stringify(err)); + console.info('setDisplayOrientation err: ' + JSON.stringify(err)); }); ``` @@ -486,7 +486,7 @@ import bundle from '@ohos.bundle'; let context = featureAbility.getContext(); let orientation=bundle.DisplayOrientation.UNSPECIFIED context.setDisplayOrientation(orientation).then((data) => { - console.info("setDisplayOrientation data: " + JSON.stringify(data)); + console.info('setDisplayOrientation data: ' + JSON.stringify(data)); }); ``` @@ -512,7 +512,7 @@ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); let show=true context.setShowOnLockScreen(show, (err) => { - console.info("setShowOnLockScreen err: " + JSON.stringify(err)); + console.info('setShowOnLockScreen err: ' + JSON.stringify(err)); }); ``` @@ -543,7 +543,7 @@ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); let show=true context.setShowOnLockScreen(show).then((data) => { - console.info("setShowOnLockScreen data: " + JSON.stringify(data)); + console.info('setShowOnLockScreen data: ' + JSON.stringify(data)); }); ``` @@ -569,7 +569,7 @@ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); let wakeUp=true context.setWakeUpScreen(wakeUp, (err) => { - console.info("setWakeUpScreen err: " + JSON.stringify(err)); + console.info('setWakeUpScreen err: ' + JSON.stringify(err)); }); ``` @@ -600,7 +600,7 @@ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); let wakeUp=true context.setWakeUpScreen(wakeUp).then((data) => { - console.info("setWakeUpScreen data: " + JSON.stringify(data)); + console.info('setWakeUpScreen data: ' + JSON.stringify(data)); }); ``` @@ -627,7 +627,7 @@ getProcessInfo(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getProcessInfo((err, data) => { - console.info("getProcessInfo err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getProcessInfo err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -653,7 +653,7 @@ getProcessInfo(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getProcessInfo().then((data) => { - console.info("getProcessInfo data: " + JSON.stringify(data)); + console.info('getProcessInfo data: ' + JSON.stringify(data)); }); ``` @@ -681,7 +681,7 @@ getElementName(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getElementName((err, data) => { - console.info("getElementName err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getElementName err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -709,7 +709,7 @@ getElementName(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getElementName().then((data) => { - console.info("getElementName data: " + JSON.stringify(data)); + console.info('getElementName data: ' + JSON.stringify(data)); }); ``` @@ -733,7 +733,7 @@ getProcessName(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getProcessName((err, data) => { - console.info("getProcessName err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getProcessName err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -759,7 +759,7 @@ getProcessName(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getProcessName().then((data) => { - console.info("getProcessName data: " + JSON.stringify(data)); + console.info('getProcessName data: ' + JSON.stringify(data)); }); ``` @@ -785,7 +785,7 @@ getCallingBundle(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getCallingBundle((err, data) => { - console.info("getCallingBundle err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getCallingBundle err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -811,7 +811,7 @@ getCallingBundle(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getCallingBundle().then((data) => { - console.info("getCallingBundle data: " + JSON.stringify(data)); + console.info('getCallingBundle data: ' + JSON.stringify(data)); }); ``` @@ -835,7 +835,7 @@ getCacheDir(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getCacheDir((err, data) => { - console.info("getCacheDir err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getCacheDir err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -859,7 +859,7 @@ getCacheDir(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getCacheDir().then((data) => { - console.info("getCacheDir data: " + JSON.stringify(data)); + console.info('getCacheDir data: ' + JSON.stringify(data)); }); ``` @@ -883,7 +883,7 @@ getFilesDir(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getFilesDir((err, data) => { - console.info("getFilesDir err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getFilesDir err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -907,7 +907,7 @@ getFilesDir(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getFilesDir().then((data) => { - console.info("getFilesDir data: " + JSON.stringify(data)); + console.info('getFilesDir data: ' + JSON.stringify(data)); }); ``` @@ -933,7 +933,7 @@ getOrCreateDistributedDir(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getOrCreateDistributedDir((err, data) => { - console.info("getOrCreateDistributedDir err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getOrCreateDistributedDir err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -959,7 +959,7 @@ getOrCreateDistributedDir(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getOrCreateDistributedDir().then((data) => { - console.info("getOrCreateDistributedDir data: " + JSON.stringify(data)); + console.info('getOrCreateDistributedDir data: ' + JSON.stringify(data)); }); ``` @@ -983,7 +983,7 @@ getAppType(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getAppType((err, data) => { - console.info("getAppType err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getAppType err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -1007,7 +1007,7 @@ getAppType(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getAppType().then((data) => { - console.info("getAppType data: " + JSON.stringify(data)); + console.info('getAppType data: ' + JSON.stringify(data)); }); ``` @@ -1031,7 +1031,7 @@ getHapModuleInfo(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getHapModuleInfo((err, data) => { - console.info("getHapModuleInfo err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getHapModuleInfo err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -1055,7 +1055,7 @@ getHapModuleInfo(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getHapModuleInfo().then((data) => { - console.info("getHapModuleInfo data: " + JSON.stringify(data)); + console.info('getHapModuleInfo data: ' + JSON.stringify(data)); }); ``` @@ -1079,7 +1079,7 @@ getAppVersionInfo(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getAppVersionInfo((err, data) => { - console.info("getAppVersionInfo err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getAppVersionInfo err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -1103,7 +1103,7 @@ getAppVersionInfo(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getAppVersionInfo().then((data) => { - console.info("getAppVersionInfo data: " + JSON.stringify(data)); + console.info('getAppVersionInfo data: ' + JSON.stringify(data)); }); ``` @@ -1127,7 +1127,7 @@ getAbilityInfo(callback: AsyncCallback\): void import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getAbilityInfo((err, data) => { - console.info("getAbilityInfo err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('getAbilityInfo err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -1151,7 +1151,7 @@ getAbilityInfo(): Promise\ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getAbilityInfo().then((data) => { - console.info("getAbilityInfo data: " + JSON.stringify(data)); + console.info('getAbilityInfo data: ' + JSON.stringify(data)); }); ``` @@ -1196,7 +1196,7 @@ isUpdatingConfigurations(callback: AsyncCallback\): void; import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.isUpdatingConfigurations((err, data) => { - console.info("isUpdatingConfigurations err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + console.info('isUpdatingConfigurations err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); }); ``` @@ -1220,7 +1220,7 @@ isUpdatingConfigurations(): Promise\; import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.isUpdatingConfigurations().then((data) => { - console.info("isUpdatingConfigurations data: " + JSON.stringify(data)); + console.info('isUpdatingConfigurations data: ' + JSON.stringify(data)); }); ``` @@ -1268,7 +1268,7 @@ printDrawnCompleted(): Promise\; import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.printDrawnCompleted().then((data) => { - console.info("printDrawnCompleted data: " + JSON.stringify(data)); + console.info('printDrawnCompleted data: ' + JSON.stringify(data)); }); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-app-processInfo.md b/zh-cn/application-dev/reference/apis/js-apis-inner-app-processInfo.md index bcb283693fd299d935a7afa82ca181b9a08c91bf..25311ca75c7cf4a302918a7168d07ed41a1b6b15 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-app-processInfo.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-app-processInfo.md @@ -19,8 +19,8 @@ import featureAbility from '@ohos.ability.featureAbility'; let context = featureAbility.getContext(); context.getProcessInfo((err, data) => { - if (err.code != 0) { - console.info("getProcessInfo err: " + JSON.stringify(err) + "data: " + JSON.stringify(data)); + if (err.code !== 0) { + console.info('getProcessInfo err: ' + JSON.stringify(err) + 'data: ' + JSON.stringify(data)); let pid = data.pid; let processName = data.processName; } diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityDelegator.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityDelegator.md index fe66bf067e46dbd9dc5e7e720517f4686999c5ac..a67ca15d48554775698d7a7fc98c4caf622cc985 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityDelegator.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityDelegator.md @@ -38,17 +38,17 @@ addAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\): void var abilityDelegator; function onAbilityCreateCallback(data) { - console.info("onAbilityCreateCallback"); + console.info('onAbilityCreateCallback'); } var monitor = { - abilityName: "abilityname", + abilityName: 'abilityname', onAbilityCreate: onAbilityCreateCallback -} +}; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.addAbilityMonitor(monitor, (err : any) => { - console.info("addAbilityMonitor callback"); + console.info('addAbilityMonitor callback'); }); ``` @@ -78,17 +78,17 @@ addAbilityMonitor(monitor: AbilityMonitor): Promise\; var abilityDelegator; function onAbilityCreateCallback(data) { - console.info("onAbilityCreateCallback"); + console.info('onAbilityCreateCallback'); } var monitor = { - abilityName: "abilityname", + abilityName: 'abilityname', onAbilityCreate: onAbilityCreateCallback -} +}; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.addAbilityMonitor(monitor).then(() => { - console.info("addAbilityMonitor promise"); + console.info('addAbilityMonitor promise'); }); ``` @@ -115,17 +115,17 @@ removeAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\): v var abilityDelegator; function onAbilityCreateCallback(data) { - console.info("onAbilityCreateCallback"); + console.info('onAbilityCreateCallback'); } var monitor = { - abilityName: "abilityname", + abilityName: 'abilityname', onAbilityCreate: onAbilityCreateCallback -} +}; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.removeAbilityMonitor(monitor, (err : any) => { - console.info("removeAbilityMonitor callback"); + console.info('removeAbilityMonitor callback'); }); ``` @@ -157,17 +157,17 @@ removeAbilityMonitor(monitor: AbilityMonitor): Promise\; var abilityDelegator; function onAbilityCreateCallback(data) { - console.info("onAbilityCreateCallback"); + console.info('onAbilityCreateCallback'); } var monitor = { - abilityName: "abilityname", + abilityName: 'abilityname', onAbilityCreate: onAbilityCreateCallback -} +}; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.removeAbilityMonitor(monitor).then(() => { - console.info("removeAbilityMonitor promise"); + console.info('removeAbilityMonitor promise'); }); ``` @@ -194,17 +194,17 @@ waitAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\) var abilityDelegator; function onAbilityCreateCallback(data) { - console.info("onAbilityCreateCallback"); + console.info('onAbilityCreateCallback'); } var monitor = { - abilityName: "abilityname", + abilityName: 'abilityname', onAbilityCreate: onAbilityCreateCallback -} +}; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.waitAbilityMonitor(monitor, (err : any, data : any) => { - console.info("waitAbilityMonitor callback"); + console.info('waitAbilityMonitor callback'); }); ``` @@ -231,17 +231,17 @@ var abilityDelegator; var timeout = 100; function onAbilityCreateCallback(data) { - console.info("onAbilityCreateCallback"); + console.info('onAbilityCreateCallback'); } var monitor = { - abilityName: "abilityname", + abilityName: 'abilityname', onAbilityCreate: onAbilityCreateCallback -} +}; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.waitAbilityMonitor(monitor, timeout, (err : any, data : any) => { - console.info("waitAbilityMonitor callback"); + console.info('waitAbilityMonitor callback'); }); ``` @@ -274,17 +274,17 @@ waitAbilityMonitor(monitor: AbilityMonitor, timeout?: number): Promise\ { - console.info("waitAbilityMonitor promise"); + console.info('waitAbilityMonitor promise'); }); ``` @@ -343,10 +343,10 @@ var ability; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.getCurrentTopAbility((err : any, data : any) => { - console.info("getCurrentTopAbility callback"); + console.info('getCurrentTopAbility callback'); ability = data; var state = abilityDelegator.getAbilityState(ability); - console.info("getAbilityState" + state); + console.info('getAbilityState' + state); }); ``` @@ -374,7 +374,7 @@ var ability; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.getCurrentTopAbility((err : any, data : any) => { - console.info("getCurrentTopAbility callback"); + console.info('getCurrentTopAbility callback'); ability = data; }); ``` @@ -403,7 +403,7 @@ var ability; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.getCurrentTopAbility().then((data : any) => { - console.info("getCurrentTopAbility promise"); + console.info('getCurrentTopAbility promise'); ability = data; }); ``` @@ -430,13 +430,13 @@ startAbility(want: Want, callback: AsyncCallback\): void; ```ts var abilityDelegator; var want = { - bundleName: "bundleName", - abilityName: "abilityName" + bundleName: 'bundleName', + abilityName: 'abilityName' }; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.startAbility(want, (err : any, data : any) => { - console.info("startAbility callback"); + console.info('startAbility callback'); }); ``` @@ -467,13 +467,13 @@ startAbility(want: Want): Promise\; ```ts var abilityDelegator; var want = { - bundleName: "bundleName", - abilityName: "abilityName" + bundleName: 'bundleName', + abilityName: 'abilityName' }; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.startAbility(want).then((data: any) => { - console.info("startAbility promise"); + console.info('startAbility promise'); }); ``` @@ -502,10 +502,10 @@ var ability; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.getCurrentTopAbility((err : any, data : any) => { - console.info("getCurrentTopAbility callback"); + console.info('getCurrentTopAbility callback'); ability = data; abilityDelegator.doAbilityForeground(ability, (err : any, data : any) => { - console.info("doAbilityForeground callback"); + console.info('doAbilityForeground callback'); }); }); ``` @@ -540,10 +540,10 @@ var ability; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.getCurrentTopAbility((err : any, data : any) => { - console.info("getCurrentTopAbility callback"); + console.info('getCurrentTopAbility callback'); ability = data; abilityDelegator.doAbilityForeground(ability).then((data : any) => { - console.info("doAbilityForeground promise"); + console.info('doAbilityForeground promise'); }); }); ``` @@ -573,10 +573,10 @@ var ability; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.getCurrentTopAbility((err : any, data : any) => { - console.info("getCurrentTopAbility callback"); + console.info('getCurrentTopAbility callback'); ability = data; abilityDelegator.doAbilityBackground(ability, (err : any, data : any) => { - console.info("doAbilityBackground callback"); + console.info('doAbilityBackground callback'); }); }); ``` @@ -611,10 +611,10 @@ var ability; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.getCurrentTopAbility((err : any, data : any) => { - console.info("getCurrentTopAbility callback"); + console.info('getCurrentTopAbility callback'); ability = data; abilityDelegator.doAbilityBackground(ability).then((data : any) => { - console.info("doAbilityBackground promise"); + console.info('doAbilityBackground promise'); }); }); ``` @@ -639,7 +639,7 @@ printSync(msg: string): void; ```ts var abilityDelegator; -var msg = "msg"; +var msg = 'msg'; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.printSync(msg); @@ -666,11 +666,11 @@ print(msg: string, callback: AsyncCallback\): void; ```ts var abilityDelegator; -var msg = "msg"; +var msg = 'msg'; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.print(msg, (err : any) => { - console.info("print callback"); + console.info('print callback'); }); ``` @@ -700,11 +700,11 @@ print(msg: string): Promise\; ```ts var abilityDelegator; -var msg = "msg"; +var msg = 'msg'; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.print(msg).then(() => { - console.info("print promise"); + console.info('print promise'); }); ``` @@ -729,11 +729,11 @@ executeShellCommand(cmd: string, callback: AsyncCallback\): void ```ts var abilityDelegator; -var cmd = "cmd"; +var cmd = 'cmd'; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.executeShellCommand(cmd, (err : any, data : any) => { - console.info("executeShellCommand callback"); + console.info('executeShellCommand callback'); }); ``` @@ -759,12 +759,12 @@ executeShellCommand(cmd: string, timeoutSecs: number, callback: AsyncCallback\ { - console.info("executeShellCommand callback"); + console.info('executeShellCommand callback'); }); ``` @@ -795,12 +795,12 @@ executeShellCommand(cmd: string, timeoutSecs?: number): Promise\ ```ts var abilityDelegator; -var cmd = "cmd"; +var cmd = 'cmd'; var timeout = 100; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.executeShellCommand(cmd, timeout).then((data : any) => { - console.info("executeShellCommand promise"); + console.info('executeShellCommand promise'); }); ``` @@ -826,11 +826,11 @@ finishTest(msg: string, code: number, callback: AsyncCallback\): void; ```ts var abilityDelegator; -var msg = "msg"; +var msg = 'msg'; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.finishTest(msg, 0, (err : any) => { - console.info("finishTest callback"); + console.info('finishTest callback'); }); ``` @@ -861,11 +861,11 @@ finishTest(msg: string, code: number): Promise\; ```ts var abilityDelegator; -var msg = "msg"; +var msg = 'msg'; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.finishTest(msg, 0).then(() => { - console.info("finishTest promise"); + console.info('finishTest promise'); }); ``` @@ -890,13 +890,13 @@ addAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\ { - console.info("addAbilityStageMonitor callback"); + console.info('addAbilityStageMonitor callback'); }); ``` @@ -928,13 +928,13 @@ addAbilityStageMonitor(monitor: AbilityStageMonitor): Promise\; var abilityDelegator; var monitor = { - moduleName: "moduleName", - srcEntrance: "srcEntrance", -} + moduleName: 'moduleName', + srcEntrance: 'srcEntrance', +}; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.addAbilityStageMonitor(monitor).then(() => { - console.info("addAbilityStageMonitor promise"); + console.info('addAbilityStageMonitor promise'); }); ``` @@ -959,13 +959,13 @@ removeAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\ var abilityDelegator; var monitor = { - moduleName: "moduleName", - srcEntrance: "srcEntrance", -} + moduleName: 'moduleName', + srcEntrance: 'srcEntrance', +}; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.removeAbilityStageMonitor(monitor, (err : any) => { - console.info("removeAbilityStageMonitor callback"); + console.info('removeAbilityStageMonitor callback'); }); ``` @@ -997,13 +997,13 @@ removeAbilityStageMonitor(monitor: AbilityStageMonitor): Promise\; var abilityDelegator; var monitor = { - moduleName: "moduleName", - srcEntrance: "srcEntrance", -} + moduleName: 'moduleName', + srcEntrance: 'srcEntrance', +}; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.removeAbilityStageMonitor(monitor).then(() => { - console.info("removeAbilityStageMonitor promise"); + console.info('removeAbilityStageMonitor promise'); }); ``` @@ -1028,17 +1028,17 @@ waitAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\ { - console.info("waitAbilityStageMonitor callback"); + console.info('waitAbilityStageMonitor callback'); }); ``` @@ -1069,17 +1069,17 @@ waitAbilityStageMonitor(monitor: AbilityStageMonitor, timeout?: number): Promise var abilityDelegator; function onAbilityCreateCallback(data) { - console.info("onAbilityCreateCallback"); + console.info('onAbilityCreateCallback'); } var monitor = { - moduleName: "moduleName", - srcEntrance: "srcEntrance", -} + moduleName: 'moduleName', + srcEntrance: 'srcEntrance', +}; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.waitAbilityStageMonitor(monitor).then((data : any) => { - console.info("waitAbilityStageMonitor promise"); + console.info('waitAbilityStageMonitor promise'); }); ``` @@ -1106,16 +1106,16 @@ var abilityDelegator; var timeout = 100; function onAbilityCreateCallback(data) { - console.info("onAbilityCreateCallback"); + console.info('onAbilityCreateCallback'); } var monitor = { - moduleName: "moduleName", - srcEntrance: "srcEntrance", -} + moduleName: 'moduleName', + srcEntrance: 'srcEntrance', +}; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.waitAbilityStageMonitor(monitor, timeout, (err : any, data : any) => { - console.info("waitAbilityStageMonitor callback"); + console.info('waitAbilityStageMonitor callback'); }); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityMonitor.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityMonitor.md index 6026ff334b32e0892c8e6061073eed11efc2841d..64de807614db6017592851defba085fea411d366 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityMonitor.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityMonitor.md @@ -30,20 +30,20 @@ Ability监听器 **示例:** ```ts -import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' +import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'; function onAbilityCreateCallback(data) { - console.info("onAbilityCreateCallback"); + console.info('onAbilityCreateCallback'); } let monitor = { - abilityName: "abilityname", + abilityName: 'abilityname', onAbilityCreate: onAbilityCreateCallback -} +}; let abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.addAbilityMonitor(monitor, (err : any) => { - console.info("addAbilityMonitor callback"); + console.info('addAbilityMonitor callback'); }); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityRunningInfo.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityRunningInfo.md index 79dd323daeeef52717d3d571181603ed51affe57..20d0ea03a7e0c6e94b7dc2967815ed5c4ca0e234 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityRunningInfo.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityRunningInfo.md @@ -30,15 +30,15 @@ AbilityRunningInfo模块提供对Ability运行的相关信息和状态的定义 ```ts import abilitymanager from '@ohos.application.abilityManager'; abilitymanager.getAbilityRunningInfos((err,data) => { - console.log("getAbilityRunningInfos err: " + err + " data: " + JSON.stringify(data)); + console.log('getAbilityRunningInfos err: ' + err + ' data: ' + JSON.stringify(data)); for (let i = 0; i < data.length; i++) { let abilityinfo = data[i]; - console.log("abilityinfo.ability: " + JSON.stringify(abilityinfo.ability)); - console.log("abilityinfo.pid: " + JSON.stringify(abilityinfo.pid)); - console.log("abilityinfo.uid: " + JSON.stringify(abilityinfo.uid)); - console.log("abilityinfo.processName: " + JSON.stringify(abilityinfo.processName)); - console.log("abilityinfo.startTime: " + JSON.stringify(abilityinfo.startTime)); - console.log("abilityinfo.abilityState: " + JSON.stringify(abilityinfo.abilityState)); + console.log('abilityinfo.ability: ' + JSON.stringify(abilityinfo.ability)); + console.log('abilityinfo.pid: ' + JSON.stringify(abilityinfo.pid)); + console.log('abilityinfo.uid: ' + JSON.stringify(abilityinfo.uid)); + console.log('abilityinfo.processName: ' + JSON.stringify(abilityinfo.processName)); + console.log('abilityinfo.startTime: ' + JSON.stringify(abilityinfo.startTime)); + console.log('abilityinfo.abilityState: ' + JSON.stringify(abilityinfo.abilityState)); } }); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityStageMonitor.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityStageMonitor.md index 840cc6da4dab10dd9bb3898dbdb2a4ce59422b74..e26bce07a1139d9dd606960bcd8d6b7eeb1b5929 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityStageMonitor.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityStageMonitor.md @@ -11,15 +11,15 @@ **示例:** ```ts -import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' +import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'; let monitor = { - moduleName: "feature_as1", - srcEntrance: "./ets/Application/MyAbilityStage.ts", + moduleName: 'feature_as1', + srcEntrance: './ets/Application/MyAbilityStage.ts', }; let abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.waitAbilityStageMonitor(monitor, (error, data) => { - console.info("stageMonitor waitAbilityStageMonitor, abilityStage = " + JSON.stringify(data)); + console.info('stageMonitor waitAbilityStageMonitor, abilityStage = ' + JSON.stringify(data)); }); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-accessibilityExtensionContext.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-accessibilityExtensionContext.md index c8f5e4da876638902846162cf47b1ae70547abf5..27320dfe20f24b683e2f9b383d7d209a9a7f2964 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-accessibilityExtensionContext.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-accessibilityExtensionContext.md @@ -14,7 +14,7 @@ AccessibilityExtensionContext是AccessibilityExtensionAbility上下文环境, 在使用AccessibilityExtensionContext的功能前,需要通过AccessibilityExtensionAbility子类实例获取AccessibilityExtensionContex的实例。 ```ts -import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility' +import AccessibilityExtensionAbility from '@ohos.application.AccessibilityExtensionAbility'; let axContext; class MainAbility extends AccessibilityExtensionAbility { onConnect(): void { @@ -541,7 +541,7 @@ injectGesture(gesturePath: GesturePath): Promise\; **示例:** ```ts -import GesturePath from "@ohos.accessibility.GesturePath"; +import GesturePath from '@ohos.accessibility.GesturePath'; import GesturePoint from '@ohos.accessibility.GesturePoint'; let gesturePath = new GesturePath.GesturePath(100); try { @@ -584,7 +584,7 @@ injectGesture(gesturePath: GesturePath, callback: AsyncCallback\): void **示例:** ```ts -import GesturePath from "@ohos.accessibility.GesturePath"; +import GesturePath from '@ohos.accessibility.GesturePath'; import GesturePoint from '@ohos.accessibility.GesturePoint'; let gesturePath = new GesturePath.GesturePath(100); try { diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-appStateData.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-appStateData.md index 2dce76952c4df946a96f2545b4708c1334c5a317..5cc5df0eaa1f7a97de9f4057db4f8fda32b9550a 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-appStateData.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-appStateData.md @@ -14,7 +14,7 @@ **示例:** ```ts -import appManager from "@ohos.application.appManager" +import appManager from "@ohos.application.appManager"; appManager.getForegroundApplications((error, data) => { for (let i = 0; i < data.length; i++) { diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-applicationContext.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-applicationContext.md index 89accd1caa760ef3f756d56caaf0e8f77415fee5..8aa9decb03d6ff26d7ccfaf3ae46b4947ed4323d 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-applicationContext.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-applicationContext.md @@ -15,9 +15,9 @@ ApplicationContext模块提供开发者应用级别的的上下文的能力, let applicationContext = this.context.getApplicationContext(); ``` -## ApplicationContext.on(type: "abilityLifecycle", callback: AbilityLifecycleCallback) +## ApplicationContext.on(type: 'abilityLifecycle', callback: AbilityLifecycleCallback) -on(type: "abilityLifecycle", callback: AbilityLifecycleCallback): **number**; +on(type: 'abilityLifecycle', callback: AbilityLifecycleCallback): **number**; 注册监听应用内生命周期 @@ -27,7 +27,7 @@ on(type: "abilityLifecycle", callback: AbilityLifecycleCallback): **number**; | 参数名 | 类型 | 必填 | 说明 | | ------------------------ | -------- | ---- | ------------------------------ | -| type | "abilityLifecycle" | 是 | 监听事件的类型。 | +| type | 'abilityLifecycle' | 是 | 监听事件的类型。 | | callback | [AbilityLifecycleCallback](js-apis-app-ability-abilityLifecycleCallback.md) | 是 | 回调方法,返回注册监听事件的ID。 | **返回值:** @@ -45,52 +45,52 @@ let lifecycleId; export default class EntryAbility extends UIAbility { onCreate() { - console.log("MyAbility onCreate") + console.log('MyAbility onCreate'); let AbilityLifecycleCallback = { onAbilityCreate(ability) { - console.log("AbilityLifecycleCallback onAbilityCreate ability:" + ability); + console.log('AbilityLifecycleCallback onAbilityCreate ability:' + ability); }, onWindowStageCreate(ability, windowStage) { - console.log("AbilityLifecycleCallback onWindowStageCreate ability:" + ability); - console.log("AbilityLifecycleCallback onWindowStageCreate windowStage:" + windowStage); + console.log('AbilityLifecycleCallback onWindowStageCreate ability:' + ability); + console.log('AbilityLifecycleCallback onWindowStageCreate windowStage:' + windowStage); }, onWindowStageActive(ability, windowStage) { - console.log("AbilityLifecycleCallback onWindowStageActive ability:" + ability); - console.log("AbilityLifecycleCallback onWindowStageActive windowStage:" + windowStage); + console.log('AbilityLifecycleCallback onWindowStageActive ability:' + ability); + console.log('AbilityLifecycleCallback onWindowStageActive windowStage:' + windowStage); }, onWindowStageInactive(ability, windowStage) { - console.log("AbilityLifecycleCallback onWindowStageInactive ability:" + ability); - console.log("AbilityLifecycleCallback onWindowStageInactive windowStage:" + windowStage); + console.log('AbilityLifecycleCallback onWindowStageInactive ability:' + ability); + console.log('AbilityLifecycleCallback onWindowStageInactive windowStage:' + windowStage); }, onWindowStageDestroy(ability, windowStage) { - console.log("AbilityLifecycleCallback onWindowStageDestroy ability:" + ability); - console.log("AbilityLifecycleCallback onWindowStageDestroy windowStage:" + windowStage); + console.log('AbilityLifecycleCallback onWindowStageDestroy ability:' + ability); + console.log('AbilityLifecycleCallback onWindowStageDestroy windowStage:' + windowStage); }, onAbilityDestroy(ability) { - console.log("AbilityLifecycleCallback onAbilityDestroy ability:" + ability); + console.log('AbilityLifecycleCallback onAbilityDestroy ability:' + ability); }, onAbilityForeground(ability) { - console.log("AbilityLifecycleCallback onAbilityForeground ability:" + ability); + console.log('AbilityLifecycleCallback onAbilityForeground ability:' + ability); }, onAbilityBackground(ability) { - console.log("AbilityLifecycleCallback onAbilityBackground ability:" + ability); + console.log('AbilityLifecycleCallback onAbilityBackground ability:' + ability); }, onAbilityContinue(ability) { - console.log("AbilityLifecycleCallback onAbilityContinue ability:" + ability); + console.log('AbilityLifecycleCallback onAbilityContinue ability:' + ability); } } // 1.通过context属性获取applicationContext let applicationContext = this.context.getApplicationContext(); // 2.通过applicationContext注册监听应用内生命周期 - lifecycleId = applicationContext.on("abilityLifecycle", AbilityLifecycleCallback); - console.log("registerAbilityLifecycleCallback number: " + JSON.stringify(lifecycleId)); + lifecycleId = applicationContext.on('abilityLifecycle', AbilityLifecycleCallback); + console.log('registerAbilityLifecycleCallback number: ' + JSON.stringify(lifecycleId)); } } ``` -## ApplicationContext.off(type: "abilityLifecycle", callbackId: number, callback: AsyncCallback) +## ApplicationContext.off(type: 'abilityLifecycle', callbackId: number, callback: AsyncCallback) -off(type: "abilityLifecycle", callbackId: **number**, callback: AsyncCallback<**void**>): **void**; +off(type: 'abilityLifecycle', callbackId: **number**, callback: AsyncCallback<**void**>): **void**; 取消监听应用内生命周期 @@ -100,7 +100,7 @@ off(type: "abilityLifecycle", callbackId: **number**, callback: AsyncCallback<* | 参数名 | 类型 | 必填 | 说明 | | ------------- | -------- | ---- | -------------------------- | -| type | "abilityLifecycle" | 是 | 取消监听事件的类型。 | +| type | 'abilityLifecycle' | 是 | 取消监听事件的类型。 | | callbackId | number | 是 | 注册监听应用内生命周期的ID。 | | callback | AsyncCallback\ | 是 | 回调方法。 | @@ -114,17 +114,17 @@ let lifecycleId; export default class EntryAbility extends UIAbility { onDestroy() { let applicationContext = this.context.getApplicationContext(); - console.log("stage applicationContext: " + applicationContext); - applicationContext.off(type: "abilityLifecycle", lifecycleId, (error, data) => { - console.log("unregisterAbilityLifecycleCallback success, err: " + JSON.stringify(error)); + console.log('stage applicationContext: ' + applicationContext); + applicationContext.off(type: 'abilityLifecycle', lifecycleId, (error, data) => { + console.log('unregisterAbilityLifecycleCallback success, err: ' + JSON.stringify(error)); }); } } ``` -## ApplicationContext.off(type: "abilityLifecycle", callbackId: number) +## ApplicationContext.off(type: 'abilityLifecycle', callbackId: number) -off(type: "abilityLifecycle", callbackId: **number**): **void**; +off(type: 'abilityLifecycle', callbackId: **number**): **void**; 取消监听应用内生命周期 @@ -134,28 +134,28 @@ off(type: "abilityLifecycle", callbackId: **number**): **void**; | 参数名 | 类型 | 必填 | 说明 | | ------------- | -------- | ---- | -------------------------- | -| type | "abilityLifecycle" | 是 | 取消监听事件的类型。 | +| type | 'abilityLifecycle' | 是 | 取消监听事件的类型。 | | callbackId | number | 是 | 注册监听应用内生命周期的ID。 | **示例:** ```ts -import Ability from "@ohos.app.ability.UIAbility"; +import Ability from '@ohos.app.ability.UIAbility'; let lifecycleId; export default class MyAbility extends Ability { onDestroy() { let applicationContext = this.context.getApplicationContext(); - console.log("stage applicationContext: " + applicationContext); - applicationContext.off(type: "abilityLifecycle", lifecycleId); + console.log('stage applicationContext: ' + applicationContext); + applicationContext.off(type: 'abilityLifecycle', lifecycleId); } } ``` -## ApplicationContext.on(type: "environment", callback: EnvironmentCallback) +## ApplicationContext.on(type: 'environment', callback: EnvironmentCallback) -on(type: "environment", callback: EnvironmentCallback): **number**; +on(type: 'environment', callback: EnvironmentCallback): **number**; 注册对系统环境变化的监听。使用callback异步回调。 @@ -165,7 +165,7 @@ on(type: "environment", callback: EnvironmentCallback): **number**; | 参数名 | 类型 | 必填 | 说明 | | ------------------------ | -------- | ---- | ------------------------------ | -| type | "environment" | 是 | 监听事件的类型。 | +| type | 'environment' | 是 | 监听事件的类型。 | | callback | [EnvironmentCallback](js-apis-app-ability-environmentCallback.md) | 是 | 回调方法,返回注册监听事件的ID。 | **返回值:** @@ -183,28 +183,28 @@ let callbackId; export default class EntryAbility extends UIAbility { onCreate() { - console.log("MyAbility onCreate") + console.log('MyAbility onCreate') globalThis.applicationContext = this.context.getApplicationContext(); let EnvironmentCallback = { onConfigurationUpdated(config){ - console.log("onConfigurationUpdated config:" + JSON.stringify(config)); + console.log('onConfigurationUpdated config:' + JSON.stringify(config)); }, onMemoryLevel(level){ - console.log("onMemoryLevel level:" + level); + console.log('onMemoryLevel level:' + level); } } // 1.获取applicationContext let applicationContext = globalThis.applicationContext; // 2.通过applicationContext注册监听应用内生命周期 - callbackId = applicationContext.on("environment", EnvironmentCallback); - console.log("registerEnvironmentCallback number: " + JSON.stringify(callbackId)); + callbackId = applicationContext.on('environment', EnvironmentCallback); + console.log('registerEnvironmentCallback number: ' + JSON.stringify(callbackId)); } } ``` -## ApplicationContext.off(type: "environment", callbackId: number, callback: AsyncCallback) +## ApplicationContext.off(type: 'environment', callbackId: number, callback: AsyncCallback) -off(type: "environment", callbackId: **number**, callback: AsyncCallback<**void**>): **void**; +off(type: 'environment', callbackId: **number**, callback: AsyncCallback<**void**>): **void**; 取消对系统环境变化的监听。使用callback异步回调。 @@ -214,7 +214,7 @@ off(type: "environment", callbackId: **number**, callback: AsyncCallback<**void | 参数名 | 类型 | 必填 | 说明 | | ------------- | -------- | ---- | -------------------------- | -| type | "environment" | 是 | 取消监听事件的类型。 | +| type | 'environment' | 是 | 取消监听事件的类型。 | | callbackId | number | 是 | 注册监听系统环境变化的ID。 | | callback | AsyncCallback\ | 是 | 回调方法。 | @@ -228,16 +228,16 @@ let callbackId; export default class EntryAbility extends UIAbility { onDestroy() { let applicationContext = this.context.getApplicationContext(); - applicationContext.off("environment", callbackId, (error, data) => { - console.log("unregisterEnvironmentCallback success, err: " + JSON.stringify(error)); + applicationContext.off('environment', callbackId, (error, data) => { + console.log('unregisterEnvironmentCallback success, err: ' + JSON.stringify(error)); }); } } ``` -## ApplicationContext.off(type: "environment", callbackId: number) +## ApplicationContext.off(type: 'environment', callbackId: number) -off(type: "environment", callbackId: **number**, callback: AsyncCallback<**void**>): **void**; +off(type: 'environment', callbackId: **number**, callback: AsyncCallback<**void**>): **void**; 取消对系统环境变化的监听。使用callback异步回调。 @@ -247,20 +247,20 @@ off(type: "environment", callbackId: **number**, callback: AsyncCallback<**void | 参数名 | 类型 | 必填 | 说明 | | ------------- | -------- | ---- | -------------------------- | -| type | "environment" | 是 | 取消监听事件的类型。 | +| type | 'environment' | 是 | 取消监听事件的类型。 | | callbackId | number | 是 | 注册监听系统环境变化的ID。 | **示例:** ```ts -import Ability from "@ohos.app.ability.UIAbility"; +import Ability from '@ohos.app.ability.UIAbility'; let callbackId; export default class MyAbility extends Ability { onDestroy() { let applicationContext = this.context.getApplicationContext(); - applicationContext.off("environment", callbackId); + applicationContext.off('environment', callbackId); } } ``` @@ -281,16 +281,16 @@ getProcessRunningInformation(): Promise\>; | 类型 | 说明 | | -------- | -------- | -| Promise\> | 以Promise方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | +| Promise\> | 以Promise方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | **示例:** ```ts let applicationContext = this.context.getApplicationContext(); applicationContext.getProcessRunningInformation().then((data) => { - console.log("The process running information is:" + JSON.stringify(data)); + console.log('The process running information is:' + JSON.stringify(data)); }).catch((error) => { - console.log("error:" + JSON.stringify(error)); + console.log('error:' + JSON.stringify(error)); }); ``` @@ -310,7 +310,7 @@ getProcessRunningInformation(callback: AsyncCallback\> | 以回调方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | +|AsyncCallback\> | 以回调方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | **示例:** @@ -318,9 +318,9 @@ getProcessRunningInformation(callback: AsyncCallback\ { if (err.code !== 0) { - console.error("getProcessRunningInformation faile, err: " + JSON.stringify(err)); + console.error('getProcessRunningInformation faile, err: ' + JSON.stringify(err)); } else { - console.log("The process running information is:" + JSON.stringify(data)); + console.log('The process running information is:' + JSON.stringify(data)); } }) ``` @@ -344,9 +344,9 @@ killProcessesBySelf(): Promise; ```ts let applicationContext = this.context.getApplicationContext(); applicationContext.killProcessesBySelf().then((data) => { - console.log("The process running information is:" + JSON.stringify(data)); + console.log('The process running information is:' + JSON.stringify(data)); }).catch((error) => { - console.error("error:" + JSON.stringify(error)); + console.error('error:' + JSON.stringify(error)); }); ``` @@ -370,7 +370,7 @@ killProcessesBySelf(callback: AsyncCallback); let applicationContext = this.context.getApplicationContext(); applicationContext.killProcessesBySelf(err => { if (err.code !== 0) { - console.error("killProcessesBySelf faile, err: " + JSON.stringify(err)); + console.error('killProcessesBySelf faile, err: ' + JSON.stringify(err)); } }) ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-applicationStateObserver.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-applicationStateObserver.md index 32084be192c100c27333aa0522958e1dd6eefd61..1f4cc1e36ba979396dc7247840dd630ce22fe450 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-applicationStateObserver.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-applicationStateObserver.md @@ -16,7 +16,7 @@ **示例:** ```ts -import appManager from "@ohos.application.appManager" +import appManager from "@ohos.application.appManager"; let applicationStateObserver = { onForegroundApplicationChanged(appStateData) { @@ -34,6 +34,6 @@ let applicationStateObserver = { onProcessStateChanged(processData) { console.log('onProcessStateChanged onProcessStateChanged: ' + JSON.stringify(processData)); } -} +}; let observerCode = appManager.registerApplicationStateObserver(applicationStateObserver); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-baseContext.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-baseContext.md index b88ae3fe2dfa6f6f3946a361f7c95c12d03200b1..d4d3f14f605ca14ff07ba0246394a05ad53505b4 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-baseContext.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-baseContext.md @@ -22,7 +22,7 @@ import UIAbility from '@ohos.app.ability.UIAbility'; class MainAbility extends UIAbility { onCreate(want, launchParam) { // MainAbility onCreate, isStageMode: true - console.log("MainAbility onCreate, isStageMode: " + this.context.stageMode); + console.log('MainAbility onCreate, isStageMode: ' + this.context.stageMode); } } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-context.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-context.md index 1ce2e21fe7a6ca232f350bac28c52e0b7f87f048..d54bec3196fd309d2a5829f8a51dc8f1e0a5d107 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-context.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-context.md @@ -49,7 +49,7 @@ createBundleContext(bundleName: string): Context; **示例:** ```ts -let bundleContext = this.context.createBundleContext("com.example.test"); +let bundleContext = this.context.createBundleContext('com.example.test'); ``` ## Context.createModuleContext @@ -75,7 +75,7 @@ createModuleContext(moduleName: string): Context; **示例:** ```ts -let moduleContext = this.context.createModuleContext("entry"); +let moduleContext = this.context.createModuleContext('entry'); ``` createModuleContext(bundleName: string, moduleName: string): Context; @@ -100,7 +100,7 @@ createModuleContext(bundleName: string, moduleName: string): Context; **示例:** ```ts -let moduleContext = this.context.createModuleContext("com.example.test", "entry"); +let moduleContext = this.context.createModuleContext('com.example.test', 'entry'); ``` ## Context.getApplicationContext diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-continueCallback.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-continueCallback.md index 9367f66a9e24cf3956b06602501e2200b0957cc6..7e12ce10bfa691c8b269e27c228ad15c6d666ff4 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-continueCallback.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-continueCallback.md @@ -14,11 +14,11 @@ import distributedMissionManager from '@ohos.distributedMissionManager'; let continueDeviceInfo = { - srcDeviceId: "123", - dstDeviceId: "456", + srcDeviceId: '123', + dstDeviceId: '456', missionId: 123, wantParam: { - "key":"value" + 'key':'value' } }; @@ -26,7 +26,7 @@ onContinueDone(result) { console.log('onContinueDone, result: ' + JSON.stringify(result)); } - } + }; distributedMissionManager.continueMission(continueDeviceInfo, continueCallback, (error) => { if (error.code != 0) { diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-continueDeviceInfo.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-continueDeviceInfo.md index 0d4cdaae13b0f4d9af3b992a9408a846e434d36f..39761db2a1a146612252ed60368d266b2f3392e2 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-continueDeviceInfo.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-continueDeviceInfo.md @@ -17,11 +17,11 @@ import distributedMissionManager from '@ohos.distributedMissionManager'; let continueDeviceInfo = { - srcDeviceId: "123", - dstDeviceId: "456", + srcDeviceId: '123', + dstDeviceId: '456', missionId: 123, wantParam: { - "key":"value" + 'key':'value' } }; @@ -29,7 +29,7 @@ onContinueDone(result) { console.log('onContinueDone, result: ' + JSON.stringify(result)); } - } + }; distributedMissionManager.continueMission(continueDeviceInfo, continueCallback, (error) => { if (error.code != 0) { diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-errorObserver.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-errorObserver.md index af5ef4b750eccba37e7f4912c2e0ce1987fe1a27..3ad3e560941ab59809bad02749972339b211b533 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-errorObserver.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-errorObserver.md @@ -25,6 +25,6 @@ let observer = { onUnhandledException(errorMsg) { console.log('onUnhandledException, errorMsg: ' + JSON.stringify(errorMsg)); } -} -errorManager.registerErrorObserver(observer) +}; +errorManager.registerErrorObserver(observer); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-eventHub.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-eventHub.md index e5c0502fed2c7e5271ebb4239ab14e383f533d98..e219e1ef3ef15076314cb7892fddc77bd38078c4 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-eventHub.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-eventHub.md @@ -15,10 +15,10 @@ EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件 import Ability from '@ohos.application.Ability'; export default class MainAbility extends Ability { func1(){ - console.log("func1 is called"); + console.log('func1 is called'); } onForeground() { - this.context.eventHub.on("123", this.func1); + this.context.eventHub.on('123', this.func1); } } ``` @@ -45,17 +45,17 @@ on(event: string, callback: Function): void; export default class MainAbility extends Ability { onForeground() { - this.context.eventHub.on("123", this.func1); - this.context.eventHub.on("123", () => { - console.log("call anonymous func 1"); + this.context.eventHub.on('123', this.func1); + this.context.eventHub.on('123', () => { + console.log('call anonymous func 1'); }); // 结果: // func1 is called // call anonymous func 1 - this.context.eventHub.emit("123"); + this.context.eventHub.emit('123'); } func1() { - console.log("func1 is called"); + console.log('func1 is called'); } } ``` @@ -83,17 +83,17 @@ off(event: string, callback?: Function): void; export default class MainAbility extends Ability { onForeground() { - this.context.eventHub.on("123", this.func1); - this.context.eventHub.off("123", this.func1); //取消订阅func1 - this.context.eventHub.on("123", this.func1); - this.context.eventHub.on("123", this.func2); - this.context.eventHub.off("123"); //取消订阅func1和func2 + this.context.eventHub.on('123', this.func1); + this.context.eventHub.off('123', this.func1); //取消订阅func1 + this.context.eventHub.on('123', this.func1); + this.context.eventHub.on('123', this.func2); + this.context.eventHub.off('123'); //取消订阅func1和func2 } func1() { - console.log("func1 is called"); + console.log('func1 is called'); } func2() { - console.log("func2 is called"); + console.log('func2 is called'); } } ``` @@ -121,19 +121,19 @@ emit(event: string, ...args: Object[]): void; export default class MainAbility extends Ability { onForeground() { - this.context.eventHub.on("123", this.func1); + this.context.eventHub.on('123', this.func1); // 结果: // func1 is called,undefined,undefined - this.context.eventHub.emit("123"); + this.context.eventHub.emit('123'); // 结果: // func1 is called,1,undefined - this.context.eventHub.emit("123", 1); + this.context.eventHub.emit('123', 1); // 结果: // func1 is called,1,2 - this.context.eventHub.emit("123", 1, 2); + this.context.eventHub.emit('123', 1, 2); } func1(a, b) { - console.log("func1 is called," + a + "," + b); + console.log('func1 is called,' + a + ',' + b); } } ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-extensionContext.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-extensionContext.md index 9e9154fb65b1f60190e2ba0943bfd02cbad91f7e..250a9c67a2afe0f382d3fc01ca4092c6cbaa3d1a 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-extensionContext.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-extensionContext.md @@ -31,8 +31,8 @@ ExtensionContext主要用于查询所属Extension的信息、Module的配置信 三个Module内都定义一个相同名称的ServiceExtension: ```ts -import ServiceExtension from '@ohos.app.ability.ServiceExtensionAbility' -import Want from '@ohos.application.Want' +import ServiceExtension from '@ohos.app.ability.ServiceExtensionAbility'; +import Want from '@ohos.application.Want'; export default class TheServiceExtension extends ServiceExtension { onCreate(want:Want) { console.log('ServiceAbility onCreate, want: ' + want.abilityName); @@ -61,14 +61,14 @@ export default class TheServiceExtension extends ServiceExtension { 在entry的MainAbility的onCreate回调内启动ServiceExtension ```ts -import Ability from '@ohos.app.ability.Ability' +import Ability from '@ohos.app.ability.Ability'; export default class MainAbility extends Ability { onCreate(want, launchParam) { - console.log("[Demo] MainAbility onCreate"); + console.log('[Demo] MainAbility onCreate'); let wantExt = { - deviceId: "", - bundleName: "com.example.TheServiceExtension", - abilityName: "TheServiceExtension", + deviceId: '', + bundleName: 'com.example.TheServiceExtension', + abilityName: 'TheServiceExtension', }; this.context.startServiceExtensionAbility(wantExt); } @@ -83,8 +83,8 @@ export default class ServiceModel { constructor() {} executeTask() { - if (globalThis.ExtensionContext == undefined) { - console.log("ERROR, ServiceExtension does not exist"); + if (globalThis.ExtensionContext === undefined) { + console.log('ERROR, ServiceExtension does not exist'); return; } @@ -92,20 +92,20 @@ export default class ServiceModel { this.moduleName = moduleInfo.name; // 根据moduleName执行不同的业务逻辑,实现对不同性能设备的区分 switch (this.moduleName) { - case "highPerformance": - console.log("This is high performance device."); + case 'highPerformance': + console.log('This is high performance device.'); // 执行对应业务逻辑 break; - case "midPerformance": - console.log("This is mid performance device."); + case 'midPerformance': + console.log('This is mid performance device.'); // 执行对应业务逻辑 break; - case "lowPerformance": - console.log("This is low performance device."); + case 'lowPerformance': + console.log('This is low performance device.'); // 执行对应业务逻辑 break; default: - console.log("ERROR, invalid moduleName."); + console.log('ERROR, invalid moduleName.'); break; } } diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-extensionRunningInfo.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-extensionRunningInfo.md index a5834f33491284810adbbc6457e50d5d59243ded..6e978ef3e713c430ec74b9e459e0d8415ba66306 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-extensionRunningInfo.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-extensionRunningInfo.md @@ -30,16 +30,16 @@ ExtensionRunningInfo模块提供对Extension运行的相关信息和类型进行 import abilityManager from '@ohos.application.abilityManager'; let upperLimit = 1; abilityManager.getExtensionRunningInfos(upperLimit, (err,data) => { - console.log("getExtensionRunningInfos err: " + err + " data: " + JSON.stringify(data)); + console.log('getExtensionRunningInfos err: ' + err + ' data: ' + JSON.stringify(data)); for (let i = 0; i < data.length; i++) { let extensionRunningInfo = data[i]; - console.log("extensionRunningInfo.extension: " + JSON.stringify(extensionRunningInfo.extension)); - console.log("extensionRunningInfo.pid: " + JSON.stringify(extensionRunningInfo.pid)); - console.log("extensionRunningInfo.uid: " + JSON.stringify(extensionRunningInfo.uid)); - console.log("extensionRunningInfo.processName: " + JSON.stringify(extensionRunningInfo.processName)); - console.log("extensionRunningInfo.startTime: " + JSON.stringify(extensionRunningInfo.startTime)); - console.log("extensionRunningInfo.clientPackage: " + JSON.stringify(extensionRunningInfo.clientPackage)); - console.log("extensionRunningInfo.type: " + JSON.stringify(extensionRunningInfo.type)); + console.log('extensionRunningInfo.extension: ' + JSON.stringify(extensionRunningInfo.extension)); + console.log('extensionRunningInfo.pid: ' + JSON.stringify(extensionRunningInfo.pid)); + console.log('extensionRunningInfo.uid: ' + JSON.stringify(extensionRunningInfo.uid)); + console.log('extensionRunningInfo.processName: ' + JSON.stringify(extensionRunningInfo.processName)); + console.log('extensionRunningInfo.startTime: ' + JSON.stringify(extensionRunningInfo.startTime)); + console.log('extensionRunningInfo.clientPackage: ' + JSON.stringify(extensionRunningInfo.clientPackage)); + console.log('extensionRunningInfo.type: ' + JSON.stringify(extensionRunningInfo.type)); } }); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-formExtensionContext.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-formExtensionContext.md index 5e0784c672fede2fc0e66d665176a12e02fd157f..01b493932c9722be3c696a4be40325a0f06fba4e 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-formExtensionContext.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-formExtensionContext.md @@ -21,8 +21,8 @@ export default class MyFormExtensionAbility extends FormExtensionAbility { let formContext = this.context; // 获取FormExtensionContext // ... let dataObj1 = { - temperature:"11c", - "time":"11:00" + temperature:'11c', + 'time':'11:00' }; let obj1 = formBindingData.createFormBindingData(dataObj1); return obj1; @@ -51,22 +51,22 @@ startAbility(want: Want, callback: AsyncCallback<void>): void ```ts var want = { - deviceId: "", - bundleName: "com.example.formstartability", - abilityName: "MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: '', + bundleName: 'com.example.formstartability', + abilityName: 'MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: {} -} +}; this.context.startAbility(want, (error, data) => { if (error) { console.log('FormExtensionContext startAbility, error:' + JSON.stringify(error)); } else { console.log(`FormExtensionContext startAbility success`); } -}) +}); ``` ## startAbility @@ -95,18 +95,18 @@ startAbility(want: Want): Promise<void> ```ts var want = { - deviceId: "", - bundleName: "com.example.formstartability", - abilityName: "MainAbility", - action: "action1", - entities: ["entity1"], - type: "MIMETYPE", - uri: "key={true,true,false}", + deviceId: '', + bundleName: 'com.example.formstartability', + abilityName: 'MainAbility', + action: 'action1', + entities: ['entity1'], + type: 'MIMETYPE', + uri: 'key={true,true,false}', parameters: {} -} +}; this.context.startAbility(want).then(() => { - console.info("StartAbility Success"); + console.info('StartAbility Success'); }).catch((error) => { - console.info("StartAbility failed"); + console.info('StartAbility failed'); }); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionCallbacks.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionCallbacks.md index 76672e326f8a0bcb9563ad48584c801a6ec47fbf..a4885d4fdd916d0355ca438c63961d7afd1e91e4 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionCallbacks.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionCallbacks.md @@ -15,19 +15,19 @@ import distributedMissionManager from '@ohos.distributedMissionManager'; let missionDeviceInfo = { - deviceId: "123456" + deviceId: '123456' }; let missionCallback = { notifyMissionsChanged: function (deviceId) { - console.log("notifyMissionsChanged deviceId: " + JSON.stringify(deviceId)); + console.log('notifyMissionsChanged deviceId: ' + JSON.stringify(deviceId)); }, notifySnapshot: function (deviceId, mission) { - console.log("notifySnapshot deviceId: " + JSON.stringify(deviceId)); - console.log("notifySnapshot mission: " + JSON.stringify(mission)); + console.log('notifySnapshot deviceId: ' + JSON.stringify(deviceId)); + console.log('notifySnapshot mission: ' + JSON.stringify(mission)); }, notifyNetDisconnect: function (deviceId, state) { - console.log("notifyNetDisconnect deviceId: " + JSON.stringify(deviceId)); - console.log("notifyNetDisconnect state: " + JSON.stringify(state)); + console.log('notifyNetDisconnect deviceId: ' + JSON.stringify(deviceId)); + console.log('notifyNetDisconnect state: ' + JSON.stringify(state)); } }; distributedMissionManager.registerMissionListener(missionDeviceInfo, missionCallback); diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionDeviceInfo.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionDeviceInfo.md index 6c314132d14ea310b7c9fe971fd68d00d8548ccc..d937db73e439b915e157370ff571edc65c7df625 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionDeviceInfo.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionDeviceInfo.md @@ -13,19 +13,19 @@ import distributedMissionManager from '@ohos.distributedMissionManager'; let missionDeviceInfo = { - deviceId: "123456" + deviceId: '123456' }; let missionCallback = { notifyMissionsChanged: function (deviceId) { - console.log("notifyMissionsChanged deviceId: " + JSON.stringify(deviceId)); + console.log('notifyMissionsChanged deviceId: ' + JSON.stringify(deviceId)); }, notifySnapshot: function (mission, deviceId) { - console.log("notifySnapshot mission: " + JSON.stringify(mission)); - console.log("notifySnapshot deviceId: " + JSON.stringify(deviceId)); + console.log('notifySnapshot mission: ' + JSON.stringify(mission)); + console.log('notifySnapshot deviceId: ' + JSON.stringify(deviceId)); }, notifyNetDisconnect: function (mission, state) { - console.log("notifyNetDisconnect mission: " + JSON.stringify(mission)); - console.log("notifyNetDisconnect state: " + JSON.stringify(state)); + console.log('notifyNetDisconnect mission: ' + JSON.stringify(mission)); + console.log('notifyNetDisconnect state: ' + JSON.stringify(state)); } }; distributedMissionManager.registerMissionListener(missionDeviceInfo, missionCallback); diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionInfo.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionInfo.md index 3f3fd0c235df03dd07fc5ccb5705675f8e1056e7..a35b76370327b8309a488d881ad146adf5db3729 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionInfo.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionInfo.md @@ -19,9 +19,9 @@ **示例:** ```ts -import missionManager from '@ohos.application.missionManager' +import missionManager from '@ohos.application.missionManager'; -missionManager.getMissionInfo("12345", 1, (error, data) => { +missionManager.getMissionInfo('12345', 1, (error, data) => { console.info('getMissionInfo missionId is:' + JSON.stringify(data.missionId)); console.info('getMissionInfo runningState is:' + JSON.stringify(data.runningState)); console.info('getMissionInfo lockedState is:' + JSON.stringify(data.lockedState)); diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionListener.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionListener.md index 6dbc6f9e7adf7335f834a3c75637869a9733ab0d..bbc99e90938f01686646d12b62a240d7ee2b87d3 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionListener.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionListener.md @@ -16,26 +16,26 @@ **示例:** ```ts -import missionManager from '@ohos.application.missionManager' +import missionManager from '@ohos.application.missionManager'; let listener = { onMissionCreated: function (mission) { - console.log("onMissionCreated mission: " + JSON.stringify(mission)); + console.log('onMissionCreated mission: ' + JSON.stringify(mission)); }, onMissionDestroyed: function (mission) { - console.log("onMissionDestroyed mission: " + JSON.stringify(mission)); + console.log('onMissionDestroyed mission: ' + JSON.stringify(mission)); }, onMissionSnapshotChanged: function (mission) { - console.log("onMissionSnapshotChanged mission: " + JSON.stringify(mission)); + console.log('onMissionSnapshotChanged mission: ' + JSON.stringify(mission)); }, onMissionMovedToFront: function (mission) { - console.log("onMissionMovedToFront mission: " + JSON.stringify(mission)); + console.log('onMissionMovedToFront mission: ' + JSON.stringify(mission)); }, onMissionIconUpdated: function (mission, icon) { - console.log("onMissionIconUpdated mission: " + JSON.stringify(mission)); + console.log('onMissionIconUpdated mission: ' + JSON.stringify(mission)); }, onMissionClosed: function (mission) { - console.log("onMissionClosed mission: " + JSON.stringify(mission)); + console.log('onMissionClosed mission: ' + JSON.stringify(mission)); } }; let listenerid = missionManager.registerMissionListener(listener); diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionParameter.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionParameter.md index b6320f9b62824b9ef42b8b52c967a466813655d6..e96ca676a567a6cc8302d565959fb7a155aff663 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionParameter.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionParameter.md @@ -15,14 +15,14 @@ import distributedMissionManager from '@ohos.distributedMissionManager'; let missionParameter = { - deviceId: "123456", + deviceId: '123456', fixConflict: true, tag: 123 }; try { distributedMissionManager.startSyncRemoteMissions(missionParameter, (err, data) => { - console.log("startSyncRemoteMissions, data: " + JSON.stringify(data)); + console.log('startSyncRemoteMissions, data: ' + JSON.stringify(data)); } ); } catch (err) { diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionSnapshot.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionSnapshot.md index 2dba37ff19cd3f8eac0567d2661a42d0ba396243..f8fc4f2d467a82a8ea4e8dd1f591da913a47a03e 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionSnapshot.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-missionSnapshot.md @@ -24,15 +24,15 @@ import ElementName from '@ohos.bundle'; import image from '@ohos.multimedia.image'; import missionManager from '@ohos.application.missionManager'; -missionManager.getMissionInfos("", 10, (error, missions) => { - console.log("getMissionInfos is called, error.code = " + error.code); - console.log("size = " + missions.length); - console.log("missions = " + JSON.stringify(missions)); +missionManager.getMissionInfos('', 10, (error, missions) => { + console.log('getMissionInfos is called, error.code = ' + error.code); + console.log('size = ' + missions.length); + console.log('missions = ' + JSON.stringify(missions)); let id = missions[0].missionId; - missionManager.getMissionSnapShot("", id, (error, snapshot) => { - console.log("getMissionSnapShot is called, error.code = " + error.code); - console.log("bundleName = " + snapshot.ability.bundleName); - }) -}) + missionManager.getMissionSnapShot('', id, (error, snapshot) => { + console.log('getMissionSnapShot is called, error.code = ' + error.code); + console.log('bundleName = ' + snapshot.ability.bundleName); + }); +}); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-serviceExtensionContext.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-serviceExtensionContext.md index 8ef06b823ea366009d3fb520e0c779671ebefa38..4f9580d7b0791455b2efcb55d263e2389a7a2e04 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-serviceExtensionContext.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-serviceExtensionContext.md @@ -69,8 +69,8 @@ startAbility(want: Want, callback: AsyncCallback<void>): void; ```ts let want = { - bundleName: "com.example.myapp", - abilityName: "MyAbility" + bundleName: 'com.example.myapp', + abilityName: 'MyAbility' }; try { @@ -142,8 +142,8 @@ startAbility(want: Want, options?: StartOptions): Promise\; ```ts let want = { - bundleName: "com.example.myapp", - abilityName: "MyAbility" + bundleName: 'com.example.myapp', + abilityName: 'MyAbility' }; let options = { windowMode: 0, @@ -213,9 +213,9 @@ startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void& ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let options = { windowMode: 0 @@ -291,9 +291,9 @@ startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback\< ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; @@ -368,9 +368,9 @@ startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, ca ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; let options = { @@ -454,9 +454,9 @@ startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions): ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; let options = { @@ -519,9 +519,9 @@ startServiceExtensionAbility(want: Want, callback: AsyncCallback\): void; ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -585,9 +585,9 @@ startServiceExtensionAbility(want: Want): Promise\; ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -651,9 +651,9 @@ startServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; @@ -722,9 +722,9 @@ startServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise\ ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; @@ -781,9 +781,9 @@ stopServiceExtensionAbility(want: Want, callback: AsyncCallback\): void; ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -844,9 +844,9 @@ stopServiceExtensionAbility(want: Want): Promise\; ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -906,9 +906,9 @@ stopServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; @@ -974,9 +974,9 @@ stopServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise\< ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; @@ -1119,14 +1119,14 @@ connectServiceExtensionAbility(want: Want, options: ConnectOptions): number; ```ts let want = { - bundleName: "com.example.myapp", - abilityName: "MyAbility" + bundleName: 'com.example.myapp', + abilityName: 'MyAbility' }; let options = { onConnect(elementName, remote) { console.log('----------- onConnect -----------') }, onDisconnect(elementName) { console.log('----------- onDisconnect -----------') }, onFailed(code) { console.log('----------- onFailed -----------') } - } + }; let connection = null; try { @@ -1179,9 +1179,9 @@ connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options ```ts let want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; let accountId = 100; let options = { @@ -1359,10 +1359,10 @@ startAbilityByCall(want: Want): Promise<Caller>; // 后台启动Ability,不配置parameters let wantBackground = { - bundleName: "com.example.myservice", - moduleName: "entry", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + moduleName: 'entry', + abilityName: 'MainAbility', + deviceId: '' }; try { @@ -1388,14 +1388,14 @@ startAbilityByCall(want: Want): Promise<Caller>; ```ts let caller = undefined; - // 前台启动Ability,将parameters中的"ohos.aafwk.param.callAbilityToForeground"配置为true + // 前台启动Ability,将parameters中的'ohos.aafwk.param.callAbilityToForeground'配置为true let wantForeground = { - bundleName: "com.example.myservice", - moduleName: "entry", - abilityName: "MainAbility", - deviceId: "", + bundleName: 'com.example.myservice', + moduleName: 'entry', + abilityName: 'MainAbility', + deviceId: '', parameters: { - "ohos.aafwk.param.callAbilityToForeground": true + 'ohos.aafwk.param.callAbilityToForeground': true } }; diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-shellCmdResult.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-shellCmdResult.md index 986aaca7944a212ac2e57e9460e9e50a1157ed9e..bd438eae69aaaa4fb2a1c718ce27aab5870f1eba 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-shellCmdResult.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-shellCmdResult.md @@ -19,13 +19,13 @@ **示例:** ```ts -import AbilityDelegatorRegistry from "@ohos.application.abilityDelegatorRegistry"; +import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'; let abilityDelegator; -let cmd = "cmd"; +let cmd = 'cmd'; abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator(); abilityDelegator.executeShellCommand(cmd, (err: any, data: any) => { - console.info("executeShellCommand callback, failed: ", err); - console.info("executeShellCommand callback, success: ", data); + console.info('executeShellCommand callback, failed: ', err); + console.info('executeShellCommand callback, success: ', data); }); ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md b/zh-cn/application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md index 1f56e2f24ed5c7503a002797395dbb095082b0cc..c37cbb66ec4c8c2c06ec13b741547960f7b60683 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md @@ -67,8 +67,8 @@ startAbility(want: Want, callback: AsyncCallback<void>): void; ```ts var want = { - bundleName: "com.example.myapp", - abilityName: "MyAbility" + bundleName: 'com.example.myapp', + abilityName: 'MyAbility' }; try { @@ -139,9 +139,9 @@ startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void& ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var options = { windowMode: 0 @@ -219,8 +219,8 @@ startAbility(want: Want, options?: StartOptions): Promise<void>; ```ts var want = { - bundleName: "com.example.myapp", - abilityName: "MyAbility" + bundleName: 'com.example.myapp', + abilityName: 'MyAbility' }; var options = { windowMode: 0, @@ -296,9 +296,9 @@ startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>): ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -310,7 +310,7 @@ startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>): return; } // 执行正常业务 - console.log("startAbilityForResult succeed, result.resultCode = " + + console.log('startAbilityForResult succeed, result.resultCode = ' + result.resultCode) }); } catch (paramError) { @@ -372,9 +372,9 @@ startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var options = { windowMode: 0, @@ -389,7 +389,7 @@ startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback return; } // 执行正常业务 - console.log("startAbilityForResult succeed, result.resultCode = " + + console.log('startAbilityForResult succeed, result.resultCode = ' + result.resultCode) }); } catch (paramError) { @@ -458,8 +458,8 @@ startAbilityForResult(want: Want, options?: StartOptions): Promise<AbilityRes ```ts var want = { - bundleName: "com.example.myapp", - abilityName: "MyAbility" + bundleName: 'com.example.myapp', + abilityName: 'MyAbility' }; var options = { windowMode: 0, @@ -469,7 +469,7 @@ startAbilityForResult(want: Want, options?: StartOptions): Promise<AbilityRes this.context.startAbilityForResult(want, options) .then((result) => { // 执行正常业务 - console.log("startAbilityForResult succeed, result.resultCode = " + result.resultCode); + console.log('startAbilityForResult succeed, result.resultCode = ' + result.resultCode); }) .catch((error) => { // 处理业务逻辑错误 @@ -532,9 +532,9 @@ startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncC ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var accountId = 100; @@ -547,7 +547,7 @@ startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncC return; } // 执行正常业务 - console.log("startAbilityForResultWithAccount succeed, result.resultCode = " + + console.log('startAbilityForResultWithAccount succeed, result.resultCode = ' + result.resultCode) }); } catch (paramError) { @@ -608,9 +608,9 @@ startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOp ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var accountId = 100; var options = { @@ -626,7 +626,7 @@ startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOp return; } // 执行正常业务 - console.log("startAbilityForResultWithAccount succeed, result.resultCode = " + + console.log('startAbilityForResultWithAccount succeed, result.resultCode = ' + result.resultCode) }); } catch (paramError) { @@ -692,9 +692,9 @@ startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartO ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var accountId = 100; var options = { @@ -705,7 +705,7 @@ startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartO this.context.startAbilityForResultWithAccount(want, accountId, options) .then((result) => { // 执行正常业务 - console.log("startAbilityForResultWithAccount succeed, result.resultCode = " + + console.log('startAbilityForResultWithAccount succeed, result.resultCode = ' + result.resultCode) }) .catch((error) => { @@ -757,9 +757,9 @@ startServiceExtensionAbility(want: Want, callback: AsyncCallback\): void; ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -817,9 +817,9 @@ startServiceExtensionAbility(want: Want): Promise\; ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -878,9 +878,9 @@ startServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var accountId = 100; @@ -943,9 +943,9 @@ startServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise\ ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var accountId = 100; @@ -1001,9 +1001,9 @@ stopServiceExtensionAbility(want: Want, callback: AsyncCallback\): void; ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -1058,9 +1058,9 @@ stopServiceExtensionAbility(want: Want): Promise\; ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; try { @@ -1120,9 +1120,9 @@ stopServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var accountId = 100; @@ -1182,9 +1182,9 @@ stopServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise\< ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var accountId = 100; @@ -1316,8 +1316,8 @@ terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback<voi ```ts var want = { - bundleName: "com.extreme.myapplication", - abilityName: "SecondAbility" + bundleName: 'com.extreme.myapplication', + abilityName: 'SecondAbility' } var resultCode = 100; // 返回给接口调用方AbilityResult信息 @@ -1381,8 +1381,8 @@ terminateSelfWithResult(parameter: AbilityResult): Promise<void>; ```ts var want = { - bundleName: "com.extreme.myapplication", - abilityName: "SecondAbility" + bundleName: 'com.extreme.myapplication', + abilityName: 'SecondAbility' } var resultCode = 100; // 返回给接口调用方AbilityResult信息 @@ -1446,9 +1446,9 @@ connectServiceExtensionAbility(want: Want, options: ConnectOptions): number; ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var options = { onConnect(elementName, remote) { console.log('----------- onConnect -----------') }, @@ -1510,9 +1510,9 @@ connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var accountId = 100; var options = { @@ -1674,10 +1674,10 @@ startAbilityByCall(want: Want): Promise<Caller>; // 后台启动Ability,不配置parameters var wantBackground = { - bundleName: "com.example.myservice", - moduleName: "entry", - abilityName: "MainAbility", - deviceId: "" + bundleName: 'com.example.myservice', + moduleName: 'entry', + abilityName: 'MainAbility', + deviceId: '' }; try { @@ -1703,14 +1703,14 @@ startAbilityByCall(want: Want): Promise<Caller>; ```ts var caller = undefined; - // 前台启动Ability,将parameters中的"ohos.aafwk.param.callAbilityToForeground"配置为true + // 前台启动Ability,将parameters中的'ohos.aafwk.param.callAbilityToForeground'配置为true var wantForeground = { - bundleName: "com.example.myservice", - moduleName: "entry", - abilityName: "MainAbility", - deviceId: "", + bundleName: 'com.example.myservice', + moduleName: 'entry', + abilityName: 'MainAbility', + deviceId: '', parameters: { - "ohos.aafwk.param.callAbilityToForeground": true + 'ohos.aafwk.param.callAbilityToForeground': true } }; @@ -1781,9 +1781,9 @@ startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback\< ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var accountId = 100; @@ -1856,9 +1856,9 @@ startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, ca ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var accountId = 100; var options = { @@ -1933,9 +1933,9 @@ startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions): ```ts var want = { - deviceId: "", - bundleName: "com.extreme.test", - abilityName: "MainAbility" + deviceId: '', + bundleName: 'com.extreme.test', + abilityName: 'MainAbility' }; var accountId = 100; var options = { @@ -2037,7 +2037,7 @@ setMissionLabel(label: string, callback:AsyncCallback<void>): void; **示例:** ```ts - this.context.setMissionLabel("test",(result) => { + this.context.setMissionLabel('test',(result) => { console.log('requestPermissionsFromUserresult:' + JSON.stringify(result)); }); ``` @@ -2066,7 +2066,7 @@ setMissionLabel(label: string): Promise<void>; **示例:** ```ts - this.context.setMissionLabel("test").then(() => { + this.context.setMissionLabel('test').then(() => { console.log('success'); }).catch((error) => { console.log('failed:' + JSON.stringify(error)); diff --git a/zh-cn/application-dev/reference/apis/js-apis-linkedlist.md b/zh-cn/application-dev/reference/apis/js-apis-linkedlist.md index f520831d6033af8aae474842f52c88f721730354..fbd0dc5c138979f590683f3b80c114ab324b03d9 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-linkedlist.md +++ b/zh-cn/application-dev/reference/apis/js-apis-linkedlist.md @@ -1,8 +1,5 @@ # @ohos.util.LinkedList (线性容器LinkedList) -> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 - LinkedList底层通过双向链表实现,双向链表的每个节点都包含对前一个元素和后一个元素的引用。当需要查询元素时,可以从头遍历,也可以从尾部遍历,插入、删除效率高,查询效率低。LinkedList允许元素为null。 LinkedList和[List](js-apis-list.md)相比,LinkedList是双向链表,可以快速地在头尾进行增删,而List是单向链表,无法双向操作。 @@ -11,8 +8,13 @@ LinkedList和[ArrayList](js-apis-arraylist.md)相比,插入数据效率LinkedL **推荐使用场景:** 当需要频繁的插入删除时,推荐使用LinkedList高效操作。 -文档中存在泛型的使用,涉及以下泛型标记符:
-- T: Type, 类 +文档中存在泛型的使用,涉及以下泛型标记符:
+- T:Type,类 + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + ## 导入模块 diff --git a/zh-cn/application-dev/reference/apis/js-apis-list.md b/zh-cn/application-dev/reference/apis/js-apis-list.md index a4f380e16e59f7bfe951515c2c6ecf3308fb8428..e399c28c79fa64200c7fadc54bbc7e7588102709 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-list.md +++ b/zh-cn/application-dev/reference/apis/js-apis-list.md @@ -1,16 +1,18 @@ # @ohos.util.List (线性容器List) -> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 - List底层通过单向链表实现,每个节点有一个指向后一个元素的引用。当需要查询元素时,必须从头遍历,插入、删除效率高,查询效率低。List允许元素为null。 List和[LinkedList](js-apis-linkedlist.md)相比,LinkedList是双向链表,可以快速地在头尾进行增删,而List是单向链表,无法双向操作。 **推荐使用场景:** 当需要频繁的插入删除时,推荐使用List高效操作。 -文档中存在泛型的使用,涉及以下泛型标记符:
-- T: Type, 类 +文档中存在泛型的使用,涉及以下泛型标记符:
+- T:Type,类 + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + ## 导入模块 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 d35a9dd3f903e2bf7e7d52671d0252fc6b0904b6..459c90a541adb49e604aef813fb66997c94768fd 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-media.md +++ b/zh-cn/application-dev/reference/apis/js-apis-media.md @@ -3788,7 +3788,7 @@ audioPlayer.on('error', (error) => { //设置'error'事件回调 console.info(`audio error called, error: ${error}`); }); -// 用户选择视频设置fd(本地播放) +// 用户选择音频设置fd(本地播放) let fdPath = 'fd://'; // path路径的码流可通过"hdc file send D:\xxx\01.mp3 /data/accounts/account_0/appdata" 命令,将其推送到设备上 let path = '/data/accounts/account_0/appdata/ohos.xxx.xxx.xxx/01.mp3'; diff --git a/zh-cn/application-dev/reference/apis/js-apis-pointer.md b/zh-cn/application-dev/reference/apis/js-apis-pointer.md index 6ae3701566fe2af3d482ffb5c3cd729d85be46f3..c9f96bd2a7926648906a2265e922b909d7c15416 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-pointer.md +++ b/zh-cn/application-dev/reference/apis/js-apis-pointer.md @@ -421,44 +421,44 @@ window.getTopWindow((error, win) => { **系统能力**:SystemCapability.MultimodalInput.Input.Pointer -| 名称 | 值 | 说明 | -| -------------------------------- | ---- | ------ | -| DEFAULT | 0 | 默认 | -| EAST | 1 | 向东箭头 | -| WEST | 2 | 向西箭头 | -| SOUTH | 3 | 向南箭头 | -| NORTH | 4 | 向北箭头 | -| WEST_EAST | 5 | 向西东箭头 | -| NORTH_SOUTH | 6 | 向北南箭头 | -| NORTH_EAST | 7 | 向东北箭头 | -| NORTH_WEST | 8 | 向西北箭头 | -| SOUTH_EAST | 9 | 向东南箭头 | -| SOUTH_WEST | 10 | 向西南箭头 | -| NORTH_EAST_SOUTH_WEST | 11 | 东北西南调整 | -| NORTH_WEST_SOUTH_EAST | 12 | 西北东南调整 | -| CROSS | 13 | 准确选择 | -| CURSOR_COPY | 14 | 拷贝 | -| CURSOR_FORBID | 15 | 不可用 | -| COLOR_SUCKER | 16 | 滴管 | -| HAND_GRABBING | 17 | 并拢的手 | -| HAND_OPEN | 18 | 张开的手 | -| HAND_POINTING | 19 | 手形指针 | -| HELP | 20 | 帮助选择 | -| MOVE | 21 | 移动 | -| RESIZE_LEFT_RIGHT | 22 | 内部左右调整 | -| RESIZE_UP_DOWN | 23 | 内部上下调整 | -| SCREENSHOT_CHOOSE | 24 | 截图十字准星 | -| SCREENSHOT_CURSOR | 25 | 截图 | -| TEXT_CURSOR | 26 | 文本选择 | -| ZOOM_IN | 27 | 放大 | -| ZOOM_OUT | 28 | 缩小 | -| MIDDLE_BTN_EAST | 29 | 向东滚动 | -| MIDDLE_BTN_WEST | 30 | 向西滚动 | -| MIDDLE_BTN_SOUTH | 31 | 向南滚动 | -| MIDDLE_BTN_NORTH | 32 | 向北滚动 | -| MIDDLE_BTN_NORTH_SOUTH | 33 | 向北南滚动 | -| MIDDLE_BTN_NORTH_EAST | 34 | 向东北滚动 | -| MIDDLE_BTN_NORTH_WEST | 35 | 向西北滚动 | -| MIDDLE_BTN_SOUTH_EAST | 36 | 向东南滚动 | -| MIDDLE_BTN_SOUTH_WEST | 37 | 向西南滚动 | -| MIDDLE_BTN_NORTH_SOUTH_WEST_EAST | 38 | 四向锥形移动 | \ No newline at end of file +| 名称 | 值 | 说明 |图示 | +| -------------------------------- | ---- | ------ |------ | +| DEFAULT | 0 | 默认 |![Default.png](./figures/Default.png)| +| EAST | 1 | 向东箭头 |![East.png](./figures/East.png)| +| WEST | 2 | 向西箭头 |![West.png](./figures/West.png)| +| SOUTH | 3 | 向南箭头 |![South.png](./figures/South.png)| +| NORTH | 4 | 向北箭头 |![North.png](./figures/North.png)| +| WEST_EAST | 5 | 向西东箭头 |![West_East.png](./figures/West_East.png)| +| NORTH_SOUTH | 6 | 向北南箭头 |![North_South.png](./figures/North_South.png)| +| NORTH_EAST | 7 | 向东北箭头 |![North_East.png](./figures/North_East.png)| +| NORTH_WEST | 8 | 向西北箭头 |![North_West.png](./figures/North_West.png)| +| SOUTH_EAST | 9 | 向东南箭头 |![South_East.png](./figures/South_East.png)| +| SOUTH_WEST | 10 | 向西南箭头 |![South_West.png](./figures/South_West.png)| +| NORTH_EAST_SOUTH_WEST | 11 | 东北西南调整 |![North_East_South_West.png](./figures/North_East_South_West.png)| +| NORTH_WEST_SOUTH_EAST | 12 | 西北东南调整 |![North_West_South_East.png](./figures/North_West_South_East.png)| +| CROSS | 13 | 准确选择 |![Cross.png](./figures/Cross.png)| +| CURSOR_COPY | 14 | 拷贝 |![Copy.png](./figures/Copy.png)| +| CURSOR_FORBID | 15 | 不可用 |![Forbid.png](./figures/Forbid.png)| +| COLOR_SUCKER | 16 | 滴管 |![Colorsucker.png](./figures/Colorsucker.png)| +| HAND_GRABBING | 17 | 并拢的手 |![Hand_Grabbing.png](./figures/Hand_Grabbing.png)| +| HAND_OPEN | 18 | 张开的手 |![Hand_Open.png](./figures/Hand_Open.png)| +| HAND_POINTING | 19 | 手形指针 |![Hand_Poniting.png](./figures/Hand_Pointing.png)| +| HELP | 20 | 帮助选择 |![Help.png](./figures/Help.png)| +| MOVE | 21 | 移动 |![Move.png](./figures/Move.png)| +| RESIZE_LEFT_RIGHT | 22 | 内部左右调整 |![Resize_Left_Right.png](./figures/Resize_Left_Right.png)| +| RESIZE_UP_DOWN | 23 | 内部上下调整 |![Resize_Up_Down.png](./figures/Resize_Up_Down.png)| +| SCREENSHOT_CHOOSE | 24 | 截图十字准星 |![Screenshot_Cross.png](./figures/Screenshot_Cross.png)| +| SCREENSHOT_CURSOR | 25 | 截图 |![Screenshot_Cursor.png](./figures/Screenshot_Cursor.png)| +| TEXT_CURSOR | 26 | 文本选择 |![Text_Cursor.png](./figures/Text_Cursor.png)| +| ZOOM_IN | 27 | 放大 |![Zoom_In.png](./figures/Zoom_In.png)| +| ZOOM_OUT | 28 | 缩小 |![Zoom_Out.png](./figures/Zoom_Out.png)| +| MIDDLE_BTN_EAST | 29 | 向东滚动 |![MID_Btn_East.png](./figures/MID_Btn_East.png)| +| MIDDLE_BTN_WEST | 30 | 向西滚动 |![MID_Btn_West.png](./figures/MID_Btn_West.png)| +| MIDDLE_BTN_SOUTH | 31 | 向南滚动 | ![MID_Btn_South.png](./figures/MID_Btn_South.png) | +| MIDDLE_BTN_NORTH | 32 | 向北滚动 |![MID_Btn_North.png](./figures/MID_Btn_North.png)| +| MIDDLE_BTN_NORTH_SOUTH | 33 | 向北南滚动 |![MID_Btn_North_South.png](./figures/MID_Btn_North_South.png)| +| MIDDLE_BTN_NORTH_EAST | 34 | 向东北滚动 |![MID_Btn_North_East.png](./figures/MID_Btn_North_East.png)| +| MIDDLE_BTN_NORTH_WEST | 35 | 向西北滚动 |![MID_Btn_North_West.png](./figures/MID_Btn_North_West.png)| +| MIDDLE_BTN_SOUTH_EAST | 36 | 向东南滚动 |![MID_Btn_South_East.png](./figures/MID_Btn_South_East.png)| +| MIDDLE_BTN_SOUTH_WEST | 37 | 向西南滚动 |![MID_Btn_South_West.png](./figures/MID_Btn_South_West.png)| +| MIDDLE_BTN_NORTH_SOUTH_WEST_EAST | 38 | 四向锥形移动 |![MID_Btn_North_South_West_East.png](./figures/MID_Btn_North_South_West_East.png)| \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-process.md b/zh-cn/application-dev/reference/apis/js-apis-process.md index 89919bc51a429a6e302a7b2ec4a366783eba5cd0..8f9f63a038ed0a31cd4e02b0985db02181b7e553 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-process.md +++ b/zh-cn/application-dev/reference/apis/js-apis-process.md @@ -25,7 +25,7 @@ import process from '@ohos.process'; | groups | number[] | 是 | 否 | 带有补充组id的数组。
**系统接口:** 此接口为系统接口。
此接口仅用于对应用的测试。 | | pid | number | 是 | 否 | 当前进程的pid。 | | ppid | number | 是 | 否 | 当前进程的父进程的pid。
**系统接口:** 此接口为系统接口。
此接口仅用于对应用的测试。 | -| tid8+ | number | 是 | 否 | 当前进程的tid。 | +| tid8+ | number | 是 | 否 | 当前线程的tid。 | ## EventListener diff --git a/zh-cn/application-dev/reference/apis/js-apis-system-time.md b/zh-cn/application-dev/reference/apis/js-apis-system-time.md index 3e82b3c73eaf0165866afd69c991843da59e4b8a..4bdd08c1ea1e7123d10f48c814d84132297349ba 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-system-time.md +++ b/zh-cn/application-dev/reference/apis/js-apis-system-time.md @@ -4,7 +4,8 @@ > **说明:** > -> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> - 从API version 9 开始,该模块接口不再维护,推荐使用新模块接口[@ohos.systemDateTime (系统时间、时区)](js-apis-system-date-time.md) +> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 diff --git a/zh-cn/application-dev/reference/apis/js-apis-treemap.md b/zh-cn/application-dev/reference/apis/js-apis-treemap.md index eb8d83f1e094027bfa33fc45f11041eb30d4566b..99fabdacb010daf46b1a27fac7c5cb854ea59d42 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-treemap.md +++ b/zh-cn/application-dev/reference/apis/js-apis-treemap.md @@ -566,7 +566,7 @@ while(temp != undefined) { values(): IterableIterator<V> -返回包含此映射中键值对的新迭代器对象。 +返回包含此映射中键值的新迭代器对象。 **系统能力:** SystemCapability.Utils.Lang diff --git a/zh-cn/application-dev/reference/apis/js-apis-treeset.md b/zh-cn/application-dev/reference/apis/js-apis-treeset.md index fb3fb6767814267ed85003f9fe61775bd62b4e80..9c035500ea0e9ce86c7f47017fe06e2f1279cd70 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-treeset.md +++ b/zh-cn/application-dev/reference/apis/js-apis-treeset.md @@ -438,7 +438,7 @@ treeSet.clear(); values(): IterableIterator<T> -返回包含此映射中键值对的新迭代器对象。 +返回包含此映射中键值的新迭代器对象。 **系统能力:** SystemCapability.Utils.Lang diff --git a/zh-cn/application-dev/reference/apis/js-apis-webview.md b/zh-cn/application-dev/reference/apis/js-apis-webview.md index 574a61615d818bf1eadfcb4b6254c3f5e428b348..f7cb4598409145a50ee0085e233ea2be897318e2 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-webview.md +++ b/zh-cn/application-dev/reference/apis/js-apis-webview.md @@ -19,7 +19,7 @@ import web_webview from '@ohos.web.webview'; ``` -### once +## once once(type: string, callback: Callback\): void @@ -42,7 +42,7 @@ import web_webview from '@ohos.web.webview' web_webview.once("webInited", () => { console.log("setCookie") - web_webview.WebCookieManager.setCookie("www.example.com", "a=b") + web_webview.WebCookieManager.setCookie("https://www.example.com", "a=b") }) @Entry @@ -337,7 +337,6 @@ struct WebComponent { } }) Web({ src: 'www.example.com', controller: this.controller }) - .webDebuggingAccess(true) } } } @@ -437,7 +436,34 @@ struct WebComponent { } ``` -### accessforward +加载本地资源 +```ts +// xxx.ets +import web_webview from '@ohos.web.webview' + +@Entry +@Component +struct WebComponent { + controller: web_webview.WebviewController = new web_webview.WebviewController(); + updataContent: string = '
image -- end
' + + build() { + Column() { + Button('loadData') + .onClick(() => { + try { + this.controller.loadData(this.updataContent, "text/html", "UTF-8", " ", " "); + } catch (error) { + console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); + } + }) + Web({ src: 'www.example.com', controller: this.controller }) + } + } +} +``` + +### accessForward accessForward(): boolean @@ -1564,7 +1590,7 @@ struct WebComponent { .onClick(() => { try { if (this.ports && this.ports[1]) { - this.ports[1].postMessageEvent("this.sendFromEts"); + this.ports[1].postMessageEvent(this.sendFromEts); } else { console.error(`ports is null, Please initialize first`); } @@ -3173,7 +3199,7 @@ struct WebComponent { Button('getCookie') .onClick(() => { try { - let value = web_webview.WebCookieManager.getCookie('www.example.com'); + let value = web_webview.WebCookieManager.getCookie('https://www.example.com'); console.log("value: " + value); } catch (error) { console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); @@ -3225,7 +3251,7 @@ struct WebComponent { Button('setCookie') .onClick(() => { try { - web_webview.WebCookieManager.setCookie('www.example.com', 'a=b'); + web_webview.WebCookieManager.setCookie('https://www.example.com', 'a=b'); } catch (error) { console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); } @@ -4093,9 +4119,6 @@ struct WebComponent { try { this.username_password = web_webview.WebDataBase.getHttpAuthCredentials(this.host, this.realm); console.log('num: ' + this.username_password.length); - ForEach(this.username_password, (item) => { - console.log('username_password: ' + item); - }, item => item) } catch (error) { console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); } diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md index 88a2104b26a7b57b2415ca460acbb865f01617b3..c0d0ba97f00937db9119e342619c211bf9b65688 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md @@ -16,7 +16,7 @@ ## 接口 -Web(options: { src: ResourceStr, controller: WebController | WebviewController}) +Web(options: { src: ResourceStr, controller: WebviewController | WebController}) > **说明:** > @@ -28,26 +28,13 @@ Web(options: { src: ResourceStr, controller: WebController | WebviewController}) | 参数名 | 参数类型 | 必填 | 参数描述 | | ---------- | ---------------------------------------- | ---- | ------- | | src | [ResourceStr](ts-types.md) | 是 | 网页资源地址。 | -| controller | [WebController](#webcontroller) \| [WebviewController9+](../apis/js-apis-webview.md#webviewcontroller) | 是 | 控制器。 | +| controller | [WebviewController9+](../apis/js-apis-webview.md#webviewcontroller) \| [WebController](#webcontroller) | 是 | 控制器。从API Version 9开始,WebController不在维护,建议使用WebviewController替代。 | **示例:** 加载在线网页 ```ts // xxx.ets - @Entry - @Component - struct WebComponent { - controller: WebController = new WebController() - build() { - Column() { - Web({ src: 'www.example.com', controller: this.controller }) - } - } - } - ``` - ```ts - // xxx.ets import web_webview from '@ohos.web.webview' @Entry @@ -68,7 +55,7 @@ Web(options: { src: ResourceStr, controller: WebController | WebviewController}) @Entry @Component struct WebComponent { - controller: WebController = new WebController() + controller: web_webview.WebviewController = new web_webview.WebviewController() build() { Column() { Web({ src: $rawfile("index.html"), controller: this.controller }) @@ -191,7 +178,7 @@ javaScriptProxy(javaScriptProxy: { object: object, name: string, methodList: Arr | object | object | 是 | - | 参与注册的对象。只能声明方法,不能声明属性。 | | name | string | 是 | - | 注册对象的名称,与window中调用的对象名一致。 | | methodList | Array\ | 是 | - | 参与注册的应用侧JavaScript对象的方法。 | -| controller | [WebController](#webcontroller) 或 [WebviewController](../apis/js-apis-webview.md#webviewcontroller) | 是 | - | 控制器。 | +| controller | [WebController](#webcontroller) \| [WebviewController](../apis/js-apis-webview.md#webviewcontroller) | 是 | - | 控制器。 | **示例:** @@ -468,7 +455,7 @@ geolocationAccess(geolocationAccess: boolean) mediaPlayGestureAccess(access: boolean) -设置有声视频播放是否需要用户手动点击,静音视频播放不受该接口管控。 +设置有声视频播放是否需要用户手动点击,静音视频播放不受该接口管控,默认需要。 **参数:** @@ -1184,7 +1171,7 @@ forceDarkAccess(access: boolean) pinchSmooth(isEnabled: boolean) -设置网页是否开启捏合流畅模式。 +设置网页是否开启捏合流畅模式,默认不开启。 **参数:** @@ -4963,7 +4950,7 @@ setCookie(url: string, value: string): boolean Column() { Button('setCookie') .onClick(() => { - let result = this.controller.getCookieManager().setCookie("www.example.com", "a=b") + let result = this.controller.getCookieManager().setCookie("https://www.example.com", "a=b") console.log("result: " + result) }) Web({ src: 'www.example.com', controller: this.controller }) diff --git a/zh-cn/application-dev/tools/aa-tool.md b/zh-cn/application-dev/tools/aa-tool.md index 3a5665c2767600fbb10d83fe4bc97ce5ba5fe5d5..eb3c727c7128072b7d51d3303448fc6ad30b299f 100644 --- a/zh-cn/application-dev/tools/aa-tool.md +++ b/zh-cn/application-dev/tools/aa-tool.md @@ -1,7 +1,11 @@ # aa工具 -Ability assistant(Ability助手,简称为aa),是实现应用及测试用例启动功能的工具,为开发者提供基本的应用调试和测试的能力。通过该工具,开发者可以在hdc shell中,发送命令以执行各种系统操作,例如启动应用组件、强制停止进程、打印应用组件相关信息等。 +Ability assistant(Ability助手,简称为aa),是实现应用及测试用例启动功能的工具,为开发者提供基本的应用调试和测试能力,例如启动应用组件、强制停止进程、打印应用组件相关信息等。 + +> **说明:** +> +> 在使用本工具前,开发者需要先获取[hdc工具](../../device-dev/subsystems/subsys-toolchain-hdc-guide.md),执行hdc shell。 - help diff --git a/zh-cn/application-dev/tools/anm-tool.md b/zh-cn/application-dev/tools/anm-tool.md index f91ad97ae854237ac5ec4afbae827f62a23494d3..11cfcb7f4894ba60e2165e6280cbc1598679d32c 100644 --- a/zh-cn/application-dev/tools/anm-tool.md +++ b/zh-cn/application-dev/tools/anm-tool.md @@ -1,6 +1,10 @@ # anm工具 -Advanced Notification Manager(通知管理工具,简称anm)是实现通知打印、设置通知参数等功能的工具,为开发者提供基本的通知调试和测试能力。通过该工具,开发者可以在hdc shell中,发送命令以执行各种系统操作,例如打印已发布通知详细信息、设置通知缓存个数、使能通知等。 +Advanced Notification Manager(通知管理工具,简称anm)是实现通知打印、设置通知参数等功能的工具,为开发者提供基本的通知调试和测试能力,例如打印已发布通知详细信息、设置通知缓存个数、使能通知等。 + +> **说明:** +> +> 在使用本工具前,开发者需要先获取[hdc工具](../../device-dev/subsystems/subsys-toolchain-hdc-guide.md),执行hdc shell。 ### help diff --git a/zh-cn/application-dev/tools/bm-tool.md b/zh-cn/application-dev/tools/bm-tool.md index 6b7fade3819c991b669bb5b3d183f208cdbee0c0..da66b105073487925e953c5a64fa332fa7925469 100644 --- a/zh-cn/application-dev/tools/bm-tool.md +++ b/zh-cn/application-dev/tools/bm-tool.md @@ -1,7 +1,11 @@ # bm工具 -Bundle Manager(包管理工具,简称bm)是实现应用安装、卸载、更新、查询等功能的工具,bm为开发者提供基本的应用安装包的调试能力,开发者可以在hdc shell中,执行bm命令以触发各种系统操作,例如:安装应用,卸载应用,查询安装包信息等。 +Bundle Manager(包管理工具,简称bm)是实现应用安装、卸载、更新、查询等功能的工具,bm为开发者提供基本的应用安装包的调试能力,例如:安装应用,卸载应用,查询安装包信息等。 + +> **说明:** +> +> 在使用本工具前,开发者需要先获取[hdc工具](../../device-dev/subsystems/subsys-toolchain-hdc-guide.md),执行hdc shell。 **表1** bm工具命令列表 diff --git a/zh-cn/application-dev/tools/cem-tool.md b/zh-cn/application-dev/tools/cem-tool.md index a799e27b7c3b482e9eeba092d4c48f5821779a2a..7f7f4b03bef40c2acd13ca5a474abd3478a6fc79 100644 --- a/zh-cn/application-dev/tools/cem-tool.md +++ b/zh-cn/application-dev/tools/cem-tool.md @@ -1,6 +1,10 @@ # cem工具 -Common Event Manager(公共事件管理工具, 简称cem)是实现公共事件信息打印、发布公共事件等功能的工具,为开发者提供基本的公共事件调试和测试能力。通过该工具,开发者可以在hdc shell中,发送命令执行各种系统操作,例如打印所有公共事件订阅者、已发送公共事件和接受者、模拟发布公共事件等。 +Common Event Manager(公共事件管理工具, 简称cem)是实现公共事件信息打印、发布公共事件等功能的工具,为开发者提供基本的公共事件调试和测试能力,例如打印所有公共事件订阅者、已发送公共事件和接受者、模拟发布公共事件等。 + +> **说明:** +> +> 在使用本工具前,开发者需要先获取[hdc工具](../../device-dev/subsystems/subsys-toolchain-hdc-guide.md),执行hdc shell。 ## cem调试助手 diff --git a/zh-cn/application-dev/windowmanager/application-window-stage.md b/zh-cn/application-dev/windowmanager/application-window-stage.md index 681e1db9bbc5f27002dc48c92f50905f5dac6172..2fefb86446754f9232a3b309632aaa89d0ae154e 100644 --- a/zh-cn/application-dev/windowmanager/application-window-stage.md +++ b/zh-cn/application-dev/windowmanager/application-window-stage.md @@ -51,7 +51,7 @@ ## 设置应用主窗口 -在`Stage`模型下,应用主窗口由`Ability`创建并维护生命周期。在`Ability`的`onWindowStageCreate`回调中,通过`WindowStage`获取应用主窗口,即可对其进行属性设置等操作。 +在`Stage`模型下,应用主窗口由`UIAbility`创建并维护生命周期。在`UIAbility`的`onWindowStageCreate`回调中,通过`WindowStage`获取应用主窗口,即可对其进行属性设置等操作。 ### 开发步骤 diff --git a/zh-cn/device-dev/porting/porting-minichip-overview.md b/zh-cn/device-dev/porting/porting-minichip-overview.md index 381dbac536272720a7c3334336c304db2fd74bb3..8f4d743d9ee5377716db6576fc9ef19bf91063ee 100644 --- a/zh-cn/device-dev/porting/porting-minichip-overview.md +++ b/zh-cn/device-dev/porting/porting-minichip-overview.md @@ -41,6 +41,4 @@ | 子系统 | 是一个逻辑概念,它由一个或多个具体的部件组成。OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 部件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或部件。 | | 部件 | 系统最小的可复用、可配置、可裁剪的功能单元。部件具备目录独立可并行开发、可独立编译、可独立测试的特征。 | | hb | OpenHarmony的命令行工具,用来执行编译命令。 | -| HOBT | HiLink SDK OHOS Basic Test缩写,是HiLink SDK 接入 OpenHarmony的基础功能测试,检验HiLink SDK依赖的相关接口功能是否完善。 | -| Kit Framework | Kit Framework是Kit的基础框架,包含了OpenHarmony的安全部件,不可裁剪。 | | kv | 键值对(key-value),描述数据存储的格式。 | diff --git a/zh-cn/device-dev/subsystems/Readme-CN.md b/zh-cn/device-dev/subsystems/Readme-CN.md index 9f7d8e47a86f06a2ec8df38a2142c70614251a1c..362f3b60dca21f0ef6b037e0fcf37ca331940fbc 100644 --- a/zh-cn/device-dev/subsystems/Readme-CN.md +++ b/zh-cn/device-dev/subsystems/Readme-CN.md @@ -110,5 +110,5 @@ - [Hiview开发指导](subsys-dfx-hiview.md) - 调测工具 - [bytrace使用指导](subsys-toolchain-bytrace-guide.md) - - [hdc_std使用指导](subsys-toolchain-hdc-guide.md) + - [hdc使用指导](subsys-toolchain-hdc-guide.md) - [hiperf使用指导](subsys-toolchain-hiperf.md) diff --git a/zh-cn/device-dev/subsystems/subsys-build-gn-kconfig-visual-config-guide.md b/zh-cn/device-dev/subsystems/subsys-build-gn-kconfig-visual-config-guide.md index 2a04bbdd940b8c9678f04bb94ab3e95dcc88bbbe..7f2d371bd0d812ca38f30519252e5d9571f4af81 100644 --- a/zh-cn/device-dev/subsystems/subsys-build-gn-kconfig-visual-config-guide.md +++ b/zh-cn/device-dev/subsystems/subsys-build-gn-kconfig-visual-config-guide.md @@ -44,7 +44,7 @@ 4. 参数填写 - 参数配置项可以参考:[productdefine/common/base/base_product.json](https://gitee.com/openharmony/productdefine_common/blob/master/base/base_product.json) + 参数配置项可以参考:productdefine/common/base/base_product.json ![参数填写](figures/kconfig参数输入.gif) @@ -99,7 +99,7 @@ ### 菜单列表缺失最新部件信息 -由于产品不断的更新迭代,全量部件列表[productdefine/common/base/base_product.json](https://gitee.com/openharmony/productdefine_common/blob/master/base/base_product.json)也会随之不断更新,从而导致Kconfig菜单缺少最新部件。 +由于产品不断的更新迭代,全量部件列表productdefine/common/base/base_product.json也会随之不断更新,从而导致Kconfig菜单缺少最新部件。 解决办法: diff --git a/zh-cn/device-dev/website.md b/zh-cn/device-dev/website.md index 7c60895c2a5446bffda63bb7fca41cc13cd2c270..c82e9d888cd385b902e1d33450283d1d26a351d1 100644 --- a/zh-cn/device-dev/website.md +++ b/zh-cn/device-dev/website.md @@ -522,7 +522,7 @@ - [xdevice测试调度框架使用指导](device-test/xdevice.md) - 调测工具 - [bytrace使用指导](subsystems/subsys-toolchain-bytrace-guide.md) - - [hdc\_std 使用指导](subsystems/subsys-toolchain-hdc-guide.md) + - [hdc 使用指导](subsystems/subsys-toolchain-hdc-guide.md) - [hiperf 使用指南](subsystems/subsys-toolchain-hiperf.md) - [XTS认证](device-test/xts.md) - 工具 diff --git "a/zh-cn/readme/\346\265\213\350\257\225\345\255\220\347\263\273\347\273\237.md" "b/zh-cn/readme/\346\265\213\350\257\225\345\255\220\347\263\273\347\273\237.md" index cfef586c836ade2118dd84dd4f999a4f8674f873..a405e3ab05b86f124d72cdfe7f39e1ea372a07cb 100755 --- "a/zh-cn/readme/\346\265\213\350\257\225\345\255\220\347\263\273\347\273\237.md" +++ "b/zh-cn/readme/\346\265\213\350\257\225\345\255\220\347\263\273\347\273\237.md" @@ -414,7 +414,7 @@ subsystem # 子系统 > - ohos_performancetest:性能测试 > - ohos_securitytest:安全测试 > - ohos_reliabilitytest:可靠性测试 - > - ohos_distributedtest:分布式测试 + > - ohos_distributedtest:分布式测试 7. 对目标测试用例文件进行条件分组 diff --git a/zh-cn/release-notes/changelogs/v3.2-beta4/changelog-security.md b/zh-cn/release-notes/changelogs/v3.2-beta4/changelog-security.md new file mode 100644 index 0000000000000000000000000000000000000000..829bf9766431b66434b09849516feb1a52e2d90c --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta4/changelog-security.md @@ -0,0 +1,346 @@ +# security子系统ChangeLog + +## cl.security.1 Random的setSeed功能变更,由异步接口改为同步接口 + +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +修改前的接口原型: +setSeed(seed : DataBlob, callback : AsyncCallback\) : void; +setSeed(seed : DataBlob) : Promise\; +修改后的接口原型: +setSeed(seed : DataBlob) : void; + +**适配指导** +查看API参考中setSeed对应的接口适配指南: +[加解密算法库框架-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cryptoFramework.md) + + +## cl.security.2 interface DataArray 从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +interface DataArray从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts + +**适配指导** +重新import并使用对应的.d.ts文件: +import cryptoCert from '@ohos.security.cert'; +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.3 interface EncodingFormat从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +interface EncodingFormat从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts + +**适配指导** +重新import并使用对应的.d.ts文件: +import cryptoCert from '@ohos.security.cert'; +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.4 interface EncodingBlob 从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +interface EncodingBlob 从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts + +**适配指导** +重新import并使用对应的.d.ts文件: +import cryptoCert from '@ohos.security.cert'; +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.5 interface CertChainData从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +interface CertChainData从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts + +**适配指导** +重新import并使用对应的.d.ts文件: +import cryptoCert from '@ohos.security.cert'; +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.6 interface X509Cert从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +interface X509Cert从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts + +**适配指导** +重新import并使用对应的.d.ts文件: +import cryptoCert from '@ohos.security.cert'; +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.7 function createX509Cert从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +function createX509Cert从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts + +**适配指导** +重新import并使用对应的.d.ts文件: +import cryptoCert from '@ohos.security.cert'; +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.8 interface X509CrlEntry从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +interface X509CrlEntry从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts + +**适配指导** +重新import并使用对应的.d.ts文件: +import cryptoCert from '@ohos.security.cert'; +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.9 interface X509Crl从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +interface X509Crl从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts + +**适配指导** +重新import并使用对应的.d.ts文件: +import cryptoCert from '@ohos.security.cert'; +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.10 function createX509Crl从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +function createX509Crl从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts + +**适配指导** +重新import并使用对应的.d.ts文件: +import cryptoCert from '@ohos.security.cert'; +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.11 interface CertChainValidator从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +interface CertChainValidator从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts + +**适配指导** +重新import并使用对应的.d.ts文件: +import cryptoCert from '@ohos.security.cert'; +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.12 function createCertChainValidator从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +function createCertChainValidator从@ohos.security.cryptoFramework.d.ts 迁移至@ohos.security.cert.d.ts + +**适配指导** +重新import并使用对应的.d.ts文件: +import cryptoCert from '@ohos.security.cert'; +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.13 X509Cert 的getPublicKey功能变更,由异步接口改为同步接口 +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +修改前的接口原型: +getPublicKey(callback : AsyncCallback\) : void; +getPublicKey() : Promise\; +修改后的接口原型: +getPublicKey() : cryptoFramework.PubKey; + +**适配指导** +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.14 X509Cert 的checkValidityWithDate功能变更,由异步接口改为同步接口 +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +修改前的接口原型: +checkValidityWithDate(date: string, callback : AsyncCallback\) : void; +checkValidityWithDate(date: string) : Promise\; +修改后的接口原型: +checkValidityWithDate(date: string) : void; + +**适配指导** +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.15 X509CrlEntry 的getCertIssuer功能变更,由异步接口改为同步接口 +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +修改前的接口原型: +getCertIssuer(callback : AsyncCallback\) : void; +getCertIssuer() : Promise\; + +修改后的接口原型: +getCertIssuer() : DataBlob; + +**适配指导** +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.16 X509CrlEntry 的getRevocationDate功能变更,由异步接口改为同步接口 +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +修改前的接口原型: +getRevocationDate(callback : AsyncCallback\) : void; +getRevocationDate() : Promise\; + +修改后的接口原型: +getRevocationDate() : string; + +**适配指导** +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.17 X509Crl 的isRevoked功能变更,由异步接口改为同步接口 +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +修改前的接口原型: +isRevoked(cert : X509Cert, callback : AsyncCallback\) : void; +isRevoked(cert : X509Cert) : Promise\; + +修改后的接口原型: +isRevoked(cert : X509Cert) : boolean; + +**适配指导** +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.18 X509Crl 的getRevokedCert功能变更,由异步接口改为同步接口 +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +修改前的接口原型: +getRevokedCert(serialNumber : number, callback : AsyncCallback\) : void; +getRevokedCert(serialNumber : number) : Promise\; + +修改后的接口原型: +getRevokedCert(serialNumber : number) : X509CrlEntry; + +**适配指导** +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.19 X509Crl 的getRevokedCertWithCert功能变更,由异步接口改为同步接口 +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +修改前的接口原型: +getRevokedCertWithCert(cert : X509Cert, callback : AsyncCallback\) : void; +getRevokedCertWithCert(cert : X509Cert) : Promise\; + +修改后的接口原型: +getRevokedCertWithCert(cert : X509Cert) : X509CrlEntry; + +**适配指导** +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + + +## cl.security.20 X509Crl 的getTbsInfo功能变更,由异步接口改为同步接口 +**变更影响** + +影响已发布的JS接口,接口行为发生变更。 +应用需要进行适配,才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** +修改前的接口原型: +getTbsInfo(callback : AsyncCallback\) : void; +getTbsInfo() : Promise\; + +修改后的接口原型: +getTbsInfo() : DataBlob; + +**适配指导** +查看API参考中对应的接口适配指南: +[证书-API参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-cert.md) + diff --git a/zh-cn/release-notes/changelogs/v3.2-beta4/changelog-x-x.md b/zh-cn/release-notes/changelogs/v3.2-beta4/changelog-x-x.md new file mode 100644 index 0000000000000000000000000000000000000000..b20dbfc1fc13ba0dc94a8044119ac0ae2473cfb7 --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta4/changelog-x-x.md @@ -0,0 +1,31 @@ +# xxx子系统ChangeLog + +相比最近一个发布版本(包括不限于LTS、Release、Beta、monthly版本)发生了影响契约兼容性(契约兼容:也称语义兼容,指版本演进后,开发者原有程序行为不发生变化)的变更(包括不限于接口名、参数、返回值、所需要的权限、调用顺序、枚举值、配置参数、路径等),则需要在ChangeLog中对变更进行阐述。 + +## cl.subsystemname.x xxx功能变更, 例:DeviceType属性变更、相机权限变更(尽量概括,不要超过15个字) + +每个变更标题前需要附加编号:cl.subsystemname.x。cl为ChangeLog首字母缩写,subsystemname请填写子系统英文标准名称,x表示变更序号(从低到高逐位增加,起始为1)。 +以功能维度对变更点进行概括描述。例如:xxx功能的xxx、xxx等发生了xxx变化,开发者需要根据以下说明对应用进行适配。 +如果有此变更有对应的需求或设计文档,可以在描述中附上对应的设计文档编号。 + +**变更影响** + +是否影响已发布的接口或者接口行为发生变更,影响的是JS接口还是Native接口。 +是否影响在此前版本已开发的应用,即应用是否需要进行适配动才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** + +列举此功能变更涉及的接口/组件变更。 + +**适配指导(可选,不涉及则可以删除)** + +提供指导,帮助开发者针对相关变更进行适配,使应用可以与新版本兼容。 +例: +在xxx文件中将xxx参数修改为xxx。 + +``` +sample code +``` + + + diff --git a/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-ability.md b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-ability.md new file mode 100644 index 0000000000000000000000000000000000000000..fbe76bbc55d468adc2a683112cdd272a9332206a --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-ability.md @@ -0,0 +1,359 @@ +# 元能力子系统ChangeLog + +## cl.ability.1 应用组件启动规则变更 + +元能力子系统应用组件启动规则在如下场景中存在变更: + + - 应用位于后台启动应用组件 + - 跨应用启动invisible应用组件 + - 跨应用启动FA模型的serviceAbility与dataAbility + - 使用startAbilityByCall接口 + +开发者需要根据以下说明对应用进行适配。 + + +**变更影响** + +若未适配新规则,在上述场景下将无法启动应用组件 +> **注意,启动应用组件是指一切启动或连接Ability的行为:** +
1. 启动Ability,如使用startAbility、startServiceExtensionAbility、startAbilityByCall等接口。 +
2. 连接Ability,如使用connectAbility、connectServiceExtensionAbility、acquireDataAbilityHelper、createDataShareHelper等接口。 + +**关键的接口/组件变更** + + - 涉及的应用组件 + - Stage模型 + - Ability + - ServiceExtension + - DataShareExtension + - FA模型 + - PageAbility + - ServiceAbility + - DataAbility + - 涉及接口 + - Stage模型 + - startAbility(want: Want, callback: AsyncCallback): void; + - startAbility(want: Want, options: StartOptions, callback: AsyncCallback): void; + - startAbility(want: Want, options?: StartOptions): Promise; + - startAbilityByCall(want: Want): Promise; + - startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback): void; + - startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback): void; + - startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions): Promise; + - startAbilityForResult(want: Want, callback: AsyncCallback): void; + - startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback): void; + - startAbilityForResult(want: Want, options?: StartOptions): Promise; + - startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncCallback): void; + - startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback): void; + - startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartOptions): Promise; + - startServiceExtensionAbility(want: Want, callback: AsyncCallback): void; + - startServiceExtensionAbility(want: Want): Promise; + - startServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback): void; + - startServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise; + - stopServiceExtensionAbility(want: Want, callback: AsyncCallback): void; + - stopServiceExtensionAbility(want: Want): Promise; + - stopServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback): void; + - stopServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise; + - connectAbility(want: Want, options: ConnectOptions): number; + - connectAbilityWithAccount(want: Want, accountId: number, options: ConnectOptions): number; + - createDataShareHelper(context: Context, uri: string, callback: AsyncCallback): void + - FA模型 + - startAbility(parameter: StartAbilityParameter, callback: AsyncCallback): void; + - startAbility(parameter: StartAbilityParameter): Promise; + - startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback): void; + - startAbilityForResult(parameter: StartAbilityParameter): Promise; + - acquireDataAbilityHelper(uri: string): DataAbilityHelper; + - connectAbility(request: Want, options:ConnectOptions ): number; + +**适配指导** + +不同场景下的启动规则说明如下: + - **应用后台启动应用组件** + - OpenHarmony 3.2-beta3 版本规则: + - 应用位于后台时,启动应用组件不受任何限制。 + - OpenHarmony 3.2-beta4 版本新规则: + - 当应用位于后台时,启动应用组件需鉴权,需申请的权限如下: + - ```json + { + "name": "ohos.permission.START_ABILITIES_FROM_BACKGROUND", + "grantMode": "system_grant", + "availableLevel": "system_basic", + "provisionEnable": true, + "distributedSceneEnable": false + } + ``` + > **注:** +
1. 即使启动同应用的组件,也受该规则限制。 +
2. 对于API8以及之前的SDK,启动serviceAbility和dataAbility不受此规则限制。 + + - **跨应用启动invisible应用组件** + - OpenHarmony 3.2-beta3 版本规则: + - 对于APL为normal的应用,无法跨应用启动invisible的应用组件 + - OpenHarmony 3.2-beta4 版本新规则: + - 所有应用,若需要跨应用启动invisible的应用组件,需鉴权,需申请的权限如下: + - ```json + { + "name": "ohos.permission.START_INVISIBLE_ABILITY", + "grantMode": "system_grant", + "availableLevel": "system_core", + "provisionEnable": true, + "distributedSceneEnable": false + } + ``` + + - **跨应用启动FA模型的serviceAbility与dataAbility** + + - OpenHarmony 3.2-beta3 版本规则: + - 可任意跨应用启动serviceAbility与dataAbility + - OpenHarmony 3.2-beta4 版本新规则: + - serviceAbility与dataAbility的提供方应用需配置关联启动,否则无法被跨应用拉起。(普通应用无法配置关联启动) + + + - **startAbilityByCall接口** + - OpenHarmony 3.2-beta3 版本规则: + - 可任意进行Call调用 + - OpenHarmony 3.2-beta4 版本新规则: + - 不支持同应用startAbilityByCall调用 + - 跨应用startAbilityByCall调用需鉴权,需申请的权限如下: + + - ```json + { + "name": "ohos.permission.ABILITY_BACKGROUND_COMMUNICATION", + "grantMode": "system_grant", + "availableLevel": "system_basic", + "provisionEnable": true, + "distributedSceneEnable": false + } + ``` + > **注:** +
使用startAbilityByCall接口同时也受上述后台启动、跨应用启动invisible规则的限制。 + +## cl.ability.2 跨设备应用组件启动规则变更(仅支持系统应用) + +元能力子系统跨设备应用组件启动规则在如下场景中存在变更: + + - 应用位于后台启动应用组件 + - 跨应用启动invisible应用组件 + - 跨应用启动FA模型的serviceAbility + +开发者需要根据以下说明对应用进行适配。 + + +**变更影响** + +若未适配新规则,在上述场景下将无法启动应用组件 +> **注意,启动应用组件是指一切启动或连接Ability的行为:** +
1. 启动Ability,如使用startAbility、startAbilityForResult、startAbilityByCall等接口。 +
2. 连接Ability,如使用connectAbility等接口。 + +**关键的接口/组件变更** + + - 涉及的应用组件 + - Stage模型 + - Ability + - ServiceExtension + - FA模型 + - PageAbility + - ServiceAbility + - 涉及接口 + - Stage模型 + - startAbility(want: Want, callback: AsyncCallback): void; + - startAbilityByCall(want: Want): Promise; + - startAbilityForResult(want: Want, callback: AsyncCallback): void; + - connectAbility(want: Want, options: ConnectOptions): number; + - FA模型 + - startAbility(parameter: StartAbilityParameter, callback: AsyncCallback): void; + - startAbility(parameter: StartAbilityParameter): Promise; + - startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback): void; + - startAbilityForResult(parameter: StartAbilityParameter): Promise; + - connectAbility(request: Want, options:ConnectOptions ): number; + +**适配指导** + +不同场景下的启动规则说明如下: + - **应用后台启动应用组件** + - OpenHarmony 3.2-beta3 版本规则: + - 应用位于后台时,启动应用组件不受任何限制。 + - OpenHarmony 3.2-beta4 版本新规则: + - 当应用位于后台时,启动应用组件需鉴权,需申请的权限如下: + - ```json + { + "name": "ohos.permission.START_ABILITIES_FROM_BACKGROUND", + "grantMode": "system_grant", + "availableLevel": "system_basic", + "provisionEnable": true, + "distributedSceneEnable": false + } + ``` + > **注:** +
1. 即使启动同应用的组件,也受该规则限制。 +
2. 对于API8以及之前的SDK,启动serviceAbility不受此规则限制。 + + - **跨应用启动invisible应用组件** + - OpenHarmony 3.2-beta3 版本规则: + - 无法跨应用启动invisible的应用组件 + - OpenHarmony 3.2-beta4 版本新规则: + - 若需要跨应用启动invisible的应用组件,需鉴权,需申请的权限如下: + - ```json + { + "name": "ohos.permission.START_INVISIBLE_ABILITY", + "grantMode": "system_grant", + "availableLevel": "system_core", + "provisionEnable": true, + "distributedSceneEnable": false + } + ``` + + - **跨应用启动FA模型的serviceAbility** + + - OpenHarmony 3.2-beta3 版本规则: + - 可任意跨应用启动serviceAbility + - OpenHarmony 3.2-beta4 版本新规则: + - serviceAbility的提供方应用需配置关联启动,否则无法被跨应用拉起。(普通应用无法配置关联启动) + - 关联启动配置 + - ```json + { + "bundleName": "", + "app_signature": ["xxxxxxxxxxxxxxxxxxx"], + "associatedWakeUp": true + } + ``` + +## cl.ability.3 API异常处理方式变更 + +元能力部分接口使用业务逻辑返回值表示错误信息,不符合OpenHarmony接口错误码规范。 + +**变更影响** + +基于此前版本开发的应用,需适配变更接口的错误信息返回方式,否则会影响原有业务逻辑。 + +**关键接口/组件变更** + +为适配统一的API异常处理方式,对元能力相关接口进行废弃(下表中 原接口 列内容),并新增对应接口(下表中 新接口 列内容)。新增接口支持统一的错误码异常处理规范,功能上与原接口保持一致。 + +| 原接口 | 新接口 | +| ----------------------------------------------- | ----------------------------------------------- | +| @ohos.ability.wantConstant.d.ts | @ohos.app.ability.wantConstant.d.ts | +| @ohos.application.Ability.d.ts | @ohos.app.ability.UIAbility.d.ts | +| @ohos.application.AbilityConstant.d.ts | @ohos.app.ability.AbilityConstant.d.ts | +| @ohos.application.abilityDelegatorRegistry.d.ts | @ohos.app.ability.abilityDelegatorRegistry.d.ts | +| @ohos.application.AbilityLifecycleCallback.d.ts | @ohos.app.ability.AbilityLifecycleCallback.d.ts | +| @ohos.application.abilityManager.d.ts | @ohos.app.ability.abilityManager.d.ts | +| @ohos.application.AbilityStage.d.ts | @ohos.app.ability.AbilityStage.d.ts | +| @ohos.application.appManager.d.ts | @ohos.app.ability.appManager.d.ts | +| @ohos.application.Configuration.d.ts | @ohos.app.ability.Configuration.d.ts | +| @ohos.application.ConfigurationConstant.d.ts | @ohos.app.ability.ConfigurationConstant.d.ts | +| @ohos.application.context.d.ts | @ohos.app.ability.common.d.ts | +| @ohos.application.EnvironmentCallback.d.ts | @ohos.app.ability.EnvironmentCallback.d.ts | +| @ohos.application.errorManager.d.ts | @ohos.app.ability.errorManager.d.ts | +| @ohos.application.ExtensionAbility.d.ts | @ohos.app.ability.ExtensionAbility.d.ts | +| @ohos.application.formBindingData.d.ts | @ohos.app.form.formBindingData.d.ts | +| @ohos.application.FormExtension.d.ts | @ohos.app.form.FormExtensionAbility.d.ts | +| @ohos.application.formHost.d.ts | @ohos.app.form.formHost.d.ts | +| @ohos.application.formInfo.d.ts | @ohos.app.form.formInfo.d.ts | +| @ohos.application.formProvider.d.ts | @ohos.app.form.formProvider.d.ts | +| @ohos.application.missionManager.d.ts | @ohos.app.ability.missionManager.d.ts | +| @ohos.application.quickFixManager.d.ts | @ohos.app.ability.quickFixManager.d.ts | +| @ohos.application.ServiceExtensionAbility.d.ts | @ohos.app.ability.ServiceExtensionAbility.d.ts | +| @ohos.application.StartOptions.d.ts | @ohos.app.ability.StartOptions.d.ts | +| @ohos.application.Want.d.ts | @ohos.app.ability.Want.d.ts | +| @ohos.wantAgent.d.ts | @ohos.app.ability.wantAgent.d.ts | + +**适配指导** + +如上所述,仅将老接口平移到了新的namespace中,所以可以通过修改import来解决适配问题: + +如原先接口使用了@ohos.application.missionManager + +```js +import missionManager from '@ohos.application.missionManager'; +``` + +可以通过直接修改import,来切换到新的namespace上: + +```js +import missionManager from '@ohos.app.ability.missionManager'; +``` + +此外还需要适配异常处理,具体参考新接口的接口文档。 + +## cl.ability.4 接口变更 + +对元能力部分接口名进行了变更。 + +**关键的接口/组件变更** + +| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 | +| ----------------------------------------- | ----------------------- | ------------------------------------------------------------ | -------- | +| @ohos.application.Ability | Caller | onRelease(callback: OnReleaseCallBack): **void**; | 废弃 | +| @ohos.app.ability.UIAbility | Caller | on(**type**: "release", callback: OnReleaseCallBack): **void**; | 新增 | +| @ohos.application.Ability | Ability | dump(params: Array<**string**>): Array<**string**>; | 废弃 | +| @ohos.app.ability.UIAbility | UIAbility | onDump(params: Array<**string**>): Array<**string**>; | 新增 | +| @ohos.application.appManager | appManager | **function** registerApplicationStateObserver(observer: ApplicationStateObserver): **number**; | 废弃 | +| @ohos.application.appManager | appManager | **function** registerApplicationStateObserver(observer: ApplicationStateObserver, bundleNameList: Array<**string**>): **number**; | 废弃 | +| @ohos.application.appManager | appManager | **function** unregisterApplicationStateObserver(observerId: **number**, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| @ohos.application.appManager | appManager | **function** unregisterApplicationStateObserver(observerId: **number**): Promise<**void**>; | 废弃 | +| @ohos.app.ability.appManager | appManager | **function** on(**type**: "applicationState", observer: ApplicationStateObserver): **number**; | 新增 | +| @ohos.app.ability.appManager | appManager | **function** on(**type**: "applicationState", observer: ApplicationStateObserver, bundleNameList: Array<**string**>): **number**; | 新增 | +| @ohos.app.ability.appManager | appManager | **function** off(**type**: "applicationState", observerId: **number**, callback: AsyncCallback<**void**>): **void**; | 新增 | +| @ohos.app.ability.appManager | appManager | **function** off(**type**: "applicationState", observerId: **number**): Promise<**void**>; | 新增 | +| @ohos.application.errorManager | errorManager | **function** registerErrorObserver(observer: ErrorObserver): **number**; | 废弃 | +| @ohos.application.errorManager | errorManager | **function** unregisterErrorObserver(observerId: **number**, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| @ohos.application.errorManager | errorManager | **function** unregisterErrorObserver(observerId: **number**): Promise<**void**>; | 废弃 | +| @ohos.app.ability.errorManager | errorManager | **function** on(**type**: "error", observer: ErrorObserver): **number**; | 新增 | +| @ohos.app.ability.errorManager | errorManager | **function** off(**type**: "error", observerId: **number**, callback: AsyncCallback<**void**>): **void**; | 新增 | +| @ohos.app.ability.errorManager | errorManager | **function** off(**type**: "error", observerId: **number**): Promise<**void**>; | 新增 | +| @ohos.application.missionManager | missionManager | **function** registerMissionListener(listener: MissionListener): **number**; | 废弃 | +| @ohos.application.missionManager | missionManager | **function** unregisterMissionListener(listenerId: **number**, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| @ohos.application.missionManager | missionManager | **function** unregisterMissionListener(listenerId: **number**): Promise<**void**>; | 废弃 | +| @ohos.app.ability.missionManager | missionManager | **function** on(**type**: "mission", listener: MissionListener): **number**; | 新增 | +| @ohos.app.ability.missionManager | missionManager | **function** off(**type**: "mission", listenerId: **number**, callback: AsyncCallback<**void**>): **void**; | 新增 | +| @ohos.app.ability.missionManager | missionManager | **function** off(**type**: "mission", listenerId: **number**): Promise<**void**>; | 新增 | +| @ohos.application.FormExtension | FormExtension | onCreate(want: Want): formBindingData.FormBindingData; | 废弃 | +| @ohos.application.FormExtension | FormExtension | onCastToNormal(formId: **string**): **void**; | 废弃 | +| @ohos.application.FormExtension | FormExtension | onUpdate(formId: **string**): **void**; | 废弃 | +| @ohos.application.FormExtension | FormExtension | onVisibilityChange(newStatus: { [key: **string**]: **number** }): **void**; | 废弃 | +| @ohos.application.FormExtension | FormExtension | onEvent(formId: **string**, message: **string**): **void**; | 废弃 | +| @ohos.application.FormExtension | FormExtension | onDestroy(formId: **string**): **void**; | 废弃 | +| @ohos.application.FormExtension | FormExtension | onShare?(formId: **string**): {[key: **string**]: **any**}; | 废弃 | +| @ohos.app.form.FormExtensionAbility | FormExtensionAbility | onAddForm(want: Want): formBindingData.FormBindingData; | 新增 | +| @ohos.app.form.FormExtensionAbility | FormExtensionAbility | onCastToNormalForm(formId: **string**): **void**; | 新增 | +| @ohos.app.form.FormExtensionAbility | FormExtensionAbility | onUpdateForm(formId: **string**): **void**; | 新增 | +| @ohos.app.form.FormExtensionAbility | FormExtensionAbility | onChangeFormVisibility(newStatus: { [key: **string**]: **number** }): **void**; | 新增 | +| @ohos.app.form.FormExtensionAbility | FormExtensionAbility | onFormEvent(formId: **string**, message: **string**): **void**; | 新增 | +| @ohos.app.form.FormExtensionAbility | FormExtensionAbility | onRemoveForm(formId: **string**): **void**; | 新增 | +| @ohos.app.form.FormExtensionAbility | FormExtensionAbility | onShareForm?(formId: **string**): {[key: **string**]: **any**}; | 新增 | +| @ohos.application.formHost.d.ts | formHost | **function** castTempForm(formId: **string**, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| @ohos.application.formHost.d.ts | formHost | **function** castTempForm(formId: **string**): Promise<**void**>; | 废弃 | +| @ohos.app.form.formHost.d.ts | formHost | **function** castToNormalForm(formId: **string**, callback: AsyncCallback<**void**>): **void**; | 新增 | +| @ohos.app.form.formHost.d.ts | formHost | **function** castToNormalForm(formId: **string**): Promise<**void**>; | 新增 | +| @ohos.application.ServiceExtensionAbility | ServiceExtensionAbility | dump(params: Array<**string**>): Array<**string**>; | 废弃 | +| @ohos.app.ability.ServiceExtensionAbility | ServiceExtensionAbility | onDump(params: Array<**string**>): Array<**string**>; | 新增 | +| application/AbilityContext | AbilityContext | connectAbility(want: Want, options: ConnectOptions): **number**; | 废弃 | +| application/AbilityContext | AbilityContext | connectAbilityWithAccount(want: Want, accountId: **number**, options: ConnectOptions): **number**; | 废弃 | +| application/AbilityContext | AbilityContext | disconnectAbility(connection: **number**, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| application/AbilityContext | AbilityContext | disconnectAbility(connection: **number**): Promise<**void**>; | 废弃 | +| application/UIAbilityContext | UIAbilityContext | connectServiceExtensionAbilityWithAccount(want: Want, accountId: **number**, options: ConnectOptions): **number**; | 新增 | +| application/UIAbilityContext | UIAbilityContext | connectServiceExtensionAbilityWithAccount(want: Want, accountId: **number**, options: ConnectOptions): **number**; | 新增 | +| application/UIAbilityContext | UIAbilityContext | disconnectServiceExtensionAbility(connection: **number**, callback: AsyncCallback<**void**>): **void**; | 新增 | +| application/UIAbilityContext | UIAbilityContext | disconnectServiceExtensionAbility(connection: **number**): Promise<**void**>; | 新增 | +| application/ApplicationContext | ApplicationContext | registerAbilityLifecycleCallback(callback: AbilityLifecycleCallback): **number**; | 废弃 | +| application/ApplicationContext | ApplicationContext | unregisterAbilityLifecycleCallback(callbackId: **number**, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| application/ApplicationContext | ApplicationContext | unregisterAbilityLifecycleCallback(callbackId: **number**): Promise<**void**>; | 废弃 | +| application/ApplicationContext | ApplicationContext | registerEnvironmentCallback(callback: EnvironmentCallback): **number**; | 废弃 | +| application/ApplicationContext | ApplicationContext | unregisterEnvironmentCallback(callbackId: **number**, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| application/ApplicationContext | ApplicationContext | unregisterEnvironmentCallback(callbackId: **number**): Promise<**void**>; | 废弃 | +| application/ApplicationContext | ApplicationContext | on(**type**: "abilityLifecycle", callback: AbilityLifecycleCallback): **number**; | 新增 | +| application/ApplicationContext | ApplicationContext | off(**type**: "abilityLifecycle", callbackId: **number**, callback: AsyncCallback<**void**>): **void**; | 新增 | +| application/ApplicationContext | ApplicationContext | off(**type**: "abilityLifecycle", callbackId: **number**): Promise<**void**>; | 新增 | +| application/ApplicationContext | ApplicationContext | on(**type**: "environment", callback: EnvironmentCallback): **number**; | 新增 | +| application/ApplicationContext | ApplicationContext | off(**type**: "environment", callbackId: **number**, callback: AsyncCallback<**void**>): **void**; | 新增 | +| application/ApplicationContext | ApplicationContext | off(**type**: "environment", callbackId: **number**): Promise<**void**>; | 新增 | +| application/ServiceExtensionContext | ServiceExtensionContext | connectAbility(want: Want, options: ConnectOptions): **number**; | 废弃 | +| application/ServiceExtensionContext | ServiceExtensionContext | connectAbilityWithAccount(want: Want, accountId: **number**, options: ConnectOptions): **number**; | 废弃 | +| application/ServiceExtensionContext | ServiceExtensionContext | disconnectAbility(connection: **number**, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| application/ServiceExtensionContext | ServiceExtensionContext | disconnectAbility(connection: **number**): Promise<**void**>; | 废弃 | +| application/ServiceExtensionContext | ServiceExtensionContext | connectServiceExtensionAbility(want: Want, options: ConnectOptions): **number**; | 新增 | +| application/ServiceExtensionContext | ServiceExtensionContext | connectServiceExtensionAbilityWithAccount(want: Want, accountId: **number**, options: ConnectOptions): **number**; | 新增 | +| application/ServiceExtensionContext | ServiceExtensionContext | disconnectServiceExtensionAbility(connection: **number**, callback: AsyncCallback<**void**>): **void**; | 新增 | +| application/ServiceExtensionContext | ServiceExtensionContext | disconnectServiceExtensionAbility(connection: **number**): Promise<**void**>; | 新增 | + diff --git a/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-account_os_account.md b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-account_os_account.md new file mode 100644 index 0000000000000000000000000000000000000000..216a2b4f3e158dd8246200a2a039b25f09027b7f --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-account_os_account.md @@ -0,0 +1,124 @@ +# 帐号子系统ChangeLog + +## cl.account_os_account.1 帐号SystemAPI错误信息返回方式变更 + +已发布的部分帐号SystemAPI使用业务逻辑返回值表示错误信息,不符合OpenHarmony接口错误码规范。从API9开始作以下变更: + +异步接口:通过AsyncCallback或Promise的error对象返回错误信息。 + +同步接口:通过抛出异常的方式返回错误信息。 + +**变更影响** + +基于此前版本开发的应用,需适配变更接口的错误信息返回方式,否则会影响原有业务逻辑。 + +**关键接口/组件变更** + +变更前: + - class UserAuth + - setProperty(request: SetPropertyRequest, callback: AsyncCallback<number>): void; + - setProperty(request: SetPropertyRequest): Promise<number>; + - cancelAuth(contextID: Uint8Array): number; + - class PINAuth + - registerInputer(inputer: Inputer): boolean; + - UserIdentityManager + - cancel(challenge: Uint8Array): number; + +变更后: + - class UserAuth + - setProperty(request: SetPropertyRequest, callback: AsyncCallback<void>): void; + - setProperty(request: SetPropertyRequest): Promise<void>; + - cancelAuth(contextID: Uint8Array): void; + - class PINAuth + - registerInputer(inputer: Inputer): void; + - UserIdentityManager + - cancel(challenge: Uint8Array): void; + +**适配指导** + +异步接口以setProperty为例,示例代码如下: + +``` +import account_osAccount from "@ohos.account.osAccount" +userAuth.setProperty({ + authType: account_osAccount.AuthType.PIN, + key: account_osAccount.SetPropertyType.INIT_ALGORITHM, + setInfo: new Uint8Array([0]) +}, (err) => { + if (err) { + console.log("setProperty failed, error: " + JSON.stringify(err)); + } else { + console.log("setProperty successfully"); + } +}); + +userAuth.setProperty({ + authType: account_osAccount.AuthType.PIN, + key: account_osAccount.SetPropertyType.INIT_ALGORITHM, + setInfo: new Uint8Array([0]) +}).catch((err) => { + if (err) { + console.log("setProperty failed, error: " + JSON.stringify(err)); + } else { + console.log("setProperty successfully"); + } +}); +``` + +同步接口以registerInputer为例,示例代码如下: + +``` +import account_osAccount from "@ohos.account.osAccount" +let pinAuth = new account_osAccount.PINAuth() +let inputer = { + onGetData: (authType, passwordRecipient) => { + let password = new Uint8Array([0]); + passwordRecipient.onSetData(authType, password); + } +} +try { + pinAuth.registerInputer(inputer); +} catch (err) { + console.log("registerInputer failed, error: " + JSON.stringify(err)); +} +``` + +## cl.account_os_account.2 应用帐号鉴权服务ACTION定义变更 + +**变更影响** + +基于此前版本开发的应用,需适配修改应用配置文件(FA模型为config.json或Stage模型为module.json5)中的ACTION才能正常对外提供应用鉴权服务。 + +**关键接口/组件变更** + +涉及的常量: + +@ohos.ability.wantConstant.ACTION_APP_ACCOUNT_AUTH + +变更前: + +ACTION_APP_ACCOUNT_AUTH = "account.appAccount.action.auth" + +变更后: + +ACTION_APP_ACCOUNT_AUTH = "ohos.appAccount.action.auth" + +**适配指导** + +提供应用帐号鉴权服务的三方应用,需要在相关ServiceAbility的配置文件(FA模型为config.json或Stage模型为module.json5)中适配变更后的应用帐号认证ACTION,示例如下: +``` +"abilities": [ + { + "name": "ServiceAbility", + "srcEntrance": "./ets/ServiceAbility/ServiceAbility.ts", + ... + "visible": true, + "skills": { + { + "actions": [ + "ohos.appAccount.action.auth" + ] + } + } + }] +} diff --git a/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-arkui.md b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-arkui.md new file mode 100644 index 0000000000000000000000000000000000000000..03fb7e2d7bc8bbb20d9294731f78805b245fd1d6 --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-arkui.md @@ -0,0 +1,68 @@ +# arkui子系统ChangeLog + +## cl.arkui.1 xcomponent组件接口变更 + +arkui子系统xcomponent组件接口存在变更: + + - 去除getXComponentSurfaceId和setXComponentSurfaceSize接口的@systemapi标签 + - 指定getXComponentSurfaceId,getXComponentContext和setXComponentSurfaceSize接口的返回值类型 + +开发者需要根据以下说明对应用进行适配。 + + +**变更影响** + +影响已发布的JS接口,应用需要进行适配才可以在新版本SDK环境正常编译通过。 + +**关键的接口/组件变更** + + - getXComponentSurfaceId:改为public接口,指定返回值类型为string + - setXComponentSurfaceSize:改为public接口,指定返回值类型为void + - getXComponentContext:指定返回值类型为Object + +**适配指导** + +不同场景下的启动规则说明如下: +开发者适配内容: + + - **getXComponentSurfaceId** + - OpenHarmony 3.2-beta3 版本规则: + - 系统接口systemapi。 + - 未指定返回值 + - OpenHarmony 3.2-Beta4 版本新规则: + - 公共接口。 + - 指定返回值类型为string + - 开发者需要按照string类型处理返回值 + - **setXComponentSurfaceSize** + - OpenHarmony 3.2-beta3 版本规则: + - 系统接口systemapi。 + - 未指定返回值 + - OpenHarmony 3.2-Beta4 版本新规则: + - 公共接口。 + - 指定返回值类型为void + - 开发者需要按照void类型处理返回值 + - **getXComponentContext** + - OpenHarmony 3.2-beta3 版本规则: + - 未指定返回值 + - OpenHarmony 3.2-Beta4 版本新规则: + - 指定返回值类型为Object + - 开发者需要按照Object类型处理返回值 + +## cl.arkui.2 弹窗类组件接口样式变更 + +ArkUI子系统alertDialog, actionSheet, customDialog组件及prompt, promptAction接口存在样式变更: + + - promptAction.showDialog, promptAction.showActionMenu, alertDialog, actionSheet, customDialog更新弹窗底板模糊效果 + +**变更影响** + +默认弹窗底板模糊效果 + +**关键的接口/组件变更** + +涉及接口: promptAction.showDialog, promptAction.showActionMenu; +涉及组件: alertDialog, actionSheet, customDialog + +**适配指导** + +无需适配 \ No newline at end of file diff --git a/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-multimodalinput.md b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-multimodalinput.md new file mode 100644 index 0000000000000000000000000000000000000000..faeaff15fcb8a66785cbaf89affa8ab14c9831bd --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-multimodalinput.md @@ -0,0 +1,104 @@ +# 多模输入changeLog + +## cl.multimodalinput.1 API错误信息返回方式变更 + +下列模块内部接口使用业务逻辑返回值表示错误信息,不符合OpenHarmony接口错误码规范。在API9进行变更。 + - 输入设备管理模块:三方接口,@ohos.multimodalInput.inputDevice.d.ts + + - 组合按键订阅模块:系统接口,@ohos.multimodalInput.inputConsumer.d.ts + + - 键鼠穿越功能模块:系统接口,@ohos.multimodalInput.inputDeviceCooperate.d.ts + + - 按键注入模块:系统接口,@ohos.multimodalInput.inputEventClient.d.ts + + - 输入监听模块:系统接口,@ohos.multimodalInput.inputMonitor.d.ts + + - 鼠标指针管理模块:系统接口和三方接口,@ohos.multimodalInput.pointer.d.ts + +以上模块中的异步接口变更为参数检查错误同步抛出,业务逻辑错误通过AsyncCallback或Promise的error对象抛出,同步接口不作变更。 + +**变更影响** + +基于此前版本开发的应用,需适配接口的错误信息返回方式,否则会影响原有业务逻辑。 + +**关键接口/组件变更** + + - supportKeys(deviceId: number, keys: Array<KeyCode>, callback: AsyncCallback<Array<boolean>>): void; + - supportKeys(deviceId: number, keys: Array<KeyCode>): Promise<Array<boolean>>; + - getKeyboardType(deviceId: number, callback: AsyncCallback<KeyboardType>): void; > + - getKeyboardType(deviceId: number): Promise<KeyboardType>; + - setPointerSpeed(speed: number, callback: AsyncCallback<void>): void; + - setPointerSpeed(speed: number): Promise<void>; + - getPointerSpeed(callback: AsyncCallback<number>): void; + - getPointerSpeed(): Promise<number>; + - setPointerStyle(windowId: number, pointerStyle: PointerStyle, callback: AsyncCallback<void>): void; + - setPointerStyle(windowId: number, pointerStyle: PointerStyle): Promise<void>; + - getPointerStyle(windowId: number, callback: AsyncCallback<PointerStyle>): void; + - getPointerStyle(windowId: number): Promise<PointerStyle>; + - setPointerVisible(visible: boolean, callback: AsyncCallback<void>): void; + - setPointerVisible(visible: boolean): Promise<void>; + - isPointerVisible(callback: AsyncCallback<boolean>): void; + - isPointerVisible(): Promise<boolean>; + - on(type:"touch", receiver:TouchEventReceiver):void; + - on(type:"mouse", receiver:Callback<MouseEvent>):void; + - off(type:"touch", receiver?:TouchEventReceiver):void; + - off(type:"mouse", receiver?:Callback<MouseEvent>):void; + - injectEvent({KeyEvent: KeyEvent}): void; + - enable(enable: boolean, callback: AsyncCallback<void>): void; + - enable(enable: boolean): Promise<void>; + - start(sinkDeviceDescriptor: string, srcInputDeviceId: number, callback: AsyncCallback<void>): void; + - start(sinkDeviceDescriptor: string, srcInputDeviceId: number): Promise<void>; + - stop(callback: AsyncCallback<void>): void; + - stop(): Promise<void>; + - getState(deviceDescriptor: string, callback: AsyncCallback<{ state: boolean }>): void; + - getState(deviceDescriptor: string): Promise<{ state: boolean }>; + - on(type: 'cooperation', callback: AsyncCallback<{ deviceDescriptor: string, eventMsg: EventMsg }>): void; + - off(type: 'cooperation', callback?: AsyncCallback<void>): void; + - on(type: "key", keyOptions: KeyOptions, callback: Callback<KeyOptions>): void; + - off(type: "key", keyOptions: KeyOptions, callback?: Callback<KeyOptions>): void; + +以下接口标记废除: + - getDeviceIds(callback: AsyncCallback<Array<number>>): void; + - getDeviceIds(): Promise<Array<number>>; + - getDevice(deviceId: number, callback: AsyncCallback<InputDeviceData>): void; + - getDevice(deviceId: number): Promise<InputDeviceData>; + +替代接口如下: + - getDeviceList(callback: AsyncCallback<Array<number>>): void; + - getDeviceList(): Promise<Array<number>>; + - getDeviceInfo(deviceId: number, callback: AsyncCallback<InputDeviceData>): void; + - getDeviceInfo(deviceId: number): Promise<InputDeviceData>; + +以下接口发生变更 + +变更前: + - supportKeys(deviceId: number, keys: Array<KeyCode>, callback: Callback<Array<boolean>>): void; + - getKeyboardType(deviceId: number, callback: Callback<KeyboardType>): void; + +变更后: + - supportKeys(deviceId: number, keys: Array<KeyCode>, callback: AsyncCallback<Array<boolean>>): void; + - getKeyboardType(deviceId: number, callback: AsyncCallback<KeyboardType>): void; + +**适配指导** + +以setPointerVisible为例,示例代码如下: + +```ts +import pointer from '@ohos.multimodalInput.pointer'; +pointer.setPointerVisible(true, (error) => { + console.log(`Set pointer visible success`); + }); + +try { + pointer.setPointerVisible(true, (error) => { + if (error) { + console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`); + return; + } + console.log(`Set pointer visible success`); + }); +} catch (error) { + console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`); +} +``` + diff --git a/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-notification.md b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-notification.md new file mode 100644 index 0000000000000000000000000000000000000000..ae3a495b47b7f50535802f4f64323bee8e5bda8d --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-notification.md @@ -0,0 +1,64 @@ +# 事件通知子系统ChangeLog + +## cl.notification.1 API异常处理方式变更 + +事件通知部分接口使用业务逻辑返回值表示错误信息,不符合OpenHarmony接口错误码规范。 + +**变更影响** + +基于此前版本开发的应用,需适配变更接口的错误信息返回方式,否则会影响原有业务逻辑。 + +**关键接口/组件变更** + +为适配统一的API异常处理方式,对事件通知相关接口进行废弃(下表中 原接口 列内容),并新增对应接口(下表中 新接口 列内容)。新增接口支持统一的错误码异常处理规范,功能上与原接口保持一致。 + +| 原接口 | 新接口 | +| ----------------------- | -------------------------------- | +| @ohos.commonEvent.d.ts | @ohos.commonEventManager.d.ts | +| @ohos.notification.d.ts | @ohos.notificationManager.d.ts | +| @ohos.notification.d.ts | @ohos.notificationSubscribe.d.ts | + +**适配指导** + +如上所述,仅将老接口平移到了新的namespace中,所以可以通过修改import来解决适配问题: + +如原先接口使用了@ohos.commonEvent + +```js +import commonEvent from '@ohos.commonEvent'; +``` + +可以通过直接修改import,来切换到新的namespace上: + +```js +import commonEvent from '@ohos.commonEventManager'; +``` + +@ohos.notification拆分成了两个namespace,需要根据接口情况选择需要的新namespace进行适配。 + +此外还需要适配异常处理,具体参考新接口的接口文档。 + +## cl.notification.2 接口变更 + +对事件通知部分接口名进行了变更。 + +**关键的接口/组件变更** + +| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 | +| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- | +| @ohos.notification | notification | **function** enableNotification(bundle: BundleOption, enable: boolean, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| @ohos.notification | notification | **function** enableNotification(bundle: BundleOption, enable: boolean): Promise<**void**>; | 废弃 | +| @ohos.notificationManager | notificationManager | **function** setNotificationEnable(bundle: BundleOption, enable: boolean, callback: AsyncCallback<**void**>): **void**; | 新增 | +| @ohos.notificationManager | notificationManager | **function** setNotificationEnable(bundle: BundleOption, enable: boolean): Promise<**void**>; | 新增 | +| @ohos.notification | notification | **function** enableNotificationSlot(bundle: BundleOption, **type**: SlotType, enable: boolean, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| @ohos.notification | notification | **function** enableNotificationSlot(bundle: BundleOption, **type**: SlotType, enable: boolean): Promise<**void**>; | 废弃 | +| @ohos.notificationManager | notificationManager | **function** setNotificationEnableSlot(bundle: BundleOption, **type**: SlotType, enable: boolean, callback: AsyncCallback<**void**>): **void**; | 新增 | +| @ohos.notificationManager | notificationManager | **function** setNotificationEnableSlot(bundle: BundleOption, **type**: SlotType, enable: boolean): Promise<**void**>; | 新增 | +| @ohos.notification | notification | **function** enableDistributed(enable: boolean, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| @ohos.notification | notification | **function** enableDistributed(enable: boolean, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| @ohos.notificationManager | notificationManager | **function** setDistributedEnable(enable: boolean, callback: AsyncCallback<**void**>): **void**; | 新增 | +| @ohos.notificationManager | notificationManager | **function** setDistributedEnable(enable: boolean): Promise<**void**>; | 新增 | +| @ohos.notification | notification | **function** enableDistributedByBundle(bundle: BundleOption, enable: boolean, callback: AsyncCallback<**void**>): **void**; | 废弃 | +| @ohos.notification | notification | **function** enableDistributedByBundle(bundle: BundleOption, enable: boolean): Promise<**void**>; | 废弃 | +| @ohos.notificationManager | notificationManager | **function** setDistributedEnableByBundle(bundle: BundleOption, enable: boolean, callback: AsyncCallback<**void**>): **void**; | 新增 | +| @ohos.notificationManager | notificationManager | **function** setDistributedEnableByBundle(bundle: BundleOption, enable: boolean): Promise<**void**>; | 新增 | \ No newline at end of file diff --git a/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-telephony.md b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-telephony.md new file mode 100644 index 0000000000000000000000000000000000000000..9bbe5739345b8426fc3918e03806fbfdb65cab40 --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta4/changelogs-telephony.md @@ -0,0 +1,65 @@ +# 电话子系统ChangeLog + + + +## cl.telephony.1 sms模块SystemAPI接口入参变更 + +已发布的部分电话子系统sms短信模块SystemAPI传入参数发生变化,不符合OpenHarmony接口规范。从API9开始做出以下变更: + +isImsSmsSupported接口新增一个传入参数slotId,表示卡槽号。 + + + +**变更影响** + +基于此前版本开发的应用,需适配变更js接口的入参,否则会影响原有功能。 + + + +**关键的接口/组件变更** + +- 涉及接口 + + isImsSmsSupported(callback: AsyncCallback): void; + isImsSmsSupported(): Promise; + +- 变更前: + +```js +function isImsSmsSupported(callback: AsyncCallback): void; +function isImsSmsSupported(): Promise; +``` + +- 变更后: + +```js +function isImsSmsSupported(slotId: number, callback: AsyncCallback): void; +function isImsSmsSupported(slotId: number): Promise; +``` + + + +**适配指导** + +新增一个入参,示例代码如下: + +callback方式 + +```js +let slotId = 0; +sms.isImsSmsSupported(slotId, (err, data) => { + console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); +}); +``` + +promise方式 + +```js +let slotId = 0; +let promise = sms.isImsSmsSupported(slotId); +promise.then(data => { + console.log(`isImsSmsSupported success, promise: data->${JSON.stringify(data)}`); +}).catch(err => { + console.error(`isImsSmsSupported failed, promise: err->${JSON.stringify(err)}`); +}); +``` \ No newline at end of file diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-arkui.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-arkui.md new file mode 100644 index 0000000000000000000000000000000000000000..13fa31a833204a222885c0d68481903bae13e33d --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-arkui.md @@ -0,0 +1,215 @@ +# arkui子系统ChangeLog + +## cl.arkui.1 状态变量数据类型声明使用限制。 + +1. 所有的状态装饰器变量需要显式声明变量类型,不允许声明any,不支持Date数据类型。 + + 示例: + + ```ts + // xxx.ets + @Entry + @Component + struct DatePickerExample { + // 错误写法: @State isLunar: any = false + @State isLunar: boolean = false + // 错误写法: @State selectedDate: Date = new Date('2021-08-08') + private selectedDate: Date = new Date('2021-08-08') + + build() { + Column() { + Button('切换公历农历') + .margin({ top: 30 }) + .onClick(() => { + this.isLunar = !this.isLunar + }) + DatePicker({ + start: new Date('1970-1-1'), + end: new Date('2100-1-1'), + selected: this.selectedDate + }) + .lunar(this.isLunar) + .onChange((value: DatePickerResult) => { + this.selectedDate.setFullYear(value.year, value.month, value.day) + console.info('select current date is: ' + JSON.stringify(value)) + }) + + }.width('100%') + } + } + ``` + + ![datePicker](../../../application-dev/reference/arkui-ts/figures/datePicker.gif) + +2. @State、@Provide、 @Link和@Consume四种状态变量的数据类型声明只能由简单数据类型或引用数据类型的其中一种构成。 + + 类型定义中的Length、ResourceStr、ResourceColor三个类型是简单数据类型或引用数据类型的组合,所以不能被以上四种状态装饰器变量使用。 + Length、ResourceStr、ResourceColor的定义请看文档[arkui-ts类型定义](../../../application-dev/reference/arkui-ts/ts-types.md)。 + + 示例: + + ```ts + // xxx.ets + @Entry + @Component + struct IndexPage { + // 错误写法: @State message: string | Resource = 'Hello World' + @State message: string = 'Hello World' + // 错误写法: @State message: ResourceStr = $r('app.string.hello') + @State resourceStr: Resource = $r('app.string.hello') + + build() { + Row() { + Column() { + Text(`${this.message}`) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } + } + ``` + + ![hello](../../../application-dev/quick-start/figures/hello.PNG) + +**变更影响** + +1. 如果状态装饰器变量没有显式声明变量类型,声明any,编译拦截报错; + ```ts + // ArkTS:ERROR Please define an explicit type, not any. + @State isLunar: any = false + ``` +2. 状态装饰器变量声明变量类型为Date,编译拦截报错; + ```ts + // ArkTS:ERROR The @State property 'selectedDate' cannot be a 'Date' object. + @State selectedDate: Date = new Date('2021-08-08') + ``` +3. @State、@Provide、 @Link和@Consume四种状态变量使用框架提供的Length、ResourceStr、ResourceColor, + 编译拦截报错。 + ```ts + /* ArkTS:ERROR The state variable type here is 'ResourceStr', it contains both a simple type and an object type, + which are not allowed to be defined for state variable of a struct.*/ + @State message: ResourceStr = $r('app.string.hello') + ``` + +**关键的接口/组件变更** + +不涉及。 + +**适配指导** + +1. 状态装饰器变量声明具体的变量类型替代any; +2. 使用Date对象的状态装饰器变量,修改为不加状态装饰器修饰的常规变量; +3. 因为Length(string|number|Resource), ResourceStr(string|Resource), ResourceColor(string|number|Color|Resource) + 的三个类型是简单数据类型或引用数据类型的组合,使用@State、@Provide、 @Link和@Consume四种状态变量场景参考以下修改: + ```ts + // 错误写法: + @State message: ResourceStr = $r('app.string.hello') + // 修正后的写法: + @State resourceStr: Resource = $r('app.string.hello') + ``` + +## cl.arkui.2 自定义组件成员变量初始化的规则与约束。 + +通过构造函数方法初始化成员变量,需要遵循如下规则: + +| **从父组件中的变量(右)到子组件中的变量(下)** | **regular** | **@State** | **@Link** | **@Prop** | **@Provide** | **@Consume** | **@ObjectLink** | +|---------------------------------|----------------------------|------------|-----------|-----------|--------------|--------------|------------------| +| **regular** | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | +| **@State** | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | +| **@Link** | 不支持 | 支持(1) | 支持(1) | 支持(1) | 支持(1) | 支持(1) | 支持(1) | +| **@Prop** | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | +| **@Provide** | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | +| **@Consume** | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | +| **@ObjectLink** | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | + +| **从父组件中的变量(右)到子组件中的变量(下)** | **@StorageLink** | **@StorageProp** | **@LocalStorageLink** | **@LocalStorageProp** | +|------------------|------------------|------------------|-----------------------|------------------------| +| **regular** | 支持 | 不支持 | 不支持 | 不支持 | +| **@State** | 支持 | 支持 | 支持 | 支持 | +| **@Link** | 支持(1) | 支持(1) | 支持(1) | 支持(1) | +| **@Prop** | 支持 | 支持 | 支持 | 支持 | +| **@Provide** | 支持 | 支持 | 支持 | 支持 | +| **@Consume** | 不支持 | 不支持 | 不支持 | 不支持 | +| **@ObjectLink** | 不支持 | 不支持 | 不支持 | 不支持 | + +> **说明** +> +> **支持(1)**:必须使用`$`, 例如 `this.$varA`。 +> **regular**:未加修饰的常规变量。 + +不允许从父组件初始化`@StorageLink`, `@StorageProp`, `@LocalStorageLink`, `@LocalStorageProp`修饰的变量。 + +**变更影响** + +1. 不允许从父组件初始化`@LocalStorageLink`, `@LocalStorageProp`修饰的变量。 + ```ts + @Entry + @Component + struct LocalStorageComponent { + build() { + Column() { + Child({ + /* ArkTS:ERROR Property 'simpleVarName' in the custom component 'Child' cannot + initialize here (forbidden to specify). */ + simpleVarName: 1, + /* ArkTS:ERROR Property 'objectName' in the custom component 'Child' cannot + initialize here (forbidden to specify). */ + objectName: new ClassA("x") + }) + } + } + } + @Component + struct Child { + @LocalStorageLink("storageSimpleProp") simpleVarName: number = 0; + @LocalStorageProp("storageObjectProp") objectName: ClassA = new ClassA("x"); + build() {} + } + ``` +2. 子组件的@ObjectLink变量不支持父组件装饰器变量的直接赋值,其父组件的源必须是数组的项或对象的属性,该数组或对象必现用`@State`、`@Link`、`@Provide`、`@Consume`或`@ObjectLink`装饰器修饰。 + ```ts + let NextID : number = 0; + + @Observed class ClassA { + public id : number; + public c: number; + constructor(c: number) { + this.id = NextID++; + this.c = c; + } + } + + @Component + struct Child { + @ObjectLink varA : ClassA; + build() { + Row() { + Text('ViewA-' + this.varA.id) + } + } + } + + @Component + struct Parent { + @Link linkValue: ClassA + build() { + Column() { + /* ArkTS:ERROR The @Link property 'linkValue' cannot be assigned to + the @ObjectLink property 'varA'.*/ + Child({ varA: this.linkValue }) + } + } + } + ``` + +**关键的接口/组件变更** + +不涉及。 + +**适配指导** +1. 构造子组件时,不对子组件的`@LocalStorageLink`, `@LocalStorageProp`修饰的变量进行。 +如果需要在父组件中修改子组件的`@LocalStorageLink`, `@LocalStorageProp`修饰的变量,则使用LocalStorage提供的API接口方法(比如set方法)赋值。 +2. @ObjectLink的使用指导请参考文档[@ObjectLink使用指导](../../../application-dev/quick-start/arkts-state-mgmt-page-level.md)。 diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-bundlemanager.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-bundlemanager.md new file mode 100644 index 0000000000000000000000000000000000000000..778ce0e4378d00ce220c65a195887077f24a3f53 --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-bundlemanager.md @@ -0,0 +1,33 @@ +# 包管理子系统ChangeLog + +## cl.bundlemanager.1 API9的ApplicationInfo结构体字段变更,删除entryDir字段。 + +API9的ApplicationInfo结构体[[bundleManager/applicationInfo.d.ts](https://gitee.com/openharmony/interface_sdk-js/blob/monthly_20221018/api/bundleManager/applicationInfo.d.ts)]字段变更,删除entryDir字段。 + +**变更影响**
+对使用API version 8及之前版本SDK的应用无影响,使用API version 9的应用需要适配新模块和新接口。 + +**关键的接口/组件变更**
+ApplicationInfo结构体发生变化的字段内容如下表所示。 +| 删除 | API9新增或变更 | 类型 | +| --- | --- | --- | +| entryDir | 无 | string | + +**适配指导**
+导入包管理查询的模块,在API9 version的ApplicationInfo结构体时,使用了entryDir需要进行修改,该字段属于多余字段。 + +## cl.bundlemanager.2 API9的HapModuleInfo结构体字段变更,删除moduleSourceDir字段。 + +API9的HapModuleInfo结构体[[bundleManager/hapModuleInfo.d.ts](https://gitee.com/openharmony/interface_sdk-js/blob/monthly_20221018/api/bundleManager/hapModuleInfo.d.ts)]字段变更,删除moduleSourceDir字段。 + +**变更影响**
+对使用API version 8及之前版本SDK的应用无影响,使用API version 9的应用需要适配新模块和新接口。 + +**关键的接口/组件变更**
+HapModuleInfo结构体发生变化的字段内容如下表所示。 +| 删除 | API9新增或变更 | 类型 | +| --- | --- | --- | +| moduleSourceDir | 无 | string | + +**适配指导**
+导入包管理查询的模块,在API9 version的HapModuleInfo结构体时不能使用moduleSourceDir字段。使用了moduleSourceDir需要进行修改,该字段属于多余字段。 diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-camera-sync.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-camera-sync.md new file mode 100644 index 0000000000000000000000000000000000000000..cd2a570296f2f086edce830fbba345d1c2c5232c --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-camera-sync.md @@ -0,0 +1,522 @@ +# 媒体子系统 JS API 变更 Changelog + +OpenHarmony3.2.10.3 相对 OpenHarmony3.2 Beta4 版本,媒体子系统 camera 部件 API 变更如下 + +## cl.subsystemname.1 camera 接口变更 +1. camera 部件在 API9 版本全量改为 SystemAPI +2. 基于以下原因新增部分功能接口以及废弃部分接口: + +提升开发者使用相机接口的便利。 +帮助开发者快速掌握相机开发接口,快速投入到开发当中。 +易于后续版本中框架功能的扩展,降低框架模块之间的耦合度。 + +具体参考下方变更内容,开发者需要根据以下说明对应用进行适配。 + +**变更影响** + +影响 API9 版本的 JS 接口,应用需要进行适配才可以在新版本 SDK 环境正常实现功能。 + +**关键的接口/组件变更** + +| 模块名 | 类名 | 方法/属性/枚举/常量 | 是否为 SystemApi | 变更类型 | +| ---------------------- | ----------------------- | ------------------------------------------------------------ | --------------- | -------- | +| ohos.multimedia.camera | camera | function getCameraManager(context: Context): CameraManager; | 是 | 新增 | +| ohos.multimedia.camera | camera | function getCameraManager(context: Context, callback: AsyncCallback): void;
function getCameraManager(context: Context): Promise; | 是 | 废弃 | +| ohos.multimedia.camera | CameraErrorCode | INVALID_ARGUMENT = 7400101,
OPERATION_NOT_ALLOWED = 7400102,
SESSION_NOT_CONFIG = 7400103,
SESSION_NOT_RUNNING = 7400104,
SESSION_CONFIG_LOCKED = 7400105,
DEVICE_SETTING_LOCKED = 7400106,
CONFILICT_CAMERA = 7400107,
DEVICE_DISABLED = 7400108,
SERVICE_FATAL_ERROR = 7400201 | 是 | 新增 | +| ohos.multimedia.camera | CameraManager | getSupportedCameras(): Array;
getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability;
createCameraInput(camera: CameraDevice): CameraInput;
createCameraInput(position: CameraPosition, type: CameraType): CameraInput;
createPreviewOutput(profile: Profile, surfaceId: string): PreviewOutput;
createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput;
createVideoOutput(profile: VideoProfile, surfaceId: string): VideoOutput;
createMetadataOutput(metadataObjectTypes: Array): MetadataOutput;
createCaptureSession(): CaptureSession; | 是 | 新增 | +| ohos.multimedia.camera | CameraManager | getSupportedCameras(callback: AsyncCallback>): void;
getSupportedCameras(): Promise>;
getSupportedOutputCapability(camera: CameraDevice, callback: AsyncCallback): void;
getSupportedOutputCapability(camera: CameraDevice): Promise;
createCameraInput(camera: CameraDevice, callback: AsyncCallback): void;
createCameraInput(camera: CameraDevice): Promise;
createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback): void;
createCameraInput(position: CameraPosition, type: CameraType): Promise;
createPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void;
createPreviewOutput(profile: Profile, surfaceId: string): Promise;
createPhotoOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void;
createPhotoOutput(profile: Profile, surfaceId: string): Promise;
createVideoOutput(profile: VideoProfile, surfaceId: string, callback: AsyncCallback): void;
createVideoOutput(profile: VideoProfile, surfaceId: string): Promise;
createMetadataOutput(metadataObjectTypes: Array, callback: AsyncCallback): void;
createMetadataOutput(metadataObjectTypes: Array): Promise;
createCaptureSession(callback: AsyncCallback): void;
createCaptureSession(): Promise; | 是 | 废弃 | +| ohos.multimedia.camera | CameraType | CAMERA_TYPE_DEFAULT = 0 | 是 | 新增 | +| ohos.multimedia.camera | CameraType | CAMERA_TYPE_UNSPECIFIED = 0 | 是 | 废弃 | +| ohos.multimedia.camera | CameraInput | on(type: 'error', camera: CameraDevice, callback: ErrorCallback): void; | 是 | 新增 | +| ohos.multimedia.camera | CameraInput | release(callback: AsyncCallback): void;
release(): Promise;
on(type: 'error', camera: CameraDevice, callback: ErrorCallback): void; | 是 | 废弃 | +| ohos.multimedia.camera | CameraInputErrorCode | ERROR_UNKNOWN = -1
ERROR_NO_PERMISSION = 0
ERROR_DEVICE_PREEMPTED = 1
ERROR_DEVICE_DISCONNECTED = 2
ERROR_DEVICE_IN_USE = 3
ERROR_DRIVER_ERROR = 4 | 是 | 废弃 | +| ohos.multimedia.camera | CameraInputError | code: CameraInputErrorCode | 是 | 废弃 | +| ohos.multimedia.camera | CaptureSession | beginConfig(): void;
addInput(cameraInput: CameraInput): void;
removeInput(cameraInput: CameraInput): void;
addOutput(cameraOutput: CameraOutput): void;
removeOutput(cameraOutput: CameraOutput): void;
hasFlash(): boolean;
isFlashModeSupported(flashMode: FlashMode): boolean;
getFlashMode(): FlashMode;
setFlashMode(flashMode: FlashMode): void;
isExposureModeSupported(aeMode: ExposureMode): boolean;
getExposureMode(): ExposureMode;
setExposureMode(aeMode: ExposureMode): void;
getMeteringPoint(): Point;
setMeteringPoint(point: Point): void;
getExposureBiasRange(): Array;
setExposureBias(exposureBias: number): void;
getExposureValue(): number;
isFocusModeSupported(afMode: FocusMode): boolean;
getFocusMode(): FocusMode;
setFocusMode(afMode: FocusMode): void;
setFocusPoint(point: Point): void;
getFocusPoint(): Point;
getFocalLength(): number;
getZoomRatioRange(): Array;
getZoomRatio(): number;
setZoomRatio(zoomRatio: number): void;
isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): boolean;
getActiveVideoStabilizationMode(): VideoStabilizationMode;
setVideoStabilizationMode(mode: VideoStabilizationMode): void;
on(type: 'error', callback: ErrorCallback): void; | 是 | 新增 | +| ohos.multimedia.camera | CaptureSession | beginConfig(callback: AsyncCallback): void;
beginConfig(): Promise;
addInput(cameraInput: CameraInput, callback: AsyncCallback): void;
addInput(cameraInput: CameraInput): Promise;
removeInput(cameraInput: CameraInput, callback: AsyncCallback): void;
removeInput(cameraInput: CameraInput): Promise;
addOutput(cameraOutput: CameraOutput, callback: AsyncCallback): void;
addOutput(cameraOutput: CameraOutput): Promise;
removeOutput(cameraOutput: CameraOutput, callback: AsyncCallback): void;
removeOutput(cameraOutput: CameraOutput): Promise;
hasFlash(callback: AsyncCallback): void;
hasFlash(): Promise;
isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback): void;
isFlashModeSupported(flashMode: FlashMode): Promise;
getFlashMode(callback: AsyncCallback): void;
getFlashMode(): Promise;
setFlashMode(flashMode: FlashMode, callback: AsyncCallback): void;
setFlashMode(flashMode: FlashMode): Promise;
isExposureModeSupported(aeMode: ExposureMode, callback: AsyncCallback): void;
isExposureModeSupported(aeMode: ExposureMode): Promise;
getExposureMode(callback: AsyncCallback): void;
getExposureMode(): Promise;
setExposureMode(aeMode: ExposureMode, callback: AsyncCallback): void;
setExposureMode(aeMode: ExposureMode): Promise;
getMeteringPoint(callback: AsyncCallback): void;
getMeteringPoint(): Promise;
setMeteringPoint(point: Point, callback: AsyncCallback): void;
setMeteringPoint(point: Point): Promise;
getExposureBiasRange(callback: AsyncCallback>): void;
getExposureBiasRange(): Promise>;
setExposureBias(exposureBias: number, callback: AsyncCallback): void;
setExposureBias(exposureBias: number): Promise;
getExposureValue(callback: AsyncCallback): void;
getExposureValue(): Promise;
isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback): void;
isFocusModeSupported(afMode: FocusMode): Promise;
getFocusMode(callback: AsyncCallback): void;
getFocusMode(): Promise;
setFocusMode(afMode: FocusMode, callback: AsyncCallback): void;
setFocusMode(afMode: FocusMode): Promise;
setFocusPoint(point: Point, callback: AsyncCallback): void;
setFocusPoint(point: Point): Promise;
getFocusPoint(callback: AsyncCallback): void;
getFocusPoint(): Promise;
getFocalLength(callback: AsyncCallback): void;
getFocalLength(): Promise;
getZoomRatioRange(callback: AsyncCallback>): void;
getZoomRatioRange(): Promise>;
getZoomRatio(callback: AsyncCallback): void;
getZoomRatio(): Promise;
setZoomRatio(zoomRatio: number, callback: AsyncCallback): void;
setZoomRatio(zoomRatio: number): Promise;
isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode, callback: AsyncCallback): void;
isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): Promise;
getActiveVideoStabilizationMode(callback: AsyncCallback): void;
getActiveVideoStabilizationMode(): Promise;
setVideoStabilizationMode(mode: VideoStabilizationMode, callback: AsyncCallback): void;
setVideoStabilizationMode(mode: VideoStabilizationMode): Promise;
on(type: 'error', callback: ErrorCallback): void; | 是 | 废弃 | +| ohos.multimedia.camera | CaptureSessionErrorCode | ERROR_UNKNOWN = -1
ERROR_INSUFFICIENT_RESOURCES = 0
ERROR_TIMEOUT = 1 | 是 | 废弃 | +| ohos.multimedia.camera | CaptureSessionError | code: CaptureSessionErrorCode | 是 | 废弃 | +| ohos.multimedia.camera | PreviewOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 新增 | +| ohos.multimedia.camera | PreviewOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 废弃 | +| ohos.multimedia.camera | PreviewOutputErrorCode | ERROR_UNKNOWN = -1 | 是 | 废弃 | +| ohos.multimedia.camera | PreviewOutputError | code: PreviewOutputErrorCode | 是 | 废弃 | +| ohos.multimedia.camera | PhotoOutput | capture(): Promise;
isMirrorSupported(): boolean;
on(type: 'error', callback: ErrorCallback): void; | 是 | 新增 | +| ohos.multimedia.camera | PhotoOutput | isMirrorSupported(callback: AsyncCallback): void;
isMirrorSupported(): Promise;
on(type: 'error', callback: ErrorCallback): void; | 是 | 废弃 | +| ohos.multimedia.camera | PhotoOutputErrorCode | ERROR_UNKNOWN = -1
ERROR_DRIVER_ERROR = 0
ERROR_INSUFFICIENT_RESOURCES = 1
ERROR_TIMEOUT = 2 | 是 | 废弃 | +| ohos.multimedia.camera | PhotoOutputError | code: PhotoOutputErrorCode | 是 | 废弃 | +| ohos.multimedia.camera | VideoOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 新增 | +| ohos.multimedia.camera | VideoOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 废弃 | +| ohos.multimedia.camera | VideoOutputErrorCode | ERROR_UNKNOWN = -1
ERROR_DRIVER_ERROR = 0 | 是 | 废弃 | +| ohos.multimedia.camera | VideoOutputError | code: VideoOutputErrorCode | 是 | 废弃 | +| ohos.multimedia.camera | MetadataObject | readonly type: MetadataObjectType;
readonly timestamp: number; | 是 | 新增 | +| ohos.multimedia.camera | MetadataObject | getType(callback: AsyncCallback): void;
getType(): Promise;
getTimestamp(callback: AsyncCallback): void;
getTimestamp(): Promise;
getBoundingBox(callback: AsyncCallback): void;
getBoundingBox(): Promise; | 是 | 废弃 | +| ohos.multimedia.camera | MetadataFaceObject | readonly boundingBox: Rect | 是 | 新增 | +| ohos.multimedia.camera | MetadataOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 新增 | +| ohos.multimedia.camera | MetadataOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 废弃 | +| ohos.multimedia.camera | MetadataOutputErrorCode | ERROR_UNKNOWN = -1
ERROR_INSUFFICIENT_RESOURCES = 0 | 是 | 废弃 | +| ohos.multimedia.camera | MetadataOutputError | code: MetadataOutputErrorCode | 是 | 废弃 | + +**适配指导** + +除新增接口,和废弃接口之外,开发者需要关注变更的接口的适配: + +从 Beta4 版本开始,对以下接口进行调整: + +**新增接口** + +1. CameraErrorCode 枚举 + + 枚举值名称:INVALID_ARGUMENT, 值:7400101; + + 枚举值名称:OPERATION_NOT_ALLOWED, 值:7400102; + + 枚举值名称:SESSION_NOT_CONFIG, 值:7400103; + + 枚举值名称:SESSION_NOT_RUNNING, 值:7400104; + + 枚举值名称:SESSION_CONFIG_LOCKED, 值:7400105; + + 枚举值名称:DEVICE_SETTING_LOCKED, 值:7400106; + + 枚举值名称:CONFILICT_CAMERA, 值:7400107; + + 枚举值名称:DEVICE_DISABLED, 值:7400108; + + 枚举值名称:SERVICE_FATAL_ERROR, 值:7400201; + +2. PhotoOutput 接口新增 capture(): Promise; + +3. MetadataObject 接口中新增 readonly type: MetadataObjectType; + +4. MetadataObject 接口中新增 readonly timestamp: number; + +5. MetadataObject 接口中新增 readonly boundingBox: Rect; + +**废弃接口** + +1. CameraInput 中废弃接口 release(callback: AsyncCallback): void; 以及 release(): Promise; + +2. 废弃枚举 CameraInputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_NO_PERMISSION = 0,ERROR_DEVICE_PREEMPTED = 1,ERROR_DEVICE_DISCONNECTED = 2,ERROR_DEVICE_IN_USE = 3,ERROR_DRIVER_ERROR = 4); + +3. 废弃接口 CameraInputError 以及接口属性 code:CameraInputErrorCode; + +4. 废弃枚举 CaptureSessionErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_INSUFFICIENT_RESOURCES = 0,ERROR_TIMEOUT = 1); + +5. 废弃接口 CaptureSessionError 以及接口属性 code: CaptureSessionErrorCode; + +6. 废弃枚举 PreviewOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1); + +7. 废弃接口 PreviewOutputError 以及接口属性 code: PreviewOutputErrorCode; + +8. 废弃枚举 PhotoOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_DRIVER_ERROR = 0,ERROR_INSUFFICIENT_RESOURCES = 1,ERROR_TIMEOUT = 2); + +9. 废弃接口 PhotoOutputError 以及接口属性 code:PhotoOutputErrorCode; + +10. 废弃枚举 VideoOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_DRIVER_ERROR = 0); + +11. 废弃接口 VideoOutputError 以及接口属性 code:VideoOutputErrorCode; + +12. 废弃接口 MetadataObject 中 getType(callback: AsyncCallback): void; + +13. 废弃接口 MetadataObject 中 getType(): Promise; + +14. 废弃接口 MetadataObject 中 getTimestamp(callback: AsyncCallback): void; + +15. 废弃接口 MetadataObject 中 getTimestamp(): Promise; + +16. 废弃接口 MetadataObject 中 getBoundingBox(callback: AsyncCallback): void; + +17. 废弃接口 MetadataObject 中 getBoundingBox(): Promise; + +18. 废弃枚举 MetadataOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_INSUFFICIENT_RESOURCES = 0); + +19. 废弃接口 MetadataOutputError 以及接口属性 code:MetadataOutputErrorCode; + +**接口变更** + +1. camera 模块中接口 getCameraManager 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getCameraManager(context: Context, callback: AsyncCallback): void; 以及 getCameraManager(context: Context): Promise; 变更为 getCameraManager(context: Context): CameraManager; + + 参考代码如下: + + ``` + let cameraManager = camera.getCameraManager(context); + ``` + +2. CameraManager 中接口 getSupportedCameras 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getSupportedCameras(callback: AsyncCallback>): void; 以及 getSupportedCameras(): Promise>; 变更为 getSupportedCameras(): Array; + + 参考代码如下: + + ``` + let cameras = cameraManager.getSupportedCameras(); + ``` + +3. CameraManager 中接口 getSupportedOutputCapability 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getSupportedOutputCapability(camera: CameraDevice, callback: AsyncCallback): void; 以及 getSupportedOutputCapability(camera: CameraDevice): Promise; 变更为 getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability; + + 参考代码如下: + + ``` + let cameraDevice = cameras[0]; + let CameraOutputCapability = cameraManager.getSupportedOutputCapability(cameraDevice); + ``` + +4. CameraManager 中接口 createCameraInput(camera: CameraDevice) 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createCameraInput(camera: CameraDevice, callback: AsyncCallback): void; 以及 createCameraInput(camera: CameraDevice): Promise; 变更为 createCameraInput(camera: CameraDevice): CameraInput; + + 参考代码如下: + + ``` + let cameraDevice = cameras[0]; + let cameraInput = cameraManager.createCameraInput(cameraDevice); + ``` + +5. CameraManager 中接口 createCameraInput(position: CameraPosition, type: CameraType) 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback): void; 以及 createCameraInput(position: CameraPosition, type: CameraType): Promise; 变更为 createCameraInput(position: CameraPosition, type: CameraType): CameraInput; + + 参考代码如下: + + ``` + let cameraDevice = cameras[0]; + let position = cameraDevice.cameraPosition; + let type = cameraDevice.cameraType; + let cameraInput = cameraManager.createCameraInput(position, type); + ``` + +6. CameraManager 中接口 createPreviewOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void; 以及 createPreviewOutput(profile: Profile, surfaceId: string): Promise; 变更为 createPreviewOutput(profile: Profile, surfaceId: string): PreviewOutput; + + 参考代码如下: + + ``` + let profile = cameraoutputcapability.previewProfiles[0]; + let previewOutput = cameraManager.createPreviewOutput(profile, surfaceId); + ``` + +7. CameraManager 中接口 createPhotoOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createPhotoOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void; 以及 createPhotoOutput(profile: Profile, surfaceId: string): Promise; 变更为 createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput; + + 参考代码如下: + + ``` + let profile = cameraoutputcapability.photoProfiles[0]; + let photoOutput = cameraManager.createPhotoOutput(profile, surfaceId); + ``` + +8. CameraManager 中接口 createVideoOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createVideoOutput(profile: VideoProfile, surfaceId: string, callback: AsyncCallback): void; 以及 createVideoOutput(profile: VideoProfile, surfaceId: string): Promise; 变更为 createVideoOutput(profile: VideoProfile, surfaceId: string): VideoOutput; + + 参考代码如下: + + ``` + let profile = cameraoutputcapability.videoProfiles[0]; + let videoOutput = cameraManager.createVideoOutput(profile, surfaceId); + ``` + +9. CameraManager 中接口 createMetadataOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createMetadataOutput(metadataObjectTypes: Array, callback: AsyncCallback): void; 以及 createMetadataOutput(metadataObjectTypes: Array): Promise; 变更为 createMetadataOutput(metadataObjectTypes: Array): MetadataOutput; + + 参考代码如下: + + ``` + let metadataObjectTypes = cameraoutputcapability.supportedMetadataObjectTypes; + let metadataOutput = cameraManager.createMetadataOutput(metadataObjectTypes); + ``` + +10. CameraManager 中接口 createCaptureSession 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createCaptureSession(callback: AsyncCallback): void; 以及 createCaptureSession(): Promise; 变更为 createCaptureSession(): CaptureSession; + + 参考代码如下: + + ``` + let captureSession = cameraManager.createCaptureSession(); + ``` + +11. 枚举 CameraType 中,枚举值名称 CAMERA_TYPE_UNSPECIFIED 变更为 CAMERA_TYPE_DEFAULT。 + +12. CameraInput 中,on 接口返回值类型由 CameraInputError 变更为 BusinessError,因此旧接口 on(type: 'error', camera: CameraDevice, callback: ErrorCallback): void; 变更为 on(type: 'error', camera: CameraDevice, callback: ErrorCallback): void; + + 参考代码如下: + + ``` + let cameraDevice = cameras[0]; + cameraInput.on('error', cameraDevice, (BusinessError) => { + + }) + ``` + +13. CaptureSession 中接口 beginConfig 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 beginConfig(callback: AsyncCallback): void; 以及 beginConfig(): Promise; 变更为 beginConfig(): void; + + 参考代码如下: + + ``` + captureSession.beginConfig(); + ``` + +14. CaptureSession 中接口 addInput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 addInput(cameraInput: CameraInput, callback: AsyncCallback): void; 以及 addInput(cameraInput: CameraInput): Promise; 变更为 addInput(cameraInput: CameraInput): void; + + 参考代码如下: + + ``` + captureSession.addInput(cameraInput); + ``` + +15. CaptureSession 中接口 removeInput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 removeInput(cameraInput: CameraInput, callback: AsyncCallback): void; 以及 removeInput(cameraInput: CameraInput): Promise; 变更为 removeInput(cameraInput: CameraInput): void; + + 参考代码如下: + + ``` + captureSession.removeInput(cameraInput); + ``` + +16. CaptureSession 中接口 addOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 addOutput(cameraOutput: CameraOutput, callback: AsyncCallback): void; 以及 addOutput(cameraOutput: CameraOutput): Promise; 变更为 addOutput(cameraOutput: CameraOutput): void; + + 参考代码如下: + + ``` + captureSession.addOutput(previewOutput); + ``` + +17. CaptureSession 中接口 removeOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 removeOutput(cameraOutput: CameraOutput, callback: AsyncCallback): void; 以及 removeOutput(cameraOutput: CameraOutput): Promise; 变更为 removeOutput(cameraOutput: CameraOutput): void; + + 参考代码如下: + + ``` + captureSession.removeOutput(previewOutput); + ``` + +18. CaptureSession 中接口 hasFlash 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 hasFlash(callback: AsyncCallback): void; 以及 hasFlash(): Promise; 变更为 hasFlash(): boolean; + + 参考代码如下: + + ``` + let status = captureSession.hasFlash(); + ``` + +19. CaptureSession 中接口 isFlashModeSupported 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback): void; 以及 isFlashModeSupported(flashMode: FlashMode): Promise; 变更为 isFlashModeSupported(flashMode: FlashMode): boolean; + + 参考代码如下: + + ``` + let status = captureSession.isFlashModeSupported(camera.FlashMode.FLASH_MODE_AUTO); + ``` + +20. CaptureSession 中接口 getFlashMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getFlashMode(callback: AsyncCallback): void; 以及 getFlashMode(): Promise; 变更为 getFlashMode(): FlashMode; + + 参考代码如下: + + ``` + let flashMode = captureSession.getFlashMode(); + ``` + +21. CaptureSession 中接口 isExposureModeSupported 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 isExposureModeSupported(aeMode: ExposureMode, callback: AsyncCallback): void; 以及 isExposureModeSupported(aeMode: ExposureMode): Promise; 变更为 isExposureModeSupported(aeMode: ExposureMode): boolean; + + 参考代码如下: + + ``` + let isSupported = captureSession.isExposureModeSupported(camera.ExposureMode.EXPOSURE_MODE_LOCKED); + ``` + +22. CaptureSession 中接口 getExposureMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getExposureMode(callback: AsyncCallback): void; 以及 getExposureMode(): Promise; 变更为 getExposureMode(): ExposureMode; + + 参考代码如下: + + ``` + let exposureMode = captureSession.getExposureMode(); + ``` + +23. CaptureSession 中接口 setExposureMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setExposureMode(aeMode: ExposureMode, callback: AsyncCallback): void; 以及 setExposureMode(aeMode: ExposureMode): Promise; 变更为 setExposureMode(aeMode: ExposureMode): void; + + 参考代码如下: + + ``` + captureSession.setExposureMode(camera.ExposureMode.EXPOSURE_MODE_LOCKED); + ``` + +24. CaptureSession 中接口 getMeteringPoint 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getMeteringPoint(callback: AsyncCallback): void; 以及 getMeteringPoint(): Promise; 变更为 getMeteringPoint(): Point; + + 参考代码如下: + + ``` + let exposurePoint = captureSession.getMeteringPoint(); + ``` + +25. CaptureSession 中接口 setMeteringPoint 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setMeteringPoint(point: Point, callback: AsyncCallback): void; 以及 setMeteringPoint(point: Point): Promise; 变更为 setMeteringPoint(point: Point): void; + + 参考代码如下: + + ``` + let Point2 = {x: 2, y: 2}; + captureSession.setMeteringPoint(Point2); + ``` + +26. CaptureSession 中接口 getExposureBiasRange 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getExposureBiasRange(callback: AsyncCallback>): void; 以及 getExposureBiasRange(): Promise>; 变更为 getExposureBiasRange(): Array; + + 参考代码如下: + + ``` + let biasRangeArray = captureSession.getExposureBiasRange(); + ``` + +27. CaptureSession 中接口 setExposureBias 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setExposureBias(exposureBias: number, callback: AsyncCallback): void; 以及 setExposureBias(exposureBias: number): Promise; 变更为 setExposureBias(exposureBias: number): void; + + 参考代码如下: + + ``` + let exposureBias = biasRangeArray[0]; + captureSession.setExposureBias(exposureBias); + ``` + +28. CaptureSession 中接口 getExposureValue 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getExposureValue(callback: AsyncCallback): void; 以及 getExposureValue(): Promise; 变更为 getExposureValue(): number; + + 参考代码如下: + + ``` + let exposureValue = captureSession.getExposureValue(); + ``` + +29. CaptureSession 中接口 isFocusModeSupported 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback): void; 以及 isFocusModeSupported(afMode: FocusMode): Promise; 变更为 isFocusModeSupported(afMode: FocusMode): boolean; + + 参考代码如下: + + ``` + let status = captureSession.isFocusModeSupported(camera.FocusMode.FOCUS_MODE_AUTO); + ``` + +30. CaptureSession 中接口 getFocusMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getFocusMode(callback: AsyncCallback): void; 以及 getFocusMode(): Promise; 变更为 getFocusMode(): FocusMode; + + 参考代码如下: + + ``` + let afMode = captureSession.getFocusMode(); + ``` + +31. CaptureSession 中接口 setFocusMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setFocusMode(afMode: FocusMode, callback: AsyncCallback): void; 以及 setFocusMode(afMode: FocusMode): Promise; 变更为 setFocusMode(afMode: FocusMode): void; + + 参考代码如下: + + ``` + captureSession.setFocusMode(camera.FocusMode.FOCUS_MODE_AUTO); + ``` + +32. CaptureSession 中接口 setFocusPoint 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setFocusPoint(point: Point, callback: AsyncCallback): void; 以及 setFocusPoint(point: Point): Promise; 变更为 setFocusPoint(point: Point): void; + + 参考代码如下: + + ``` + let Point2 = {x: 2, y: 2}; + captureSession.setFocusPoint(Point2); + ``` + +33. CaptureSession 中接口 getFocusPoint 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getFocusPoint(callback: AsyncCallback): void; 以及 getFocusPoint(): Promise; 变更为 getFocusPoint(): Point; + + 参考代码如下: + + ``` + let point = captureSession.getFocusPoint(); + ``` + +34. CaptureSession 中接口 getFocalLength 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getFocalLength(callback: AsyncCallback): void; 以及 getFocalLength(): Promise; 变更为 getFocalLength(): number; + + 参考代码如下: + + ``` + let focalLength = captureSession.getFocalLength(); + ``` + +35. CaptureSession 中接口 getZoomRatioRange 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getZoomRatioRange(callback: AsyncCallback>): void; 以及 getZoomRatioRange(): Promise>; 变更为 getZoomRatioRange(): Array; + + 参考代码如下: + + ``` + let zoomRatioRange = captureSession.getZoomRatioRange(); + ``` + +36. CaptureSession 中接口 getZoomRatio 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getZoomRatio(callback: AsyncCallback): void; 以及 getZoomRatio(): Promise; 变更为 getZoomRatio(): number; + + 参考代码如下: + + ``` + let zoomRatio = captureSession.getZoomRatio(); + ``` + +37. CaptureSession 中接口 setZoomRatio 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setZoomRatio(zoomRatio: number, callback: AsyncCallback): void; 以及 setZoomRatio(zoomRatio: number): Promise; 变更为 setZoomRatio(zoomRatio: number): void; + + 参考代码如下: + + ``` + let zoomRatio = zoomRatioRange[0]; + captureSession.setZoomRatio(zoomRatio); + ``` + +38. CaptureSession 中接口 isVideoStabilizationModeSupported 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode, callback: AsyncCallback): void; 以及 isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): Promise; 变更为 isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): boolean; + + 参考代码如下: + + ``` + let isSupported = captureSession.isVideoStabilizationModeSupported(camera.VideoStabilizationMode.OFF); + ``` + +39. CaptureSession 中接口 getActiveVideoStabilizationMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getActiveVideoStabilizationMode(callback: AsyncCallback): void; 以及 getActiveVideoStabilizationMode(): Promise; 变更为 getActiveVideoStabilizationMode(): VideoStabilizationMode; + + 参考代码如下: + + ``` + let vsMode = captureSession.getActiveVideoStabilizationMode(); + ``` + +40. CaptureSession 中接口 setVideoStabilizationMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setVideoStabilizationMode(mode: VideoStabilizationMode, callback: AsyncCallback): void; 以及 setVideoStabilizationMode(mode: VideoStabilizationMode): Promise; 变更为 setVideoStabilizationMode(mode: VideoStabilizationMode): void; + + 参考代码如下: + + ``` + captureSession.setVideoStabilizationMode(camera.VideoStabilizationMode.OFF); + ``` + +41. CaptureSession 中,on(type: 'error') callback 类型由 ErrorCallback 变更为 ErrorCallback,因此旧接口 on(type: 'error', callback: ErrorCallback): void; 变更为 on(type: 'error', callback: ErrorCallback): void; + + 参考代码如下: + + ``` + captureSession.on('error', (BusinessError) => { + + }) + ``` + +42. PreviewOutput 中,on(type: 'error') callback 类型由 ErrorCallback 变更为 ErrorCallback,因此旧接口 on(type: 'error', callback: ErrorCallback): void; 变更为 on(type: 'error', callback: ErrorCallback): void; + + 参考代码如下: + + ``` + previewOutput.on('error', (BusinessError) => { + + }) + ``` + +43. PhotoOutput 中接口 isMirrorSupported 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 isMirrorSupported(callback: AsyncCallback): void; 以及 isMirrorSupported(): Promise; 变更为 isMirrorSupported(): boolean; + + 参考代码如下: + + ``` + let isSupported = photoOutput.isMirrorSupported(); + ``` + +44. PhotoOutput 中,on(type: 'error') callback 类型由 ErrorCallback 变更为 ErrorCallback,因此旧接口 on(type: 'error', callback: ErrorCallback): void; 变更为 on(type: 'error', callback: ErrorCallback): void; + + 参考代码如下: + + ``` + PhotoOutput.on('error', (BusinessError) => { + + }) + ``` + +45. VideoOutput 中,on(type: 'error') callback 类型由 ErrorCallback 变更为 ErrorCallback,因此旧接口 on(type: 'error', callback: ErrorCallback): void; 变更为 on(type: 'error', callback: ErrorCallback): void; + + 参考代码如下: + + ``` + VideoOutput.on('error', (BusinessError) => { + + }) + ``` + +46. MetadataOutput 中,on(type: 'error') callback 类型由 ErrorCallback 变更为 ErrorCallback,因此旧接口 on(type: 'error', callback: ErrorCallback): void; 变更为 on(type: 'error', callback: ErrorCallback): void; + + 参考代码如下: + + ``` + MetadataOutput.on('error', (BusinessError) => { + + }) + ``` \ No newline at end of file diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-distributeddatamgr.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-distributeddatamgr.md new file mode 100644 index 0000000000000000000000000000000000000000..999ba1d22e7068bb5d09ee24b5079c648a2b4214 --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-distributeddatamgr.md @@ -0,0 +1,162 @@ +# 分布式数据管理子系统JS API变更Changelog + +OpenHarmony 3.2.10.1(Mr)版本相较于OpenHarmony 3.2.beta4版本,分布式数据管理子系统的API变更如下 + +## cl.distributeddatamgr.1 接口变更 +distributeddatamgr子系统kv_store组件接口存在变更: + +由于执行时间固定且耗时短,不需要异步等待执行结果,createKVManager方法需要改为同步接口。因此旧的接口function createKVManager(config: KVManagerConfig): Promise\; 与 function createKVManager(config: KVManagerConfig, callback: AsyncCallback): void; 改为 function createKVManager(config: KVManagerConfig): KVManager; + +开发者需要根据以下说明对应用进行适配。 + + **变更影响** + +影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。 + +**关键的接口/组件变更** + +| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 | +| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- | +| @ohos.distributedKVStore | distributedKVStore | function createKVManager(config: KVManagerConfig): Promise\; | 删除 | +| @ohos.distributedKVStore | distributedKVStore | function createKVManager(config: KVManagerConfig): KVManager; | 变更 | + + +**适配指导** + +应用中调用createKVManager创建KVManager对象实例可参考下列代码 + +Stage模型下的示例: + +```ts +import AbilityStage from '@ohos.application.Ability' +let kvManager; +export default class MyAbilityStage extends AbilityStage { + onCreate() { + console.log("MyAbilityStage onCreate") + let context = this.context + const kvManagerConfig = { + context: context, + bundleName: 'com.example.datamanagertest', + } + try { + kvManager = distributedKVStore.createKVManager(kvManagerConfig); + } catch (e) { + console.error(`Failed to create KVManager.code is ${e.code},message is ${e.message}`); + } + } +} +``` + +FA模型下的示例: + +```ts +import featureAbility from '@ohos.ability.featureAbility' +let kvManager; +let context = featureAbility.getContext() +const kvManagerConfig = { + context: context, + bundleName: 'com.example.datamanagertest', +} +try { + kvManager = distributedKVStore.createKVManager(kvManagerConfig); +} catch (e) { + console.error(`Failed to create KVManager.code is ${e.code},message is ${e.message}`); +} +``` + +## cl.distributeddatamgr.2 function getRdbStoreV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts +**变更影响** +getRdbStoreV9接口标记废弃,应用需要进行适配。 + +**关键的接口/组件变更** +如下接口: + +```ts +function getRdbStoreV9(context: Context, config: StoreConfigV9, version: number, callback: AsyncCallback): void; +function getRdbStoreV9(context: Context, config: StoreConfigV9, version: number): Promise; +``` +从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts: +``` +function getRdbStore(context: Context, config: StoreConfig, callback: AsyncCallback): void; +function getRdbStore(context: Context, config: StoreConfig): Promise; +``` + +**适配指导** + * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`; + * 按上述接口变更对齐修改所调用的方法名称即可。 + +## cl.distributeddatamgr.3 function deleteRdbStoreV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts +**变更影响** +deleteRdbStoreV9接口标记废弃,应用需要进行适配。 + +**关键的接口/组件变更** +如下接口: + +```ts +function deleteRdbStoreV9(context: Context, name: string, callback: AsyncCallback): void; +function deleteRdbStoreV9(context: Context, name: string): Promise; +``` +从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts: +``` +function deleteRdbStoreV9(context: Context, name: string, callback: AsyncCallback): void; +function deleteRdbStoreV9(context: Context, name: string): Promise; +``` + +**适配指导** + * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`; + * 按上述接口变更对齐修改所调用的方法名称即可。 + +## cl.distributeddatamgr.4 interface StoreConfigV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts +**变更影响** +StoreConfigV9接口标记废弃,应用需要进行适配。 + +**关键的接口/组件变更** +interface StoreConfigV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts 改名为interface StoreConfig。 + +**适配指导** + * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`; + * 按上述接口变更对齐修改所调用的接口名称即可。 + +## cl.distributeddatamgr.5 enum SecurityLevel 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts +**变更影响** +SecurityLevel接口标记废弃,应用需要进行适配。 + +**关键的接口/组件变更** +enum SecurityLevel 从ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts。 + +**适配指导** + * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`; + * 按上述接口变更对齐修改所调用的接口名称即可。 + +## cl.distributeddatamgr.6 interface RdbStoreV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts +**变更影响** +RdbStoreV9接口标记废弃,应用需要进行适配。 + +**关键的接口/组件变更** +interface RdbStoreV9 从@ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts 改名为interface RdbStore。 + +**适配指导** + * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`; + * 按上述接口变更对齐修改所调用的接口名称即可。 + +## cl.distributeddatamgr.7 class RdbPredicatesV9 从ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts +**变更影响** +RdbPredicatesV9接口标记废弃,应用需要进行适配。 + +**关键的接口/组件变更** +class RdbPredicatesV9 从ohos.data.rdb.d.ts 迁移至@ohos.data.relationalStore.d.ts 改名为interface RdbPredicates。 + +**适配指导** + * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`; + * 按上述接口变更对齐修改所调用的接口名称即可。 + +## cl.distributeddatamgr.8 interface ResultSetV9 从api/@ohos.data.relationalStore.d.ts 迁移至@ohos.data.relationalStore.d.ts +**变更影响** +ResultSetV9接口标记废弃,应用需要进行适配。 + +**关键的接口/组件变更** +interface ResultSetV9 从api/data/rdb/resultSet.d.ts 迁移至@ohos.data.relationalStore.d.ts 改名为interface ResultSet。 + +**适配指导** + * `import rdb from "@ohos.data.rdb"` 改为 `import rdb from "@ohos.data.relationalStore"`; + * ResultSetV9实例仅通过getRdbStoreV9方法获取,参考cl.distributeddatamgr.2变更后,代码可自动适配ResultSet。 diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-media.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-media.md new file mode 100644 index 0000000000000000000000000000000000000000..1d1fadf9dbee56c3538e4462ee7936a364ec4445 --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-media.md @@ -0,0 +1,312 @@ +# 媒体子系统ChangeLog + +## cl.media.1 播放功能接口变更 + +新增音视频播放接口[AVPlayer](../../../application-dev/reference/apis/js-apis-media.md#avplayer9)9+, 升级了状态机和错误码,推荐用户使用。旧版音频播放接口[AudioPlayer](../../../application-dev/reference/apis/js-apis-media.md#audioplayer)6+和视频播放接口[VideoPlayer](../../../application-dev/reference/apis/js-apis-media.md#videoplayer)8+停止维护。 + +**变更影响** + +原有的接口暂时可继续使用,但是停止维护,建议使用新接口进行开发。 + +**关键的接口/组件变更** + +新增接口如下: + +| 类名 | 新增接口声明 | +| -------------- | ------------------------------------------------------------ | +| media | createAVPlayer(callback: AsyncCallback\): void | +| media | createAVPlayer() : Promise\ | +| media.AVPlayer | interface AVPlayer | +| media.AVPlayer | videoScaleType ?: VideoScaleType | +| media.AVPlayer | url ?: string | +| media.AVPlayer | surfaceId ?: string | +| media.AVPlayer | stop(callback: AsyncCallback\): void | +| media.AVPlayer | stop(): Promise\ | +| media.AVPlayer | setVolume(volume: number): void | +| media.AVPlayer | setSpeed(speed: PlaybackSpeed): void | +| media.AVPlayer | setBitrate(bitrate: number): void | +| media.AVPlayer | seek(timeMs: number, mode?:SeekMode): void | +| media.AVPlayer | reset(callback: AsyncCallback\): void | +| media.AVPlayer | reset(): Promise\ | +| media.AVPlayer | release(callback: AsyncCallback\): void | +| media.AVPlayer | release(): Promise\ | +| media.AVPlayer | readonly width: number | +| media.AVPlayer | readonly state: AVPlayerState | +| media.AVPlayer | readonly height: number | +| media.AVPlayer | readonly duration: number | +| media.AVPlayer | readonly currentTime: number | +| media.AVPlayer | prepare(callback: AsyncCallback\): void | +| media.AVPlayer | prepare(): Promise\ | +| media.AVPlayer | play(callback: AsyncCallback\): void | +| media.AVPlayer | play(): Promise\ | +| media.AVPlayer | pause(callback: AsyncCallback\): void | +| media.AVPlayer | pause(): Promise\ | +| media.AVPlayer | on(type: 'volumeChange', callback: Callback\): void | +| media.AVPlayer | on(type: 'videoSizeChange', callback: (width: number, height: number) => void): void | +| media.AVPlayer | on(type: 'timeUpdate', callback: Callback\): void | +| media.AVPlayer | on(type: 'stateChange', callback: (state: AVPlayerState, reason: StateChangeReason) => void): void | +| media.AVPlayer | on(type: 'startRenderFrame', callback: Callback\): void | +| media.AVPlayer | on(type: 'speedDone', callback: Callback\): void | +| media.AVPlayer | on(type: 'seekDone', callback: Callback\): void | +| media.AVPlayer | on(type: 'error', callback: ErrorCallback): void | +| media.AVPlayer | on(type: 'endOfStream', callback: Callback\): void | +| media.AVPlayer | on(type: 'durationUpdate', callback: Callback\): void | +| media.AVPlayer | on(type: 'bufferingUpdate', callback: (infoType: BufferingInfoType, value: number) => void): void | +| media.AVPlayer | on(type: 'bitrateDone', callback: Callback\): void | +| media.AVPlayer | on(type: 'availableBitrates', callback: (bitrates: Array\) => void): void | +| media.AVPlayer | on(type: 'audioInterrupt', callback: (info: audio.InterruptEvent) => void): void | +| media.AVPlayer | off(type: 'volumeChange'): void | +| media.AVPlayer | off(type: 'videoSizeChange'): void | +| media.AVPlayer | off(type: 'timeUpdate'): void | +| media.AVPlayer | off(type: 'stateChange'): void | +| media.AVPlayer | off(type: 'startRenderFrame'): void | +| media.AVPlayer | off(type: 'speedDone'): void | +| media.AVPlayer | off(type: 'seekDone'): void | +| media.AVPlayer | off(type: 'error'): void | +| media.AVPlayer | off(type: 'endOfStream'): void | +| media.AVPlayer | off(type: 'durationUpdate'): void | +| media.AVPlayer | off(type: 'bufferingUpdate'): void | +| media.AVPlayer | off(type: 'bitrateDone'): void | +| media.AVPlayer | off(type: 'availableBitrates'): void | +| media.AVPlayer | off(type: 'audioInterrupt'): void | +| media.AVPlayer | loop: boolean | +| media.AVPlayer | getTrackDescription(callback: AsyncCallback\>): void | +| media.AVPlayer | getTrackDescription() : Promise\> | +| media.AVPlayer | fdSrc ?: AVFileDescriptor | +| media.AVPlayer | audioInterruptMode ?: audio.InterruptMode | +| unnamed | type AVPlayerState = 'idle' \| 'initialized' \| 'prepared' \| 'playing' \| 'paused' \| 'completed' \| 'stopped' \| 'released' \| 'error' | + +停止维护接口如下: + +| 类名 | 停止维护接口声明 | +| ----------------- | ------------------------------------------------------------ | +| media | createVideoPlayer(callback: AsyncCallback\): void | +| media | createVideoPlayer() : Promise\ | +| media | createAudioPlayer(): AudioPlayer | +| media.AudioPlayer | interface AudioPlayer | +| media.AudioPlayer | play(): void | +| media.AudioPlayer | release(): void | +| media.AudioPlayer | audioInterruptMode ?: audio.InterruptMode | +| media.AudioPlayer | fdSrc: AVFileDescriptor | +| media.AudioPlayer | seek(timeMs: number): void | +| media.AudioPlayer | readonly duration: number | +| media.AudioPlayer | loop: boolean | +| media.AudioPlayer | readonly state: AudioState | +| media.AudioPlayer | getTrackDescription(callback: AsyncCallback\>): void | +| media.AudioPlayer | getTrackDescription() : Promise\> | +| media.AudioPlayer | on(type: 'bufferingUpdate', callback: (infoType: BufferingInfoType, value: number) => void): void | +| media.AudioPlayer | on(type: 'play' \| 'pause' \| 'stop' \| 'reset' \| 'dataLoad' \| 'finish' \| 'volumeChange', callback: () => void): void | +| media.AudioPlayer | on(type: 'timeUpdate', callback: Callback\): void | +| media.AudioPlayer | on(type: 'audioInterrupt', callback: (info: audio.InterruptEvent) => void): void | +| media.AudioPlayer | on(type: 'error', callback: ErrorCallback): void | +| media.AudioPlayer | setVolume(vol: number): void | +| media.AudioPlayer | pause(): void | +| media.AudioPlayer | readonly currentTime: number | +| media.AudioPlayer | stop(): void | +| media.AudioPlayer | reset(): void | +| media.AudioPlayer | src: string | +| media.VideoPlayer | interface VideoPlayer | +| media.VideoPlayer | play(callback: AsyncCallback\): void | +| media.VideoPlayer | play(): Promise\ | +| media.VideoPlayer | prepare(callback: AsyncCallback\): void | +| media.VideoPlayer | prepare(): Promise\ | +| media.VideoPlayer | release(callback: AsyncCallback\): void | +| media.VideoPlayer | release(): Promise\ | +| media.VideoPlayer | audioInterruptMode ?: audio.InterruptMode | +| media.VideoPlayer | fdSrc: AVFileDescriptor | +| media.VideoPlayer | seek(timeMs: number, callback: AsyncCallback\): void | +| media.VideoPlayer | seek(timeMs: number, mode:SeekMode, callback: AsyncCallback\): void | +| media.VideoPlayer | seek(timeMs: number, mode?:SeekMode): Promise\ | +| media.VideoPlayer | readonly duration: number | +| media.VideoPlayer | loop: boolean | +| media.VideoPlayer | videoScaleType ?: VideoScaleType | +| media.VideoPlayer | readonly state: VideoPlayState | +| media.VideoPlayer | getTrackDescription(callback: AsyncCallback\>): void | +| media.VideoPlayer | getTrackDescription() : Promise\> | +| media.VideoPlayer | readonly height: number | +| media.VideoPlayer | on(type: 'playbackCompleted', callback: Callback\): void | +| media.VideoPlayer | on(type: 'bufferingUpdate', callback: (infoType: BufferingInfoType, value: number) => void): void | +| media.VideoPlayer | on(type: 'startRenderFrame', callback: Callback\): void | +| media.VideoPlayer | on(type: 'videoSizeChanged', callback: (width: number, height: number) => void): void | +| media.VideoPlayer | on(type: 'audioInterrupt', callback: (info: audio.InterruptEvent) => void): void | +| media.VideoPlayer | on(type: 'error', callback: ErrorCallback): void | +| media.VideoPlayer | setDisplaySurface(surfaceId: string, callback: AsyncCallback\): void | +| media.VideoPlayer | setDisplaySurface(surfaceId: string): Promise\ | +| media.VideoPlayer | setVolume(vol: number, callback: AsyncCallback\): void | +| media.VideoPlayer | setVolume(vol: number): Promise\ | +| media.VideoPlayer | url: string | +| media.VideoPlayer | pause(callback: AsyncCallback\): void | +| media.VideoPlayer | pause(): Promise\ | +| media.VideoPlayer | readonly currentTime: number | +| media.VideoPlayer | setSpeed(speed:number, callback: AsyncCallback\): void | +| media.VideoPlayer | setSpeed(speed:number): Promise\ | +| media.VideoPlayer | stop(callback: AsyncCallback\): void | +| media.VideoPlayer | stop(): Promise\ | +| media.VideoPlayer | readonly width: number | +| media.VideoPlayer | reset(callback: AsyncCallback\): void | +| media.VideoPlayer | reset(): Promise\ | +| unnamed | type AudioState = 'idle' \| 'playing' \| 'paused' \| 'stopped' \| 'error' | +| unnamed | type VideoPlayState = 'idle' \| 'prepared' \| 'playing' \| 'paused' \| 'stopped' \| 'error' | + +**适配指导** + +请参考各接口的[API参考](../../../application-dev/reference/apis/js-apis-media.md) + +## cl.media.2 录制功能接口变更 + +新增音视频录制接口[AVRecorder](../../../application-dev/reference/apis/js-apis-media.md#avrecorder9)9+, 升级了状态机和错误码,推荐用户使用。旧版音频录制接口[AudioRecorder](../../../application-dev/reference/apis/js-apis-media.md#audiorecorder)6+和视频录制接口[VideoRecorder](../../../application-dev/reference/apis/js-apis-media.md#videorecorder9)9+停止维护。 + +新旧录制接口共用的[AudioSourceType](../../../application-dev/reference/apis/js-apis-media.md#audiosourcetype9)和[VideoSourceType](../../../application-dev/reference/apis/js-apis-media.md#videosourcetype9)接口,变更为非系统接口。 + +**变更影响** + +原有的接口[AudioRecorder](../../../application-dev/reference/apis/js-apis-media.md#audiorecorder)6+和[VideoRecorder](../../../application-dev/reference/apis/js-apis-media.md#videorecorder9)9+暂时可继续使用,但是停止维护,建议使用新接口进行开发[AVRecorder](../../../application-dev/reference/apis/js-apis-media.md#avrecorder9)9+。 + +**关键的接口/组件变更** + +新增接口如下: + +| 类名 | 新增接口声明 | +| ----------------------- | ------------------------------------------------------------ | +| media | createAVRecorder(callback: AsyncCallback\): void | +| media | createAVRecorder() : Promise\ | +| media.AVRecorder | interface AVRecorder | +| media.AVRecorder | prepare(config: AVRecorderConfig, callback: AsyncCallback\): void | +| media.AVRecorder | prepare(config: AVRecorderConfig): Promise\ | +| media.AVRecorder | release(callback: AsyncCallback\): void | +| media.AVRecorder | release(): Promise\ | +| media.AVRecorder | readonly state: AVRecorderState | +| media.AVRecorder | on(type: 'stateChange', callback: (state: AVRecorderState, reason: StateChangeReason) => void): void | +| media.AVRecorder | on(type: 'error', callback: ErrorCallback): void | +| media.AVRecorder | resume(callback: AsyncCallback\): void | +| media.AVRecorder | resume(): Promise\ | +| media.AVRecorder | start(callback: AsyncCallback\): void | +| media.AVRecorder | start(): Promise\ | +| media.AVRecorder | off(type: 'stateChange'): void | +| media.AVRecorder | off(type: 'error'): void | +| media.AVRecorder | pause(callback: AsyncCallback\): void | +| media.AVRecorder | pause(): Promise\ | +| media.AVRecorder | stop(callback: AsyncCallback\): void | +| media.AVRecorder | stop(): Promise\ | +| media.AVRecorder | reset(callback: AsyncCallback\): void | +| media.AVRecorder | reset(): Promise\ | +| media.AVRecorder | getInputSurface(callback: AsyncCallback\): void | +| media.AVRecorder | getInputSurface(): Promise\ | +| media.AVRecorderConfig | videoSourceType?: VideoSourceType | +| media.AVRecorderConfig | audioSourceType?: AudioSourceType | +| media.AVRecorderConfig | profile: AVRecorderProfile | +| media.AVRecorderConfig | rotation?: number | +| media.AVRecorderConfig | url: string | +| media.AVRecorderConfig | location?: Location | +| media.AVRecorderConfig | interface AVRecorderConfig | +| media.AVRecorderProfile | videoBitrate?: number | +| media.AVRecorderProfile | videoCodec?: CodecMimeType | +| media.AVRecorderProfile | audioCodec?: CodecMimeType | +| media.AVRecorderProfile | videoFrameRate?: number | +| media.AVRecorderProfile | videoFrameHeight?: number | +| media.AVRecorderProfile | audioSampleRate?: number | +| media.AVRecorderProfile | audioBitrate?: number | +| media.AVRecorderProfile | videoFrameWidth?: number | +| media.AVRecorderProfile | audioChannels?: number | +| media.AVRecorderProfile | fileFormat: ContainerFormatType | +| media.AVRecorderProfile | interface AVRecorderProfile | +| unnamed | type AVRecorderState = 'idle' \| 'prepared' \| 'started' \| 'paused' \| 'stopped' \| 'released' \| 'error' | + +停止维护接口如下: + +| 类名 | 停止维护接口声明 | +| -------------------------- | ------------------------------------------------------------ | +| media | createVideoRecorder(callback: AsyncCallback\): void | +| media | createVideoRecorder(): Promise\ | +| media | createAudioRecorder(): AudioRecorder | +| media.AudioRecorder | interface AudioRecorder | +| media.AudioRecorder | prepare(config: AudioRecorderConfig): void | +| media.AudioRecorder | release(): void | +| media.AudioRecorder | on(type: 'prepare' \| 'start' \| 'pause' \| 'resume' \| 'stop' \| 'release' \| 'reset', callback: () => void): void | +| media.AudioRecorder | on(type: 'error', callback: ErrorCallback): void | +| media.AudioRecorder | resume(): void | +| media.AudioRecorder | start(): void | +| media.AudioRecorder | pause(): void | +| media.AudioRecorder | stop(): void | +| media.AudioRecorder | reset(): void | +| media.AudioRecorderConfig | audioSampleRate?: number | +| media.AudioRecorderConfig | location?: Location | +| media.AudioRecorderConfig | fileFormat?: ContainerFormatType | +| media.AudioRecorderConfig | interface AudioRecorderConfig | +| media.AudioRecorderConfig | audioEncoder?: AudioEncoder | +| media.AudioRecorderConfig | audioEncodeBitRate?: number | +| media.AudioRecorderConfig | numberOfChannels?: number | +| media.AudioRecorderConfig | format?: AudioOutputFormat | +| media.AudioRecorderConfig | uri: string | +| media.AudioRecorderConfig | audioEncoderMime?: CodecMimeType | +| media.VideoRecorder | interface VideoRecorder | +| media.VideoRecorder | prepare(config: VideoRecorderConfig, callback: AsyncCallback\): void | +| media.VideoRecorder | prepare(config: VideoRecorderConfig): Promise\ | +| media.VideoRecorder | release(callback: AsyncCallback\): void | +| media.VideoRecorder | release(): Promise\ | +| media.VideoRecorder | readonly state: VideoRecordState | +| media.VideoRecorder | on(type: 'error', callback: ErrorCallback): void | +| media.VideoRecorder | resume(callback: AsyncCallback\): void | +| media.VideoRecorder | resume(): Promise\ | +| media.VideoRecorder | start(callback: AsyncCallback\): void | +| media.VideoRecorder | start(): Promise\ | +| media.VideoRecorder | pause(callback: AsyncCallback\): void | +| media.VideoRecorder | pause(): Promise\ | +| media.VideoRecorder | stop(callback: AsyncCallback\): void | +| media.VideoRecorder | stop(): Promise\ | +| media.VideoRecorder | reset(callback: AsyncCallback\): void | +| media.VideoRecorder | reset(): Promise\ | +| media.VideoRecorder | getInputSurface(callback: AsyncCallback\): void | +| media.VideoRecorder | getInputSurface(): Promise\ | +| media.VideoRecorderConfig | videoSourceType: VideoSourceType | +| media.VideoRecorderConfig | audioSourceType?: AudioSourceType | +| media.VideoRecorderConfig | profile: VideoRecorderProfile | +| media.VideoRecorderConfig | rotation?: number | +| media.VideoRecorderConfig | url: string | +| media.VideoRecorderConfig | location?: Location | +| media.VideoRecorderConfig | interface VideoRecorderConfig | +| media.VideoRecorderProfile | readonly videoBitrate: number | +| media.VideoRecorderProfile | readonly videoCodec: CodecMimeType | +| media.VideoRecorderProfile | readonly audioCodec: CodecMimeType | +| media.VideoRecorderProfile | readonly videoFrameRate: number | +| media.VideoRecorderProfile | readonly videoFrameHeight: number | +| media.VideoRecorderProfile | readonly audioSampleRate: number | +| media.VideoRecorderProfile | readonly audioBitrate: number | +| media.VideoRecorderProfile | readonly videoFrameWidth: number | +| media.VideoRecorderProfile | readonly audioChannels: number | +| media.VideoRecorderProfile | readonly fileFormat: ContainerFormatType | +| media.VideoRecorderProfile | interface VideoRecorderProfile | +| unnamed | type VideoRecordState = 'idle' \| 'prepared' \| 'playing' \| 'paused' \| 'stopped' \| 'error' | + +变更接口如下: + +| 类名 | 接口声明 | 变更前能力 | 变更后能力 | 变更前是否为系统接口 | 变更后是否为系统接口 | +| --------------------- | ------------------------------------------------------------ | ----------------------------------------------- | -------------------------------------------- | -------------------- | -------------------- | +| media.AudioSourceType | enum AudioSourceType { /** * default audio source type. * @since 9 * @syscap SystemCapability.Multimedia.Media.AVRecorder */ AUDIO_SOURCE_TYPE_DEFAULT = 0, /** * source type mic. * @since 9 * @syscap SystemCapability.Multimedia.Media.AVRecorder */ AUDIO_SOURCE_TYPE_MIC = 1, } | SystemCapability.Multimedia.Media.VideoRecorder | SystemCapability.Multimedia.Media.AVRecorder | 是 | 否 | +| media.VideoSourceType | enum VideoSourceType { /** * surface raw data. * @since 9 * @syscap SystemCapability.Multimedia.Media.AVRecorder */ VIDEO_SOURCE_TYPE_SURFACE_YUV = 0, /** * surface ES data. * @since 9 * @syscap SystemCapability.Multimedia.Media.AVRecorder */ VIDEO_SOURCE_TYPE_SURFACE_ES = 1, } | SystemCapability.Multimedia.Media.VideoRecorder | SystemCapability.Multimedia.Media.AVRecorder | 是 | 否 | + +**适配指导** + +请参考各接口的[API参考](../../../application-dev/reference/apis/js-apis-media.md) + +## cl.media.3 错误码变更 + +新增标准的错误枚举类型[AVErrorCode9](../../../application-dev/reference/apis/js-apis-media.md#averrorcode)9+替代原有错误枚举类型[MediaErrorCode](../../../application-dev/reference/apis/js-apis-media.md#mediaerrorcode)8+。 + +**变更影响** + +以往接口返回错误码枚举类型为[MediaErrorCode](../../../application-dev/reference/apis/js-apis-media.md#mediaerrorcode)8+不变。新增接口错误码类型均采用[AVErrorCode9](../../../application-dev/reference/apis/js-apis-media.md#averrorcode)9+。 + +**关键的接口/组件变更** + +新增接口如下: + +| 类名 | 新增错误码声明 | +| ----------------- | ------------------------------------------------------------ | +| media.AVErrorCode | enum AVErrorCode { /** * operation success. * @since 9 * @syscap SystemCapability.Multimedia.Media.Core */ AVERR_OK = 0, /** * permission denied. * @since 9 * @syscap SystemCapability.Multimedia.Media.Core */ AVERR_NO_PERMISSION = 201, /** * invalid parameter. * @since 9 * @syscap SystemCapability.Multimedia.Media.Core */ AVERR_INVALID_PARAMETER = 401, /** * the api is not supported in the current version * @since 9 * @syscap SystemCapability.Multimedia.Media.Core */ AVERR_UNSUPPORT_CAPABILITY = 801, /** * the system memory is insufficient or the number of services reaches the upper limit * @since 9 * @syscap SystemCapability.Multimedia.Media.Core */ AVERR_NO_MEMORY = 5400101, /** * current status does not allow or do not have permission to perform this operation * @since 9 * @syscap SystemCapability.Multimedia.Media.Core */ AVERR_OPERATE_NOT_PERMIT = 5400102, /** * data flow exception information * @since 9 * @syscap SystemCapability.Multimedia.Media.Core */ AVERR_IO = 5400103, /** * system or network response timeout. * @since 9 * @syscap SystemCapability.Multimedia.Media.Core */ AVERR_TIMEOUT = 5400104, /** * service process died. * @since 9 * @syscap SystemCapability.Multimedia.Media.Core */ AVERR_SERVICE_DIED = 5400105, /** * unsupported media format * @since 9 * @syscap SystemCapability.Multimedia.Media.Core */ AVERR_UNSUPPORT_FORMAT = 5400106, } | + +停止维护接口如下: + +| 类名 | 停止维护错误码声明 | +| -------------------- | ------------------------------------------------------------ | +| media.MediaErrorCode | enum MediaErrorCode { /** * operation success. * @since 8 * @syscap SystemCapability.Multimedia.Media.Core */ MSERR_OK = 0, /** * malloc or new memory failed. maybe system have no memory. * @since 8 * @syscap SystemCapability.Multimedia.Media.Core */ MSERR_NO_MEMORY = 1, /** * no permission for the operation. * @since 8 * @syscap SystemCapability.Multimedia.Media.Core */ MSERR_OPERATION_NOT_PERMIT = 2, /** * invalid argument. * @since 8 * @syscap SystemCapability.Multimedia.Media.Core */ MSERR_INVALID_VAL = 3, /** * an I/O error occurred. * @since 8 * @syscap SystemCapability.Multimedia.Media.Core */ MSERR_IO = 4, /** * operation time out. * @since 8 * @syscap SystemCapability.Multimedia.Media.Core */ MSERR_TIMEOUT = 5, /** * unknown error. * @since 8 * @syscap SystemCapability.Multimedia.Media.Core */ MSERR_UNKNOWN = 6, /** * media service died. * @since 8 * @syscap SystemCapability.Multimedia.Media.Core */ MSERR_SERVICE_DIED = 7, /** * operation is not permit in current state. * @since 8 * @syscap SystemCapability.Multimedia.Media.Core */ MSERR_INVALID_STATE = 8, /** * operation is not supported in current version. * @since 8 * @syscap SystemCapability.Multimedia.Media.Core */ MSERR_UNSUPPORTED = 9, } | \ No newline at end of file diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-multimedia.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-multimedia.md new file mode 100644 index 0000000000000000000000000000000000000000..45249cf9851984f3119e534f732d694eacf1e31f --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-multimedia.md @@ -0,0 +1,53 @@ +## cl.multimedia.av_session.001 av_session所有接口更换为系统接口 + +所有av_session的接口变更为SystemApi。 + +**变更影响** + +非系统应用无法调用系统接口,如调用方为非系统应用或未申请SystemApi相关权限,将无法调用接口。 + +**关键的接口/组件变更** + +所有接口均变更为SystemApi,接口明细如下: + +| 接口、枚举或变量名 | 类型 | 是否为SystemApi | +| -------- | -------- | ------- | +| SessionToken | interface | 是 | +| AVMetadata | interface | 是 | +| AVPlaybackState | interface | 是 | +| PlaybackPosition | interface | 是 | +| OutputDeviceInfo | interface | 是 | +| AVSessionDescriptor | interface | 是 | +| AVSessionController | interface | 是 | +| AVControlCommand | interface | 是 | +| createAVSession | function | 是 | +| getAllSessionDescriptors | function | 是 | +| createController | function | 是 | +| castAudio | function | 是 | +| on | function | 是 | +| off | function | 是 | +| sendSystemAVKeyEvent | function | 是 | +| sendSystemControlCommand | function | 是 | +| sessionId | variable | 是 | +| setAVMetadata | function | 是 | +| setAVPlaybackState | function | 是 | +| setLaunchAbility | function | 是 | +| getController | function | 是 | +| getOutputDevice | function | 是 | +| activate | function | 是 | +| deactivate | function | 是 | +| destroy | function | 是 | +| getAVPlaybackState | function | 是 | +| getAVMetadata | function | 是 | +| getOutputDevice | function | 是 | +| sendAVKeyEvent | function | 是 | +| getLaunchAbility | function | 是 | +| getRealPlaybackPositionSync | function | 是 | +| isActive | function | 是 | +| getValidCommands | function | 是 | +| sendControlCommand | function | 是 | +| AVSessionType | type | 是 | +| AVControlCommandType | type | 是 | +| LoopMode | enum | 是 | +| PlaybackState | enum | 是 | +| AVSessionErrorCode | enum | 是 | diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-useriam.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-useriam.md new file mode 100644 index 0000000000000000000000000000000000000000..0444bab5234087b1f865eda378e680c95fc1abb4 --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-useriam.md @@ -0,0 +1,17 @@ +# 用户IAM子系统Changelog + +## cl.useriam.1 API9返回值命名变更 + +用户IAM API9的返回值枚举类类名发生变更,从 ResultCodeV9 更名为 UserAuthResultCode + +**变更影响** + +基于此版本以前开发的应用不受影响,以后的需适配错误码的类名,否则会影响业务逻辑。 + +**关键接口/组件变更** + +无接口/组件变更 + +**适配指导** + +需要修改返回值调用类名从 ResultCodeV9 改为 UserAuthResultCode \ No newline at end of file diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-window.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-window.md new file mode 100644 index 0000000000000000000000000000000000000000..697060fe9cf6a50e0958bc566bd495e9220fa1c4 --- /dev/null +++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-window.md @@ -0,0 +1,63 @@ +# 窗口子系统ChangeLog + +## cl.window.1 WindowStage生命周期监听类型名称变更 + +WindowStage生命周期的监听类型枚举定义自3.2.10.5版本起进行了变更。 + +**变更影响** + +3.2.10.5版本之前使用FOREGROUND/BACKGROUND类型开发的应用生命周期监听,在3.2.10.5版本之后失效。 + +**关键接口/组件变更** + +## WindowStageEventType9+ + +变更前: + +| 名称 | 值 | 说明 | +| ---------- | ---- | ---------- | +| FOREGROUND | 1 | 切到前台。 | +| BACKGROUND | 4 | 切到后台。 | + +变更后: +| 名称 | 值 | 说明 | +| ------ | ---- | ---------- | +| SHOWN | 1 | 切到前台。 | +| HIDDEN | 4 | 切到后台。 | + +**适配指导** + +在注册生命周期监听回调时,将前后台事件类型改为SHOWN/HIDDEN: + +``` +import Ability from '@ohos.application.Ability'; + +class myAbility extends Ability { + onWindowStageCreate(windowStage) { + console.log('onWindowStageCreate'); + try { + windowStage.on('windowStageEvent', (stageEventType) => { + switch (stageEventType) { + case window.WindowStageEventType.SHOWN: + console.log("windowStage shown"); + break; + case window.WindowStageEventType.ACTIVE: + console.log("windowStage active"); + break; + case window.WindowStageEventType.INACTIVE: + console.log("windowStage inActive"); + break; + case window.WindowStageEventType.HIDDEN: + console.log("windowStage hidden"); + break; + default: + break; + } + } ) + } catch (exception) { + console.error('Failed to enable the listener for window stage event changes. Cause:' + + JSON.stringify(exception)); + }; + } +}; +```