当前位置: 首页 > 科技观察

JSAPI简单三步完成设备在网络中拉起

时间:2023-03-12 02:45:01 科技观察

更多信息请访问:与华为官方共建的鸿蒙技术社区https://ost.51cto。com示例演示1.相关权限配置权限列表ohos.permission.DISTRIBUTED_DATASYNC:分布式数据管理权限,允许不同设备之间进行数据交换。ohos.permission.GET_DISTRIBUTED_DEVICE_INFO:允许获取分布式网络中的设备列表和设备信息。权限语句在config.json文件的“reqPermissions”字段中声明所需的权限。如下:"reqPermissions":[{"name":"ohos.permission.DISTRIBUTED_DATASYNC","reason":"用于拉起分布式设备","usedScene":{"ability":[".MainAbility"],"when":"inuse"}},{"name":"ohos.permission.GET_DISTRIBUTED_DEVICE_INFO"}]向用户申请权限另外需要调用requestPermissionsFromUser()方法向用户申请权限MainAbility的onStart(),提示用户需要这个权限。publicclassMainAbilityextendsAceAbility{@OverridepublicvoidonStart(Intentintent){//获取分布式设备拉取权限String[]permissions={"ohos.permission.DISTRIBUTED_DATASYNC"};requestPermissionsFromUser(权限,0);super.onStart(意图);}@OverridepublicvoidonStop(){super.onStop();}}2.编写设备选择对话框这里参考分布式平板的对话框样式。{{title}}选择拉起设备{{$item.deviceName}}确定取消

。container{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;}.title{font-size:40px;color:#000000;opacity:0.9;}.operation_bar{width:100%;height:5%;flex-direction:row;background-color:#ffffff;}.share_button{width:30%;height:100%;right:20px;object-fit:none;}.select_device_dialog{width:70%;height:35%;}.select_device_wrapper{margin:5%;width:90%;height:90%;flex-direction:column;}.select_device_title{width:100%;height:20%;文本对齐:左;字体大小:20px;}.select_device_list{宽度:100%;高度:60%;文本对齐:左;字体大小:15px;}.select_device_item{宽度:100%;高度:33%;}.select_device_item_left{宽度:90%;高度:100%;文本对齐:左;font-size:16px;}.select_device_item_right{width:10%;高度:100%;}.choose_ok_or_not{高度:20%;宽度:100%;}.select_device_btn{文本对齐:居中;颜色:#0000ff;字体大小:16px;width:100%;}3.拉起设备获取网络设备列表调用FeatureAbility.getDeviceList(flag)接口获取设备列表参数:flag(默认0:获取网络中所有设备信息的列表).0:获取网络中所有设备信息的列表。1:获取网络中在线设备信息列表。2:获取网络中离线设备信息列表。返回值:结果:code:0:成功。非零:失败。data:failure:携带的错误信息,类型为string。成功:返回网络设备信息列表,类型为Array。DeviceInfo:networkId:网络ID。deviceName:设备名称。deviceState:设备状态。离线:离线。在线:在线。未知:未知。deviceType:设备类型。//获取并显示在线设备列表asyncshowDeviceList(){letret=awaitFeatureAbility.getDeviceList(0);this.deviceList=newArray();if(ret.code===0){for(leti=0;i