diff --git a/zh-cn/application-dev/application-models/application-context-stage.md b/zh-cn/application-dev/application-models/application-context-stage.md
index 55b88aef53c787a078af37e39146dd68e620e4b8..f502c9cb8aed524e43525280628fc9a6e8f8d4ac 100644
--- a/zh-cn/application-dev/application-models/application-context-stage.md
+++ b/zh-cn/application-dev/application-models/application-context-stage.md
@@ -176,7 +176,7 @@ export default class EntryAbility extends UIAbility {
> **说明:**
> 当获取的是其他应用的Context时:
>
- > - 申请`ohos.permission.GET_BUNDLE_INFO_PRIVILEGED`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。
+ > - 申请`ohos.permission.GET_BUNDLE_INFO_PRIVILEGED`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
>
> - 接口为系统接口,三方应用不支持调用。
@@ -199,7 +199,7 @@ export default class EntryAbility extends UIAbility {
> **说明:**
> 当获取的是其他应用的指定Module的Context时:
>
- > - 申请`ohos.permission.GET_BUNDLE_INFO_PRIVILEGED`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。
+ > - 申请`ohos.permission.GET_BUNDLE_INFO_PRIVILEGED`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
>
> - 接口为系统接口,三方应用不支持调用。
@@ -303,7 +303,7 @@ export default class EntryAbility extends UIAbility {
每个Ability中都包含了一个Context属性。Ability功能主要是处理生命周期,其余操作Ability的方法(例如startAbility()、connectServiceExtensionAbility()、terminateSelf()等)都是在对应的Context中实现的,同时Context也提供了获取Ability的配置信息、向用户申请授权等能力,如何获取Context请参见[获取UIAbility的上下文信息](uiability-usage.md#获取uiability的上下文信息)。
-应用需要获取用户的隐私信息或使用系统能力时,例如获取位置信息、访问日历、使用相机拍摄照片或录制视频等,需要向用户申请授权,示意效果如下图所示。具体使用请参见[访问控制授权申请指导](../security/accesstoken-guidelines.md)。
+应用需要获取用户的隐私信息或使用系统能力时,例如获取位置信息、访问日历、使用相机拍摄照片或录制视频等,需要向用户申请授权,示意效果如下图所示。具体使用请参见[访问控制授权申请](../security/accesstoken-guidelines.md)。
**图2** 向用户申请日历访问授权
\ No newline at end of file
diff --git a/zh-cn/application-dev/application-models/common-event-overview.md b/zh-cn/application-dev/application-models/common-event-overview.md
index 074043968aeaa90f4a1cf11a081c904b0d0cee76..b83db2e52a1a84075866bb892dc63a67d0c78d06 100644
--- a/zh-cn/application-dev/application-models/common-event-overview.md
+++ b/zh-cn/application-dev/application-models/common-event-overview.md
@@ -19,7 +19,7 @@ OpenHarmony通过CES(Common Event Service,公共事件服务)为应用程
- 有序公共事件:CES转发公共事件时,按订阅者订阅先后顺序,在接收到前一个订阅者回复后,再转发下一个订阅者。
-- 粘性公共事件:能够让订阅者收到在订阅前已经发送的公共事件就是粘性公共事件。普通的公共事件只能在订阅后发送才能收到,而粘性公共事件的特殊性就是可以先发送后订阅。发送粘性事件必须是系统应用或系统服务,且需要申请`ohos.permission.COMMONEVENT_STICKY`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。
+- 粘性公共事件:能够让订阅者收到在订阅前已经发送的公共事件就是粘性公共事件。普通的公共事件只能在订阅后发送才能收到,而粘性公共事件的特殊性就是可以先发送后订阅。发送粘性事件必须是系统应用或系统服务,且需要申请`ohos.permission.COMMONEVENT_STICKY`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
每个应用都可以按需订阅公共事件,订阅成功,当公共事件发布时,系统会将其发送给对应的应用。这些公共事件可能来自系统、其他应用和应用自身。
diff --git a/zh-cn/application-dev/application-models/hop-multi-device-collaboration.md b/zh-cn/application-dev/application-models/hop-multi-device-collaboration.md
index 693d92821604b046f8684e4d237d8bb349a36c22..8ef80658209941597a75fc1b8b15b2e326999c75 100644
--- a/zh-cn/application-dev/application-models/hop-multi-device-collaboration.md
+++ b/zh-cn/application-dev/application-models/hop-multi-device-collaboration.md
@@ -47,7 +47,7 @@
### 开发步骤
-1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。
+1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
2. 申请数据同步权限,弹框示例代码。
@@ -129,7 +129,7 @@
### 开发步骤
-1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。
+1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
2. 申请数据同步权限,弹框示例代码。
@@ -218,7 +218,7 @@
### 开发步骤
-1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。
+1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
2. 申请数据同步权限,弹框示例代码。
@@ -327,7 +327,7 @@
### 开发步骤
-1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。
+1. 申请`ohos.permission.DISTRIBUTED_DATASYNC`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
2. 申请数据同步权限,弹框示例代码。
diff --git a/zh-cn/application-dev/application-models/mission-management-overview.md b/zh-cn/application-dev/application-models/mission-management-overview.md
index c1ab82b91af8bcbbf5595569795665314cce63ba..df1022b3739b5b85a8606d1dbe005f004d927606 100644
--- a/zh-cn/application-dev/application-models/mission-management-overview.md
+++ b/zh-cn/application-dev/application-models/mission-management-overview.md
@@ -11,7 +11,7 @@
- MissionList:一个从桌面开始启动的任务列表,记录了任务之间的启动关系,上一个任务由下一个任务启动,最底部的任务由桌面启动,这里称之为任务链。
- MissionListManager:系统任务管理模块,内部维护了当前所有的任务链,与最近任务列表保持一致。
-
+
**图1** 任务管理示意图
![mission-list-manager](figures/mission-list-manager.png)
@@ -31,7 +31,7 @@
一个UIAbility实例对应一个单独的任务,因此应用调用startAbility()方法启动一个UIAbility时,就是创建了一个任务。
-桌面应用调用[missionManager](../reference/apis/js-apis-application-missionManager.md)的接口管理任务,需要申请`ohos.permission.MANAGE_MISSIONS`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。
+桌面应用调用[missionManager](../reference/apis/js-apis-application-missionManager.md)的接口管理任务,需要申请`ohos.permission.MANAGE_MISSIONS`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
利用missionManager进行任务管理(监听任务变化、获取任务信息、获取任务快照、清理任务、任务加锁/解锁等),示例代码如下:
diff --git a/zh-cn/application-dev/application-models/request-permissions.md b/zh-cn/application-dev/application-models/request-permissions.md
index 237b13c5e1a215d07313f5060fa57bc8a9ba7a6e..f37c6ba9442f2ee813204982fef1c0a98eb77ec4 100644
--- a/zh-cn/application-dev/application-models/request-permissions.md
+++ b/zh-cn/application-dev/application-models/request-permissions.md
@@ -10,7 +10,7 @@
在config.json声明需要的权限,在module下添加"reqPermissions",并写入对应权限。
-如申请访问日历权限,需要申请`ohos.permission.READ_CALENDAR`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。
+如申请访问日历权限,需要申请`ohos.permission.READ_CALENDAR`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
对应config.json文件的示例代码如下所示:
diff --git a/zh-cn/application-dev/application-models/uiability-data-sync-with-ui.md b/zh-cn/application-dev/application-models/uiability-data-sync-with-ui.md
index ef9735e4c9b85327b0006e917e3df1992a6be1bd..b2780c72065fce962fae1c408a27e7182bfe0947 100644
--- a/zh-cn/application-dev/application-models/uiability-data-sync-with-ui.md
+++ b/zh-cn/application-dev/application-models/uiability-data-sync-with-ui.md
@@ -6,7 +6,7 @@
- EventHub:[基类Context](application-context-stage.md)提供了EventHub的能力,使用发布订阅模式来实现。事件需要先订阅后发布,订阅者收到消息后进行处理。
- globalThis:ArkTS引擎实例内部的一个全局对象,在ArkTS引擎实例内部都能访问。
--
+- [页面级变量的状态管理](../quick-start/arkts-state-mgmt-application-level.md)。
## 使用EventHub进行数据通信
diff --git a/zh-cn/application-dev/media/audio-capturer.md b/zh-cn/application-dev/media/audio-capturer.md
index 577d93292181bcd30a2a0c964c8bcb566d69fe26..2b06e586ff7e1fc6f8c2749d019f78f72efdf56b 100644
--- a/zh-cn/application-dev/media/audio-capturer.md
+++ b/zh-cn/application-dev/media/audio-capturer.md
@@ -21,7 +21,7 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以
## 约束与限制
-开发者在进行音频数据采集功能开发前,需要先对所开发的应用配置麦克风权限(ohos.permission.MICROPHONE),权限配置相关内容可参考:[访问控制授权申请指导](../security/accesstoken-guidelines.md)
+开发者在进行音频数据采集功能开发前,需要先对所开发的应用配置麦克风权限(ohos.permission.MICROPHONE),配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
## 开发指导
@@ -178,16 +178,16 @@ AudioCapturer提供了用于获取原始音频文件的方法。开发者可以
// 获取采集器信息
let audioCapturerInfo : audio.AuduioCapturerInfo = await audioCapturer.getCapturerInfo();
-
+
// 获取音频流信息
let audioStreamInfo : audio.AudioStreamInfo = await audioCapturer.getStreamInfo();
-
+
// 获取音频流ID
let audioStreamId : number = await audioCapturer.getAudioStreamId();
-
+
// 获取纳秒形式的Unix时间戳
let audioTime : number = await audioCapturer.getAudioTime();
-
+
// 获取合理的最小缓冲区大小
let bufferSize : number = await audioCapturer.getBuffersize();
```
diff --git a/zh-cn/application-dev/media/audio-volume-manager.md b/zh-cn/application-dev/media/audio-volume-manager.md
index d26175b8822b49aafd9a5e7a0e26b009a1e8d451..3876c86e751018f67cccf75ac75fd0580a6a6ed0 100644
--- a/zh-cn/application-dev/media/audio-volume-manager.md
+++ b/zh-cn/application-dev/media/audio-volume-manager.md
@@ -16,7 +16,7 @@ AudioVolumeManager提供了音量管理的方法。开发者可以通过本指
## 约束与限制
-开发者在进行麦克风管理开发前,需要先对所开发的应用配置麦克风权限(ohos.permission.MICROPHONE),如果要设置麦克风状态,则需要配置音频管理配置权限(ohos.permission.MANAGE_AUDIO_CONFIG),需注意该权限为系统级别权限。权限配置相关内容可参考:[访问控制授权申请指导](../security/accesstoken-guidelines.md)
+开发者在进行麦克风管理开发前,需要先对所开发的应用配置麦克风权限(ohos.permission.MICROPHONE),如果要设置麦克风状态,则需要配置音频管理配置权限(ohos.permission.MANAGE_AUDIO_CONFIG),需注意该权限为系统级别权限。配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
## 开发指导
@@ -89,27 +89,27 @@ AudioVolumeManager提供了音量管理的方法。开发者可以通过本指
var audioVolumeGroupManager = await audio.getAudioManager().getVolumeManager().getVolumeGroupManager(groupid);
console.info('audioVolumeGroupManager create success.');
}
-
+
async on() { //监听麦克风状态变化
await loadVolumeGroupManager();
await audioVolumeGroupManager.audioVolumeGroupManager.on('micStateChange', (micStateChange) => {
console.info(`Current microphone status is: ${micStateChange.mute} `);
});
}
-
+
async isMicrophoneMute() { //查询麦克风是否静音
await audioVolumeGroupManager.audioVolumeGroupManager.isMicrophoneMute().then((value) => {
console.info(`isMicrophoneMute is: ${value}.`);
});
}
-
+
async setMicrophoneMuteTrue() { //设置麦克风静音
await loadVolumeGroupManager();
await audioVolumeGroupManager.audioVolumeGroupManager.setMicrophoneMute(true).then(() => {
console.info('setMicrophoneMute to mute.');
});
}
-
+
async setMicrophoneMuteFalse() { //取消麦克风静音
await loadVolumeGroupManager();
await audioVolumeGroupManager.audioVolumeGroupManager.setMicrophoneMute(false).then(() => {
@@ -123,5 +123,5 @@ AudioVolumeManager提供了音量管理的方法。开发者可以通过本指
await isMicrophoneMute();
await setMicrophoneMuteFalse();
}
- ```
+ ```
diff --git a/zh-cn/application-dev/notification/notification-subscription.md b/zh-cn/application-dev/notification/notification-subscription.md
index 739ae33ed6461c3cf9a26696d6592aea81f3b95c..9b4e787b50dc5033357959a5cf4f965327171bc1 100644
--- a/zh-cn/application-dev/notification/notification-subscription.md
+++ b/zh-cn/application-dev/notification/notification-subscription.md
@@ -35,7 +35,7 @@
## 开发步骤
-1. 申请`ohos.permission.NOTIFICATION_CONTROLLER`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md)。
+1. 申请`ohos.permission.NOTIFICATION_CONTROLLER`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
2. 导入通知订阅模块。
diff --git a/zh-cn/application-dev/task-management/reminder-agent-development.md b/zh-cn/application-dev/task-management/reminder-agent-development.md
index e667a210d5230d914e6a79618e3bf087a59c5a23..4fecb5548c2ac00c08031805111c93baa7ede248 100644
--- a/zh-cn/application-dev/task-management/reminder-agent-development.md
+++ b/zh-cn/application-dev/task-management/reminder-agent-development.md
@@ -19,7 +19,7 @@
## 开发步骤
-1. 申请`ohos.permission.PUBLISH_AGENT_REMINDER`权限,配置方式请参阅[访问控制授权申请指导](../security/accesstoken-guidelines.md#stage模型)。
+1. 申请`ohos.permission.PUBLISH_AGENT_REMINDER`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)。
2. [使能通知开关](../notification/notification-enable.md),获得用户授权后,才能使用代理提醒功能。
@@ -164,7 +164,7 @@
```js
let reminderId = 0; // reminderId的值从发布提醒代理成功之后的回调中获得
-
+
try {
reminderAgentManager.cancelReminder(reminderId).then(() => {
console.log("cancelReminder promise");
diff --git a/zh-cn/device-dev/device-test/developer_test.md b/zh-cn/device-dev/device-test/developer_test.md
index e7bbd639df1de2da2b155e6ac147ce3e55d0125f..aab5a8a9b2510ed011065bd261f98c5af20c9b55 100644
--- a/zh-cn/device-dev/device-test/developer_test.md
+++ b/zh-cn/device-dev/device-test/developer_test.md
@@ -20,7 +20,7 @@ OpenHarmony系统开发人员在新增或修改代码之后,希望可以快速
## 环境准备
-开发自测试框架依赖于python运行环境,python版本为3.7.5及以上版本,在使用测试框架之前可参阅以下方式进行配置。
+开发自测试框架依赖于python运行环境,python版本为3.7.5及以上版本,在使用测试框架之前可参见以下方式进行配置。
源码获取可[参考](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.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 3e9fdbaf2b34b1b7de740aedd90dd990b20d34b4..8b1063f4eb115087f3057adb19e5c5c3af681478 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"
@@ -3,7 +3,7 @@ OpenHarmony为开发者提供了一套全面的自测试框架,开发者可根
本文从基础环境构建,用例开发,编译以及执行等方面介绍OpenHarmony测试框架如何运行和使用。
## 基础环境构建
-测试框架依赖于python运行环境,在使用测试框架之前可参阅以下方式进行配置。
+测试框架依赖于python运行环境,在使用测试框架之前可参见以下方式进行配置。
- [环境配置](../device-dev/device-test/xdevice.md)
- [源码获取](../device-dev/get-code/sourcecode-acquire.md)
@@ -119,7 +119,7 @@ subsystem # 子系统
{
// step 1:调用函数获取结果
int actual = Sub(4,0);
-
+
// Step 2:使用断言比较预期与实际结果
EXPECT_EQ(4, actual);
}
@@ -132,7 +132,7 @@ subsystem # 子系统
2. 引用测试框架头文件和命名空间
```
#include
-
+
using namespace testing::ext;
```
3. 添加被测试类的头文件
@@ -148,22 +148,22 @@ subsystem # 子系统
void SetUp();
void TearDown();
};
-
+
void CalculatorSubTest::SetUpTestCase(void)
{
// input testsuit setup step,setup invoked before all testcases
}
-
+
void CalculatorSubTest::TearDownTestCase(void)
{
// input testsuit teardown step,teardown invoked after all testcases
}
-
+
void CalculatorSubTest::SetUp(void)
{
// input testcase setup step,setup invoked before each testcases
}
-
+
void CalculatorSubTest::TearDown(void)
{
// input testcase teardown step,teardown invoked after each testcases
@@ -183,7 +183,7 @@ subsystem # 子系统
{
//step 1:调用函数获取结果
int actual = Sub(4,0);
-
+
//Step 2:使用断言比较预期与实际结果
EXPECT_EQ(4, actual);
}
@@ -262,7 +262,7 @@ subsystem # 子系统
it("appInfoTest001", 0, function () {
//step 1:调用函数获取结果
var info = app.getInfo()
-
+
//Step 2:使用断言比较预期与实际结果
expect(info != null).assertEqual(true)
})
@@ -276,7 +276,7 @@ subsystem # 子系统
2. 导入被测api和jsunit测试库
```
import app from '@system.app'
-
+
import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
```
3. 定义测试套(测试类)
@@ -313,7 +313,7 @@ subsystem # 子系统
it("appInfoTest001", 0, function () {
//step 1:调用函数获取结果
var info = app.getInfo()
-
+
//Step 2:使用断言比较预期与实际结果
expect(info != null).assertEqual(true)
})
@@ -415,7 +415,7 @@ subsystem # 子系统
> - ohos_securitytest:安全测试
> - ohos_reliabilitytest:可靠性测试
> - ohos_distributedtest:分布式测试
-
+
7. 对目标测试用例文件进行条件分组
```
@@ -425,7 +425,7 @@ subsystem # 子系统
}
```
> **说明:** 进行条件分组的目的在于执行用例时可以选择性的执行某一种特定类型的用例。
-
+
- **JavaScript用例编译配置示例**
```
@@ -811,6 +811,5 @@ reports/latest
-