文档管理中心
您当前正在浏览新版开发者文档中心,目录分类和层级有所调整。点击左侧当前文档分类名称前的“☰”图标,可切换文档分类。 了解新版目录
指南与API参考指南系统硬件Wear Engine Kit(穿戴服务)手机侧应用开发应用开发目标设备选择

目标设备选择

当获取到的已连接设备列表中包含多个设备时,需要根据业务需求正确挑选目标设备。

选择某种类型的设备

获取到的设备Device类中,包含有DeviceCategory字段,表明了当前设备的类型,可根据设备的类型挑选目标设备。

  1. 参见已连接穿戴设备查询章节,获取已连接设备列表。

  2. 从已连接设备列表中根据设备类型选定需要通信的设备。

收起
自动换行
深色代码主题
复制
  1. async function fun(deviceList: wearEngine.Device[]) {
  2. let targetDevice: wearEngine.Device | undefined;
  3. for (let index = 0; index < deviceList.length; index++) {
  4. // 挑选类型为手表的设备
  5. if (deviceList[index].category === wearEngine.DeviceCategory.WATCH) {
  6. targetDevice = deviceList[index];
  7. break;
  8. }
  9. if (index === deviceList.length - 1) {
  10. // 若不存在目标设备则抛出错误
  11. throw new Error('cannot find target device');
  12. }
  13. }
  14. // targetDevice为undefined则抛出错误
  15. if (!targetDevice) {
  16. throw new Error('The value of targetDevice is undefined');
  17. } else {
  18. console.info('Get targetDevice success.');
  19. }
  20. }

选择支持某种能力集的设备

获取到的设备中包含了查询能力集的方法,可参考穿戴设备信息查询章节。

根据设备支持的WearEngine能力集挑选目标设备

  1. 参见已连接穿戴设备查询章节,获取已连接设备列表。

  2. 从已连接设备列表中根据WearEngine能力集选定需要通信的设备。

收起
自动换行
深色代码主题
复制
  1. async function fun(deviceList: wearEngine.Device[]) {
  2. // 声明目标设备
  3. let targetDevice: wearEngine.Device | undefined;
  4. for (let index = 0; index < deviceList.length; index++) {
  5. // 挑选支持的WearEngine能力集的设备
  6. try {
  7. if (await deviceList[index].isWearEngineCapabilitySupported(wearEngine.WearEngineCapability.MONITOR)) {
  8. targetDevice = deviceList[index];
  9. break;
  10. }
  11. } catch (error) {
  12. // 检查设备能力支持失败,记录错误并继续检查下一个设备
  13. console.error(
  14. `Failed to check capability for device at index ${index}. Code is ${error.code}, message is ${error.message}`);
  15. continue;
  16. }
  17. if (index === deviceList.length - 1) {
  18. // 若不存在目标设备则抛出错误
  19. throw new Error('cannot find target device');
  20. }
  21. }
  22. // targetDevice为undefined则抛出错误
  23. if (!targetDevice) {
  24. throw new Error('The value of targetDevice is undefined.');
  25. } else {
  26. console.info('Get targetDevice success.');
  27. }
  28. }

根据设备支持的Device能力集挑选目标设备

  1. 参见已连接穿戴设备查询章节,获取已连接设备列表。

  2. 从已连接设备列表中根据Device能力集选定需要通信的设备。

收起
自动换行
深色代码主题
复制
  1. async function fun(deviceList: wearEngine.Device[]) {
  2. // 声明目标设备
  3. let targetDevice: wearEngine.Device | undefined;
  4. for (let index = 0; index < deviceList.length; index++) {
  5. // 挑选支持的Device能力集的设备
  6. try {
  7. if (await deviceList[index].isDeviceCapabilitySupported(wearEngine.DeviceCapability.APP_INSTALLATION)) {
  8. targetDevice = deviceList[index];
  9. break;
  10. }
  11. } catch (error) {
  12. // 检查设备能力支持失败,记录错误并继续检查下一个设备
  13. console.error(
  14. `Failed to check capability for device at index ${index}. Code is ${error.code}, message is ${error.message}`);
  15. continue;
  16. }
  17. if (index === deviceList.length - 1) {
  18. // 若不存在目标设备则抛出错误
  19. throw new Error('cannot find target device');
  20. }
  21. }
  22. // targetDevice为undefined则抛出错误
  23. if (!targetDevice) {
  24. throw new Error('The value of targetDevice is undefined.');
  25. } else {
  26. console.info('Get targetDevice success.');
  27. }
  28. }