我有一个发出温度和湿度的蓝牙信标.我创建了一个安卓应用程序,它能够从信标接收数据,例如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 安卓应用程序读取信标,该应用程序显示以下数据
身份证数据
制造商编号温度
这里可能存在许多问题。
-
该方法
beacon.getDataFields()
返回一个数组。 尝试获取第一个数据字段beacon.getDataFields().get(0)
-
确保您的信标支持 AltBeacon 格式并在传输的最后一个字节中编码温度, 或者您正在使用信标格式创建信标解析器.
如果使用 Eddystone 格式, 您需要确保遥测已打开, 为 Eddystone-TLM 设置信标解析器, 然后从
g etExtraDataFields()
访问温度