如何获得Onyx ibeacons的电池电量

时间:2016-01-04 16:14:16

标签: android ibeacon ibeacon-android altbeacon

我正在使用altbeacon库。我使用onyxBeacon ibeacons。我检查了thisthis帖子。但它不适合我。

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'返回相同的值。 如何从灯塔获得电池电量?

1 个答案:

答案 0 :(得分:2)

没有标准的方法可以获得iBeacon的电池电量。像Kontakt这样的制造商在广播结束时将电池电量存储在一个额外的字节中,这对于发布你的信息是正确的参考。但是,这对所有制造商都不起作用。

另一种获取信息的常用方法是使用专有的可连接蓝牙LE服务。目前还不清楚你使用的信标是否具备此功能。即使他们这样做,您也需要能够从制造商那里获得公共API以找出如何做到这一点。如果制造商没有发布这个,那么除非你自己进行逆向工程,否则你运气不好。

同样,每个制造商都不同,因此您必须为每种信标类型找到不同的解决方案。