1# 窗口子系统ChangeLog
2
3## cl.window.1 setWindowPrivacyMode接口错误码返回值变更
4
5**访问级别**
6
7公开接口。
8
9**变更原因**
10
11setWindowPrivacyMode的API文档上注明接口调用需要ohos.permission.PRIVACY_WINDOW权限,但是在未添加该权限时,接口调用结果中没有正确返回错误码201。
12
13**变更影响**
14
15该变更为非兼容性变更。当应用使用setWindowPrivacyMode接口但未添加权限ohos.permission.PRIVACY_WINDOW时,将返回错误码201,需要开发者及时处理此结果。
16
17**起始 API Level**
18
199
20
21**变更发生版本**
22
23从OpenHarmony SDK 4.1.6.5开始。
24
25**变更的接口/组件**
26
27变更之前,未配置权限ohos.permission.PRIVACY_WINDOW时调用setWindowPrivacyMode接口,不会返回权限校验失败的错误码,但是实际未设置成功。
28
29变更之后,未配置权限ohos.permission.PRIVACY_WINDOW时调用setWindowPrivacyMode接口,会返回错误码权限校验失败的错误码201,表示设置失败。
30
31**适配指导**
32
33调用setWindowPrivacyMode接口时如果未添加权限ohos.permission.PRIVACY_WINDOW,可以在回调中获取到错误码201,并及时处理。
34
35```
36import { UIAbility }from '@kit.AbilityKit';
37import { window } from '@kit.ArkUI';
38import { BusinessError } from '@kit.BasicServicesKit';
39
40export default class EntryAbility extends UIAbility {
41    onWindowStageCreate(windowStage: window.WindowStage): void {
42        console.log('onWindowStageCreate');
43        let promise = windowStage.getMainWindow();
44        promise.then((windowClass: window.Window)=>{
45            windowClass.setWindowPrivacyMode(true, (err: BusinessError)=> {
46                if (err.code) {
47                    console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
48                    return;
49                }
50                console.info('Succeeded in setting the window to privacy mode.');
51            });
52        }).catch((err: BusinessError)=>{
53            console.log("Failed to get main window. Cause:" + JSON.stringify(err));
54        })
55    }
56};
57```
58