1
我希望應用只在「立即」範圍內看到信標。在其中一篇文章中(我沒有鏈接),我讀了諸如Immediate/Near/Far之類的字符串與altbeacon或其他類似的字符,因此建議使用beacon.getDistance() < 0.5
來實現遠程信標。但不幸的是我沒有任何線索如何實現。Altbeacon - 僅在IMMEDIATE範圍內檢測到信標,並丟棄此範圍以外的任何信息
我試着用一篇文章提出的以下代碼來找到最短距離的信標,但似乎無法正常工作(最有可能是因爲波動的rssi和通過將信標保持在相距很近的距離進行測試)知道爲什麼他們要min = Integer.MAX_VALUE
....但我期待ATLEAST一些結果)
public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
Object[] beaconArray = beacons.toArray();
//find the beacon with shortest distance
int count=-1; //when no beacon is there
int min = Integer.MAX_VALUE;
for (int i=0; i < beaconArray.length; i++){
int d=((Beacon)beaconArray[i]).getRssi();
if(d < min){
min=d;
count=i; //1st beacon in the array
}
}
//play with the beacon at the shortest distance
uuid = ((Beacon)beaconArray[count]).getId1().toString();
一些技巧將是一個祝福我。