# 设备管ç†changeLog ## cl.device_manager.1 API错误信æ¯è¿”回方å¼å˜æ›´ è®¾å¤‡ç®¡ç†æŽ¥å£ä½¿ç”¨ä¸šåŠ¡é€»è¾‘è¿”å›žå€¼è¡¨ç¤ºé”™è¯¯ä¿¡æ¯ï¼Œä¸ç¬¦åˆOpenHarmony接å£é”™è¯¯ç 规范。从API9å¼€å§‹ä½œä»¥ä¸‹å˜æ›´ï¼š å¼‚æ¥æŽ¥å£ï¼šé€šè¿‡AsyncCallback或Promiseçš„error对象返回错误信æ¯ã€‚ åŒæ¥æŽ¥å£ï¼šé€šè¿‡æŠ›å‡ºå¼‚常的方å¼è¿”回错误信æ¯ã€‚ **å˜æ›´å½±å“** 基于æ¤å‰ç‰ˆæœ¬å¼€å‘çš„åº”ç”¨ï¼Œéœ€é€‚é…æŽ¥å£çš„错误信æ¯è¿”回方å¼ï¼Œå¦åˆ™ä¼šå½±å“原有业务逻辑。 **关键接å£/ç»„ä»¶å˜æ›´** 在以下接å£å¢žåŠ é”™è¯¯ç 处ç†ï¼š - createDeviceManager(bundleName: string, callback: AsyncCallback<DeviceManager>): void; - release(): void; - getTrustedDeviceListSync(): Array<DeviceInfo> - getTrustedDeviceList(callback:AsyncCallback<Array<DeviceInfo>>): void; - getTrustedDeviceList(): Promise<Array<DeviceInfo>> - getLocalDeviceInfoSync(): DeviceInfo; - getLocalDeviceInfo(callback:AsyncCallback<DeviceInfo>): void; - getLocalDeviceInfo(): Promise<DeviceInfo> - startDeviceDiscovery(subscribeInfo: SubscribeInfo): void; - startDeviceDiscovery(subscribeInfo: SubscribeInfo, filterOptions?: string): void; - stopDeviceDiscovery(subscribeId: number): void; - publishDeviceDiscovery(publishInfo: PublishInfo): void; - unPublishDeviceDiscovery(publishId: number): void; - authenticateDevice(deviceInfo: DeviceInfo, authParam: AuthParam, callback: AsyncCallback<{deviceId: string, pinToken ?: number}>): void; - unAuthenticateDevice(deviceInfo: DeviceInfo): void; - verifyAuthInfo(authInfo: AuthInfo, callback: AsyncCallback<{deviceId: string, level: number}>): void; - setUserOperation(operateAction: number, params: string): void; - on(type: 'uiStateChange', callback: Callback<{ param: string}>): void; - off(type: 'uiStateChange', callback?: Callback<{ param: string}>): void; - on(type: 'deviceStateChange', callback: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void; - off(type: 'deviceStateChange', callback?: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void; - on(type: 'deviceFound', callback: Callback<{ subscribeId: number, device: DeviceInfo }>): void; - off(type: 'deviceFound', callback?: Callback<{ subscribeId: number, device: DeviceInfo }>): void; - on(type: 'discoverFail', callback: Callback<{ subscribeId: number, reason: number }>): void; - off(type: 'discoverFail', callback?: Callback<{ subscribeId: number, reason: number }>): void; - on(type: 'publishSuccess', callback: Callback<{ publishId: number }>): void; - off(type: 'publishSuccess', callback?: Callback<{ publishId: number }>): void; - on(type: 'publishFail', callback: Callback<{ publishId: number, reason: number }>): void; - off(type: 'publishFail', callback?: Callback<{ publishId: number, reason: number }>): void; - on(type: 'serviceDie', callback: () => void): void; - off(type: 'serviceDie', callback?: () => void): void; **适酿Œ‡å¯¼** å¼‚æ¥æŽ¥å£ä»¥getTrustedDeviceList为例,示例代ç 如下: ```ts import account_osAccount from "@ohos.distributedHardware.deviceManager" dmInstance.getTrustedDeviceList((err, data) => { console.log("getTrustedDeviceList err: " + JSON.stringify(err)); console.log('get trusted device info: ' + JSON.stringify(data)); }); try { dmInstance.getTrustedDeviceList((err, data) => { if (err) { console.error("getTrustedDeviceList errCode:" + err.code + ",errMessage:" + err.message); return; } console.log('get trusted device info: ' + JSON.stringify(data)); }); } catch (err) { console.error("getTrustedDeviceList errCode:" + err.code + ",errMessage:" + err.message); } ``` åŒæ¥æŽ¥å£ä»¥startDeviceDiscovery为例,示例代ç 如下: ```ts // 生æˆå‘çŽ°æ ‡è¯†ï¼Œéšæœºæ•°ç¡®ä¿æ¯æ¬¡è°ƒç”¨å‘现接å£çš„æ ‡è¯†ä¸ä¸€è‡´ var subscribeId = Math.floor(Math.random() * 10000 + 1000); var subscribeInfo = { "subscribeId": subscribeId, "mode": 0xAA, // ä¸»åŠ¨æ¨¡å¼ "medium": 0, // 自动å‘çŽ°ç±»åž‹ï¼ŒåŒæ—¶æ”¯æŒå¤šç§å‘现类型 "freq": 2, // 高频率 "isSameAccount": false, "isWakeRemote": false, "capability": 1 }; dmInstance.startDeviceDiscovery(subscribeInfo); // 当有设备å‘现时,通过deviceFoundå›žè°ƒé€šçŸ¥ç»™åº”ç”¨ç¨‹åº // 生æˆå‘çŽ°æ ‡è¯†ï¼Œéšæœºæ•°ç¡®ä¿æ¯æ¬¡è°ƒç”¨å‘现接å£çš„æ ‡è¯†ä¸ä¸€è‡´ var subscribeId = Math.floor(Math.random() * 10000 + 1000); var subscribeInfo = { "subscribeId": subscribeId, "mode": 0xAA, // ä¸»åŠ¨æ¨¡å¼ "medium": 0, // 自动å‘çŽ°ç±»åž‹ï¼ŒåŒæ—¶æ”¯æŒå¤šç§å‘现类型 "freq": 2, // 高频率 "isSameAccount": false, "isWakeRemote": false, "capability": 1 }; try { dmInstance.startDeviceDiscovery(subscribeInfo); // 当有设备å‘现时,通过deviceFoundå›žè°ƒé€šçŸ¥ç»™åº”ç”¨ç¨‹åº } catch (err) { console.error("startDeviceDiscovery errCode:" + err.code + ",errMessage:" + err.message); } ```