如何获取 Onyx ibeacons 的电池电量
How to get battery level of Onyx ibeacons
我正在使用 altbeacon library.And I use onyxBeacon ibeacons. I examine this and this post。但它对我不起作用。
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' return 相同的值。
如何从信标获取电池电量?
没有标准的方法来获取 iBeacon 的电池电量。 Kontakt 等一些制造商在广播结束时将电池电量存储在一个额外的字节中,这是对于您引用的 post 为真。但是,这并不适用于所有制造商。
获取信息的另一种常见方式是使用专有的可连接蓝牙 LE 服务。目前尚不清楚您使用的信标是否具有此功能。即使他们这样做,您也需要能够从制造商处获得 public API 才能弄清楚如何去做。如果制造商不发布此信息,那么除非您可以自己进行逆向工程,否则您就不走运了。
同样,每个制造商都是不同的,因此您必须为每种信标类型找到不同的解决方案。
我正在使用 altbeacon library.And I use onyxBeacon ibeacons. I examine this and this post。但它对我不起作用。
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' return 相同的值。 如何从信标获取电池电量?
没有标准的方法来获取 iBeacon 的电池电量。 Kontakt 等一些制造商在广播结束时将电池电量存储在一个额外的字节中,这是对于您引用的 post 为真。但是,这并不适用于所有制造商。
获取信息的另一种常见方式是使用专有的可连接蓝牙 LE 服务。目前尚不清楚您使用的信标是否具有此功能。即使他们这样做,您也需要能够从制造商处获得 public API 才能弄清楚如何去做。如果制造商不发布此信息,那么除非您可以自己进行逆向工程,否则您就不走运了。
同样,每个制造商都是不同的,因此您必须为每种信标类型找到不同的解决方案。