1# 设备管理ChangeLog
2## cl.device_manager.1 接口权限变更
3
4从Openharmony 4.0.8.2版本开始,部分接口新增权限校验。
5
6**变更影响**
7
8从Openharmony 4.0.8.2之后版本开发的应用,需要持有相应权限,否则无法正常调用接口。
9
10**关键的接口/组件变更**
11
12| 模块名                    | 类名                | 方法/属性/枚举/常量                                          | 新增权限 |
13| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
14| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** release(): void | ohos.permission.ACCESS_SERVICE_DM     |
15| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** getTrustedDeviceListSync(): Array<DeviceInfo> | ohos.permission.ACCESS_SERVICE_DM     |
16| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** getTrustedDeviceListSync(isRefresh: boolean): Array<DeviceInfo>; | ohos.permission.ACCESS_SERVICE_DM     |
17| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** getTrustedDeviceList(callback:AsyncCallback<Array<DeviceInfo>>): void | ohos.permission.ACCESS_SERVICE_DM     |
18| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** getTrustedDeviceList(): Promise<Array<DeviceInfo>> | ohos.permission.ACCESS_SERVICE_DM     |
19| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** getLocalDeviceInfoSync(): DeviceInfo | ohos.permission.ACCESS_SERVICE_DM     |
20| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** getLocalDeviceInfo(callback:AsyncCallback<DeviceInfo>): void | ohos.permission.ACCESS_SERVICE_DM     |
21| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** getLocalDeviceInfo(): Promise<DeviceInfo> | ohos.permission.ACCESS_SERVICE_DM     |
22| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** getDeviceInfo(networkId: string, callback:AsyncCallback<DeviceInfo>): void | ohos.permission.ACCESS_SERVICE_DM    |
23| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** getDeviceInfo(networkId: string): Promise<DeviceInfo> | ohos.permission.ACCESS_SERVICE_DM    |
24| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** startDeviceDiscovery(subscribeInfo: SubscribeInfo): void | ohos.permission.ACCESS_SERVICE_DM     |
25| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** startDeviceDiscovery(subscribeInfo: SubscribeInfo, filterOptions?: string): void | ohos.permission.ACCESS_SERVICE_DM     |
26| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** stopDeviceDiscovery(subscribeId: number): void | ohos.permission.ACCESS_SERVICE_DM     |
27| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** publishDeviceDiscovery(publishInfo: PublishInfo): void | ohos.permission.ACCESS_SERVICE_DM     |
28| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** unPublishDeviceDiscovery(publishId: number): void | ohos.permission.ACCESS_SERVICE_DM     |
29| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** authenticateDevice(deviceInfo: DeviceInfo, authParam: AuthParam, callback: AsyncCallback<{deviceId: string, pinToken ?: number}>): void | ohos.permission.ACCESS_SERVICE_DM     |
30| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** unAuthenticateDevice(deviceInfo: DeviceInfo): void | ohos.permission.ACCESS_SERVICE_DM     |
31| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** verifyAuthInfo(authInfo: AuthInfo, callback: AsyncCallback<{deviceId: string, level: number}>): void | ohos.permission.ACCESS_SERVICE_DM     |
32| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** setUserOperation(operateAction: number, params: string): void | ohos.permission.ACCESS_SERVICE_DM    |
33| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** requestCredentialRegisterInfo(requestInfo: string, callback: AsyncCallback<{registerInfo: string}>): void; | ohos.permission.ACCESS_SERVICE_DM    |
34| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** importCredential(credentialInfo: string, callback: AsyncCallback<{resultInfo: string}>): void; | ohos.permission.ACCESS_SERVICE_DM     |
35| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** deleteCredential(queryInfo: string, callback: AsyncCallback<{resultInfo: string}>): void; | ohos.permission.ACCESS_SERVICE_DM     |
36| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** on(type: 'uiStateChange', callback: Callback<{ param: string}>): void; | ohos.permission.ACCESS_SERVICE_DM     |
37| @ohos.distributedHardware.deviceManager       | deviceManager        | **function** off(type: 'uiStateChange', callback?: Callback<{ param: string}>): void; | ohos.permission.ACCESS_SERVICE_DM     |
38| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** on(type: 'deviceStateChange',  callback: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void | ohos.permission.ACCESS_SERVICE_DM     |
39| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** off(type: 'deviceStateChange', callback?: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void | ohos.permission.ACCESS_SERVICE_DM     |
40| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** on(type: 'deviceFound', callback: Callback<{ subscribeId: number, device: DeviceInfo }>): void | ohos.permission.ACCESS_SERVICE_DM     |
41| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** off(type: 'deviceFound', callback?: Callback<{ subscribeId: number, device: DeviceInfo }>): void | ohos.permission.ACCESS_SERVICE_DM     |
42| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** on(type: 'discoverFail', callback: Callback<{ subscribeId: number, reason: number }>): void | ohos.permission.ACCESS_SERVICE_DM     |
43| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** off(type: 'discoverFail', callback?: Callback<{ subscribeId: number, reason: number }>): void | ohos.permission.ACCESS_SERVICE_DM     |
44| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** on(type: 'publishSuccess', callback: Callback<{ publishId: number }>): void | ohos.permission.ACCESS_SERVICE_DM     |
45| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** off(type: 'publishSuccess', callback?: Callback<{ publishId: number }>): void | ohos.permission.ACCESS_SERVICE_DM     |
46| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** on(type: 'publishFail', callback: Callback<{ publishId: number, reason: number }>): void | ohos.permission.ACCESS_SERVICE_DM     |
47| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** off(type: 'publishFail', callback?: Callback<{ publishId: number, reason: number }>): void | ohos.permission.ACCESS_SERVICE_DM     |
48| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** on(type: 'serviceDie', callback: () => void): void | ohos.permission.ACCESS_SERVICE_DM     |
49| @ohos.distributedHardware.deviceManager        | deviceManager        | **function** off(type: 'serviceDie', callback?: () => void): void | ohos.permission.ACCESS_SERVICE_DM     |
50
51**适配指导**
52
53调用以上接口,需要申请相应的权限才能正常调用。
54
55
56## cl.device_manager.2 所有接口进行系统接口权限校验
57
58从Openharmony 4.0.8.2版本开始,所有接口进行系统接口权限校验。
59
60**变更影响**
61
62非系统应用无法调用系统接口,如调用方为非系统应用或未申请SystemApi相关权限,将无法调用接口。
63
64**关键的接口/组件变更**
65
66所有接口均进行系统接口权限校验,接口明细如下:
67
68| 接口、枚举或变量名 | 类型 | 是否为SystemApi |
69| -------- | -------- | ------- |
70| createDeviceManager(bundleName: string, callback: AsyncCallback<DeviceManager>): void;                 | interface | 是 |
71| release(): void                                                                                        | interface | 是 |
72| getTrustedDeviceListSync(): Array<DeviceInfo>                                                    | interface | 是 |
73| getTrustedDeviceListSync(isRefresh: boolean): Array<DeviceInfo>;                                       | interface | 是 |
74| getTrustedDeviceList(callback:AsyncCallback<Array<DeviceInfo>>): void                      | interface | 是 |
75| getTrustedDeviceList(): Promise<Array<DeviceInfo>>                                         | interface | 是 |
76| getLocalDeviceInfoSync(): DeviceInfo                                                                   | interface | 是 |
77| getLocalDeviceInfo(callback:AsyncCallback<DeviceInfo>): void                                     | interface | 是 |
78| getLocalDeviceInfo(): Promise<DeviceInfo>                                                        | interface | 是 |
79| getDeviceInfo(networkId: string, callback:AsyncCallback<DeviceInfo>): void                       | interface | 是 |
80| getDeviceInfo(networkId: string): Promise<DeviceInfo>                                            | interface | 是 |
81| startDeviceDiscovery(subscribeInfo: SubscribeInfo): void                                               | interface | 是 |
82| startDeviceDiscovery(subscribeInfo: SubscribeInfo, filterOptions?: string): void                       | interface | 是 |
83| stopDeviceDiscovery(subscribeId: number): void                                                         | interface | 是 |
84| publishDeviceDiscovery(publishInfo: PublishInfo): void                                                 | interface | 是 |
85| unPublishDeviceDiscovery(publishId: number): void                                                      | interface | 是 |
86| authenticateDevice(deviceInfo: DeviceInfo, authParam: AuthParam, callback: AsyncCallback<{deviceId: string, pinToken ?: number}>): void   |interface | 是 |
87| unAuthenticateDevice(deviceInfo: DeviceInfo): void                                                     | interface | 是 |
88| verifyAuthInfo(authInfo: AuthInfo, callback: AsyncCallback<{deviceId: string, level: number}>): void          | interface | 是 |
89| setUserOperation(operateAction: number, params: string): void                                          | interface | 是 |
90| requestCredentialRegisterInfo(requestInfo: string, callback: AsyncCallback<{registerInfo: string}>): void;    | interface | 是 |
91| importCredential(credentialInfo: string, callback: AsyncCallback<{resultInfo: string}>): void;                | interface | 是 |
92| deleteCredential(queryInfo: string, callback: AsyncCallback<{resultInfo: string}>): void;                     | interface | 是 |
93| on(type: 'uiStateChange', callback: Callback<{ param: string}>): void;                                        | interface | 是 |
94| off(type: 'uiStateChange', callback?: Callback<{ param: string}>): void;                                      | interface | 是 |
95| on(type: 'deviceStateChange',  callback: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void                   | interface | 是 |
96| off(type: 'deviceStateChange', callback?: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void                  | interface | 是 |
97| on(type: 'deviceFound', callback: Callback<{ subscribeId: number, device: DeviceInfo }>): void                                      | interface | 是 |
98| off(type: 'deviceFound', callback?: Callback<{ subscribeId: number, device: DeviceInfo }>): void                                    | interface | 是 |
99| on(type: 'discoverFail', callback: Callback<{ subscribeId: number, reason: number }>): void                                         | interface | 是 |
100| off(type: 'discoverFail', callback?: Callback<{ subscribeId: number, reason: number }>): void                                       | interface | 是 |
101| on(type: 'publishSuccess', callback: Callback<{ publishId: number }>): void                                                         | interface | 是 |
102| off(type: 'publishSuccess', callback?: Callback<{ publishId: number }>): void                                                       | interface | 是 |
103| on(type: 'publishFail', callback: Callback<{ publishId: number, reason: number }>): void                                            | interface | 是 |
104| off(type: 'publishFail', callback?: Callback<{ publishId: number, reason: number }>): void                                          | interface | 是 |
105| on(type: 'serviceDie', callback: () => void): void                                                    | interface | 是 |
106| off(type: 'serviceDie', callback?: () => void): void                                                  | interface | 是 |
107
108**适配指导**
109
110调用以上接口,调用方需要为系统应用或申请SystemApi相关权限。
111