• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 电源管理子系统Changelog
2
3## cl.powermgr @ohos.power.d.ts中wakeup、suspend、setScreenOffTime、hibernate接口新增ohos.permission.POWER_MANAGER权限校验、错误码变更
4
5**访问级别**
6
7系统接口
8
9**变更原因**
10
11电源服务中部分ts接口对应native层的权限校验存在问题,违反权限最小化原则,因此需要给相应接口新增权限。
12
13**变更影响**
14
15此变更涉及应用适配。
16
17变更前:
18系统应用可直接访问wakeup、suspend、setScreenOffTime、hibernate接口,无需申请权限。
19
20变更后:
21系统应用需申请ohos.permission.POWER_MANAGER权限后,方可调用wakeup、suspend、setScreenOffTime、hibernate接口,接口权限校验失败会抛出201错误码。
22
23**起始API Level**
24
25- wakeup接口起始API 9
26- suspend接口起始API 9
27- setScreenOffTime接口起始API 12
28- hibernate接口起始API 12
29
30**变更发生版本**
31
32从OpenHarmony SDK 5.1.0.56开始。
33
34**变更的接口/组件**
35
36[@ohos.power.d.ts](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-power-sys.md)中如下接口:
37
38- wakeup(detail: string): void
39- suspend(isImmediate?: boolean): void
40- setScreenOffTime(timeout: number): void
41- hibernate(clearMemory: boolean): void
42
43**适配指导**
44
45接口调用方需要申请ohos.permission.POWER_MANAGER权限。
46
47调用wakeup接口新增201错误码,示例如下:
48```ts
49import { power } from '@kit.BasicServicesKit';
50
51try {
52    power.wakeup('wakeup_test');
53} catch (err) {
54    if (err.code === 201) {
55      console.error('wakeup failed, permission verification failed');
56    } else {
57      console.error('wakeup failed, err: ' + err);
58    }
59}
60```
61
62调用suspend接口新增201错误码,示例如下:
63```ts
64import { power } from '@kit.BasicServicesKit';
65
66try {
67    power.suspend();
68} catch (err) {
69    if (err.code === 201) {
70      console.error('suspend failed, permission verification failed');
71    } else {
72      console.error('suspend failed, err: ' + err);
73    }
74}
75```
76
77调用setScreenOffTime接口新增201错误码,示例如下:
78```ts
79import { power } from '@kit.BasicServicesKit';
80
81try {
82    power.setScreenOffTime(30000);
83} catch (err) {
84    if (err.code === 201) {
85      console.error('set screen off time failed, permission verification failed');
86    } else {
87      console.error('set screen off time failed, err: ' + err);
88    }
89}
90```
91
92调用hibernate接口新增201错误码,示例如下:
93```ts
94import { power } from '@kit.BasicServicesKit';
95
96try {
97    power.hibernate(true);
98} catch (err) {
99    if (err.code === 201) {
100      console.error('hibernate failed, permission verification failed');
101    } else {
102      console.error('hibernate failed, err: ' + err);
103    }
104}
105```