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

viewpage 下的 XPGWifiDevice连接问题

3

主题

8

帖子

69

积分

注册会员

Rank: 2

积分
69
跳转到指定楼层
楼主
发表于 2015-11-23 10:49:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
教您5分钟接入机智云,实现傻瓜式开发
目前开发这遇到这样个问题   我的是有多个设备需要同时登陆,并且采用的是viewpage  中放置多个fragment  每个设备一个fragmeng   如果一个账号  如果已经绑定了两个设备了  直接进去可以两个设备都连接    但是  如果目前我要配置一个设备 我进入到配置页面  配置完成  并且在配置页面绑定设备成功   并且将刚刚绑定的设备XPGWifiDevice加入到我全局的一个list中, 然后发送广播重新   原来的页面接收广播后重新采用setadapter的方法去设置adapter   此时  刚刚配置的那个设备  就再也连接不上了 但是   重新启动app  是可以的  我后来调试  出 说  listener为空    但是我明明在登陆之前设置完  XPGWifiDevice.setListener(new XPGWifiSDKListener());  后 然后去执行设备的登陆    结果就是连接不了 该怎么弄呢?

27

主题

235

帖子

1053

积分

金牌会员

Rank: 6Rank: 6

积分
1053
沙发
发表于 2015-11-23 11:31:47 | 只看该作者
你先确定你自己 app 设置的 listener 有没有问题,可以打日志跟踪下。

3

主题

8

帖子

69

积分

注册会员

Rank: 2

积分
69
板凳
 楼主| 发表于 2015-11-23 16:46:00 | 只看该作者
XPGWifiDeviceListener listener=new XPGWifiDeviceListener(){
        /** @deprecated */
        public void didDisconnected(XPGWifiDevice device) {
            _didDisconnected(device);
        }

        public void didDisconnected(XPGWifiDevice device, int result) {
            _didDisconnected(device, result);
        }

        public void didLogin(XPGWifiDevice device, int result) {
            _didLogin(device,result);
        }

        public void didReceiveData(XPGWifiDevice device, ConcurrentHashMap<String, Object> dataMap, int result) {
            _didReceiveData(device,dataMap,result);
        }

        public void didDeviceOnline(XPGWifiDevice device, boolean isOnline) {
            _didDeviceOnline(device,isOnline);
        }

        protected void didSetSwitcher(XPGWifiDevice device, int result) {
            _didSetSwitcher(device,result);
        }

        public void didUpdateDeviceLog(XPGWifiDevice device, ConcurrentHashMap<String, Object> logInfo) {
            _didUpdateDeviceLog(device,logInfo);
        }

        public void didQueryHardwareInfo(XPGWifiDevice device, int result, ConcurrentHashMap<String, String> hardwareInfo) {
            _didQueryHardwareInfo(device, result, hardwareInfo);
        }
    };  
private void setListener(){
        if (currentDevice!=null){
            currentDevice.setListener(listener);
        }
    }
我是这样设置的啊

3

主题

8

帖子

69

积分

注册会员

Rank: 2

积分
69
地板
 楼主| 发表于 2015-11-23 16:47:28 | 只看该作者
我只在fragment中设置这个  因为每个fragment就是对应一个设备  这样可以为当前的设备设置listener啊

45

主题

92

帖子

507

积分

高级会员

Rank: 4

积分
507
5#
发表于 2015-11-24 14:43:37 | 只看该作者
注册成为机智云开发者,手机加虚拟设备快速开发
你listener 初始化在哪初始化的啊?onresume么?

3

主题

8

帖子

69

积分

注册会员

Rank: 2

积分
69
6#
 楼主| 发表于 2015-11-24 21:30:56 | 只看该作者
我在  onActivityCreated中初始化的   一开始是这样的  然后我又试了另外一种情况  在执行CmdCenter.getInstance().bindDevice(uid,token,did,passcode,remark);  之前再次初始化  这两种都不行   
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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