收藏官网首页
查看: 3501|回复: 5

关于获取设备列表问题

1

主题

5

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2015-5-25 14:50:40 | 显示全部楼层 |阅读模式
教您5分钟接入机智云,实现傻瓜式开发
每次打开app 获取设备列表必须通过[color=rgba(0, 0, 0, 0.74902)]XPGWifiSDK.sharedInstance().getBoundDevices(String uid,String token,String… specialProductKey);来获取设备吗,而且这个回调是同步回调,还是需要等待一段时间才会调用 [color=rgba(0, 0, 0, 0.74902)]XPGWifiSDKListener.didDiscovered(int result, List<XPGWifiDevice> devicesList)这个方法??

1

主题

5

帖子

17

积分

新手上路

Rank: 1

积分
17
 楼主| 发表于 2015-5-25 14:52:35 | 显示全部楼层
还有,当手机网络不佳的情况下,怎么判断XPGWifiDevice.write(String jsonData); 是否成功呢

8

主题

39

帖子

256

积分

版主

Rank: 7Rank: 7Rank: 7

积分
256
发表于 2015-5-25 21:21:24 | 显示全部楼层
XPGWifiSDKListener.didDiscovered是异步回调,同时获取网络和本地路由器的设备。远程的列表获取后会回调,发现了本地设备也会回调,所以该接口会回调多次,因为发现设备通过UDP广播的形式,因此设备回复一次,则回调一次。另外,XPGWifiDevice.write(String jsonData)方法,在设计上是需要设备收到以后回复一个实时状态的,一段时间内没收到回复则可判断为发送失败。此时可提示用户发送失败或后台重发。

1

主题

5

帖子

17

积分

新手上路

Rank: 1

积分
17
 楼主| 发表于 2015-5-26 11:04:01 | 显示全部楼层
碎羽 发表于 2015-5-25 21:21
XPGWifiSDKListener.didDiscovered是异步回调,同时获取网络和本地路由器的设备。远程的列表获取后会回调, ...

也就是说,比如用户开灯操作调用了write方法,我还需要计时,timeout来判断这个开关灯指令是否成功?

1

主题

5

帖子

17

积分

新手上路

Rank: 1

积分
17
 楼主| 发表于 2015-5-26 11:06:19 | 显示全部楼层
校园创客福利
如果没网络情况下调用XPGWifiSDK.sharedInstance().getBoundDevices(String uid,String token,String… specialProductKey); 方法
XPGWifiSDKListener.didDiscovered是不会有回调的吗- - 每次打开app 都要从网络上,或者路由器上获取设备吗?

27

主题

235

帖子

1053

积分

金牌会员

Rank: 6Rank: 6

积分
1053
发表于 2015-5-26 12:12:51 | 显示全部楼层
getBoundDevice() 是需要依赖网络的。这个函数,在任何情况(包括没有网络的情况)下都会确保至少有一个回调。当然,这个回调是包含主动上报的事件,所以会触发不只一次的回调。要判断完成,建议自己做个计时器判断即可。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

© 2011-2017 Gizwits ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表