手机蓝牙APP扫描设备的时候异常断开(未完成)

时间:2024-02-18 13:39:20

1.手机蓝牙APP打开立马就出现异常,测试在公司有这个问题,在宿舍没这个问题,怀疑是公司设备太多,导致扫描空间不够,或者扫描到奇怪的设备。数组越界之类,明天用log看一下

2. 看样子出了一个error级别的错误,意思是不是说这个LeDeviceListAdapter.java的107行出现了一个异常?先找到这行代码

 1 if (device.isIbeacon) 
 2 {
 3     viewHolder.deviceMajor_Minor.setText("major:" + device.major
 4                     + ",minor:" + device.minor);
 5     viewHolder.devicetxPower_RSSI.setText(
 6                     device.rssi);
 7 } 
 8 else 
 9 {
10   viewHolder.devicetxPower_RSSI.setText("  rssi:" + device.rssi);
11 }

3.首先第一个问题,viewHolder是个什么东西?

ViewHolder通常出现在适配器里,为的是listview滚动的时候快速设置值,而不必每次都重新创建很多对象,从而提升性能。这次蓝牙需要扫描很多设备,需要列表的形式,用viewHolder不用每次都创建一个对象,是个好办法。

4. 在上面的地方,有一个判断是不是isIbeacon的地方,什么是isIbeacon?

iBeacon是苹果公司2013年9月发布的移动设备用OS(iOS7)上配备的新功能。其工作方式是,配备有 低功耗蓝牙(BLE)通信功能的设备使用BLE技术向周围发送自己特有的ID,接收到该ID的应用软件会根据该ID采取一些行动。比如,在店铺里设置iBeacon通信模块的话,便可让iPhone和iPad上运行一资讯告知服务器,或者由服务器向顾客发送折扣券及进店积分。此外,还可以在家电发生故障或停止工作时使用iBeacon向应用软件发送资讯。

5. 把这行代码屏蔽掉,启动正常,这次收货很多,主要是logcat的使用,很方便,很强大