我需要從kontakt.io信標中獲取電池電量。我已經設置瞭如下的佈局,當我讀取RangingBeaconsInRegion中的信標時,DataFields爲空。如何使用AltBeacon API從Kontakt.io信標中獲取電池電量
我在等Kontakt.io文檔中描述的期望能夠從最後一位讀取電池電量。
這是我當前的代碼:
private BeaconManager InitializeBeaconManager()
{
BeaconManager bm = BeaconManager.GetInstanceForApplication(Xamarin.Forms.Forms.Context);
var iBeaconParser = new BeaconParser();
iBeaconParser.SetBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25");
bm.BeaconParsers.Add(iBeaconParser);
_rangeNotifier.DidRangeBeaconsInRegionComplete += RangingBeaconsInRegion;
bm.Bind((IBeaconConsumer)Xamarin.Forms.Forms.Context);
return bm;
}
void RangingBeaconsInRegion(object sender, RangeEventArgs e)
{
if (e.Beacons.Count > 0)
{
var beacon = e.Beacons.FirstOrDefault();
var data = beacon.DataFields.FirstOrDefault();
// here DataFields is empty!
}
}
我使用Xamarin形式,這是針對Android版本的代碼。
這可能嗎?還是我需要使用Kontakt.io API?
UPDATE
我已經刪除了所有的解析器之前應用新的佈局,我能夠讀取數據域。但是,我得到一個價值,我不知道這個值是什麼意思。
可能重複的[如何獲取Kontakt ibeacons的電池級別](http://stackoverflow.com/questions/25885659/how-to-get-battery-level-of-kontakt-ibeacons) – SushiHangover
我看到了類似的問題但我得到的問題是,在應用新佈局之前,我沒有清理所有的** BeaconParser **。請參閱@davidgyoung回答 – gjfonte