我正在使用altbeacon库。我使用onyxBeacon ibeacons。我检查了this和this帖子。但它不适合我。
public void onBeaconServiceConnect() {
beaconManager.setRangeNotifier(new RangeNotifier() {
@Override
public void didRangeBeaconsInRegion(final Collection<Beacon> beacons, Region region) {
if (beacons.size() > 0) {
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// MyCustomFunction();
}
});
}
for (Beacon b : beacons) {
long batteryLevel = b.getDataFields().get(0);
}
}
});
}
'batterylevel'返回相同的值。 如何从灯塔获得电池电量?
答案 0 :(得分:2)
没有标准的方法可以获得iBeacon的电池电量。像Kontakt这样的制造商在广播结束时将电池电量存储在一个额外的字节中,这对于发布你的信息是正确的参考。但是,这对所有制造商都不起作用。
另一种获取信息的常用方法是使用专有的可连接蓝牙LE服务。目前还不清楚你使用的信标是否具备此功能。即使他们这样做,您也需要能够从制造商那里获得公共API以找出如何做到这一点。如果制造商没有发布这个,那么除非你自己进行逆向工程,否则你运气不好。
同样,每个制造商都不同,因此您必须为每种信标类型找到不同的解决方案。