MalcolmC 发表于 2015-8-23 11:38:30

关于虚拟设备的绑定

bindDevice方法是用来绑定设备的,API上面是这么说的,
public void bindDevice(java.lang.String uid,
                     java.lang.String token,
                     java.lang.String did,
                     java.lang.String passCode,
                     java.lang.String remark)
看这情况,用到了uid和token,以及did应该是设备与用户的绑定;我今天遇到了特殊情况,这个方法再也不回调了,
我做的第一件事是调用解绑方法,结果失败,日志输出提示参数错误,这个我搞不懂
public void unbindDevice(java.lang.String uid,
                         java.lang.String token,
                         java.lang.String did,
                         java.lang.String passCode)

从服务器解绑设备

参数:

uid - 登录成功后得到的uid

token - 登录成功后得到的token

did - 待解绑设备的did

passCode - 待解绑设备的passCode(能得到就传,得不到可传null,SDK会内部尝试获取PassCode)

看这介绍,这个方法用到的参数跟binddevice的参数一样,只是数目少了一个,我调用这个解绑方法的时候也的确
是用的绑定方法里面的参数,没有任何改动,为何会提示参数错误呢

只是,我做绑定的时候用户是胡乱注册的,解绑的时候用的用户是别的,我知道这是不对的,但是事已至此,只能找个办法
解决。

我已尝试换个APP,重新将新的APP与这个设备绑定,这样,原先注册的用户应该不存在了吧?事实证明确实如此,因为我
之前有用我的手机号注册了一个用户,此次重新注册成功,但是用这个重新注册的用户调用绑定方法依然没有任何回调,日志
输出唯一的异常是
I/xpgc    (27955): 11:17:07 errorInfo_st BindDevice(char const*, char const*, devSimpleInfo_st): _XPGWiFiHttp.cpp:403 po
mia debug:
但群里技术人员告知我这是程序试图获取设备别名,设备别名不存在,这算个正常输出

问:我该向哪个方向尝试解决这个问题呢?或者有什么办法将以前注册的用户删除掉么?再或者怎么删除虚拟设备?我已尝试过删除
设备,没有找到怎么删除,还请各位大大指点迷津,不胜感激

dwli 发表于 2015-8-25 09:47:55

解释几点:
1,用户注册后,再用该用户登录,获取token;只有用户登录后再可以进行绑定和解绑,(注,解绑需对应同一用户下的绑定);
2,用户注册后不可删除,可以注册新的用户;
3,虚拟设备直接扫二维码获取passcode,二维码扫描成功后已经登录该设备--设备可控!

4,设备在APP中不能删除,设备列表是由SDK推送给APP,要想删除该设备,将该设备断电,然后重启APP,设备列表中不会有该设备;
5,建议重新注册用户,使用该用户登录,获取token,对设备列表中的设备绑定和解绑操作!

Tom 发表于 2015-8-24 20:29:02

调用绑定和解绑时,传入的参数是什么?具体调用相关的日志能提供一下吗?

MalcolmC 发表于 2015-8-25 10:01:54

Tom 发表于 2015-8-24 20:29
调用绑定和解绑时,传入的参数是什么?具体调用相关的日志能提供一下吗? ...

感谢您的参与,我的问题已经解决,具体问题还是出现在我自己的代码上,具体错误如下:
我个人偷懒,没有将设备解除绑定的操作放到Handler里面处理,导致根本收不到回调函数,抱歉耽误了您的时间和浪费了您的精力,另再次感谢您的参与

地方 发表于 2015-8-27 12:02:14

好专业,写代码的童鞋有兴趣可以尝试下:lol

NikoZheng 发表于 2015-8-28 10:47:13

专业!可以好好学习学习~~

Ferychen 发表于 2015-9-28 10:28:24

:lol学习了~~

ayuhi 发表于 2015-9-29 15:53:00

好专业的说~~
页: [1]
查看完整版本: 关于虚拟设备的绑定