我有一个发出温度和湿度的蓝牙信标。我创建了一个android应用程序,它能够从信标接收数据,例如ID,地址等。
但是没有显示温度值。怎么做? 我是否需要添加任何其他方法,函数,变量?
代码附在下面。预先感谢
tx1.setText("ID1:"+beacon.getId1());
tx2.setText("ID2: "+beacon.getId2());
tx3.setText("ID3: "+beacon.getId3());
tx5.setText("BLE Addr: "+beacon.getBluetoothAddress());
tx6.setText("Distance: "+beacon.getDistance());
tx7.setText("Manufacturer: "+beacon.getManufacturer());
tx8.setText(""+beacon.getDataFields());
Log.d("beacon123",""+beacon.getDataFields());
String b= String.valueOf(beacon.getDataFields());
Toast toastt = Toast.makeText(context,"" +b, duration);
toastt.show();
我正在通过显示以下数据的nRF android应用程序读取信标
答案 0 :(得分:0)
这里可能存在许多问题。
方法beacon.getDataFields()
返回一个数组。尝试使用beacon.getDataFields().get(0)
请确保您的信标支持AltBeacon格式并在传输的最后一个字节中对温度进行了编码,或者您正在使用信标的格式创建BeaconParser。
如果使用Eddystone格式,则需要确保启用了遥测功能,为Eddystone-TLM设置了BeaconParser,然后从g etExtraDataFields()