簡體   English   中英

使用AltBeacon在Android上檢測Kontakt Beacon的正確布局

[英]Correct layout to detect Kontakt Beacon on Android with AltBeacon

我正在嘗試使用以下BeaconLayout檢測Kontakt Beacon:

setBeaconLayout("m:8-9=0215,i:10-13,i:14-15,i:16-17,i:18-25"));

但我似乎沒有正確地做到這一點。 廣告包結構如下:

在此輸入圖像描述

提前致謝。

感謝@davidgyoung評論,我終於可以使用以下代碼檢測我的Kontakt信標:

public class MainActivity extends Activity implements BeaconConsumer {

protected static final String TAG = "RangingActivity";
BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);        
    beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25"));
    beaconManager.bind(this);    
}

@Override
public void onBeaconServiceConnect() {
      beaconManager.setRangeNotifier(new RangeNotifier() {
            @Override 
            public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
                if (beacons.size() > 0) {
                    Log.d(TAG, "The first beacon I see is about "+beacons.iterator().next().getDistance()+" meters away.");     
                }
            }
            });

            try {
                beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null));
            } catch (RemoteException e) {   }
}

請注意,我使用的是2.2版Kontakt信標,它與上面發布的版面不同。

您的beaconLayout存在一些問題:

  1. beaconLayout字符串中的字節偏移量以制造商數據(您顯示的表中的字節6)開頭,因此您需要從所有偏移量中減去6。

  2. 該表顯示信標中只有三個標識符,但beaconLayout字符串有四個。 注意,第一個標識符長度為16個字節。

如果你使用它,請發布你使用的正確beaconLayout。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM