2017-09-25 1 views
0

Guten Tag. Tut mir leid, mein Englisch ist schlecht. Ob prompt es die Möglichkeit gibt, die Region der Bicons nicht auf UUID zu bestimmen, und darauf ist ein Teil. Zum Beispiel haben wir zwei Regionen:IBeacon. Benutzerdefinierte Filterregionen

1 - UUID = 57547265-7261-772e-636f-6c0054000000

2- da nur der volle Teil ist (wahrscheinlich ist dies die vierte letzte Gruppe) - 6c001137e000

Kann ich in meiner Methode nur einen Filter nur für die letzte UUID-Gruppe angeben?

Zum Beispiel:

List<string> listUuids =new List<string>() 
      { "57547265-7261-772e-636f-6c0054000000" , "6c001137e000" }; 

    for (int i = 0; i <listUuids.Count; i ++) 
     { 
     var uuid = Identifier.Parse (listUuids [i]); 
     var region = new Region ("R" + i, uuid, null, null); 
     beaconManager.StartRangingBeaconsInRegion (region); 
     } 

Ich würde wirklich zu schätzen wissen alle Antworten! Beste Grüße!

Antwort

0

Sie können dies mit einem benutzerdefinierten Beacon Parser tun. Wie folgt aus:

BeaconManager.GetBeaconParsers().clear(); BeaconMannager.GetBeaconParsers().add(new Beacon parser().setBeaconLayout("m:2-3=0215,i:14-19,i:4-13,i:20-21,i:22-23,p:24-24"); var region = new Region("partial UUID region", Identifier.parse("0x6c001137e000"), null, null)

Die obige benutzerdefinierte Parser definiert vier Bezeichner für ein IBeacon Paket. Der erste Bezeichner ist die letzte 6 Byte der UUID. Die zweite Kennung ist die erste 10 Byte der UUID. Der dritte und der vierte Identifikator sind der Major bzw. der Moll.

Die oben definierte Region passt zu jedem Beacon, das den angegebenen letzten 6 Byte der UUID entspricht.

+0

Danke! Ich werde es versuchen – OlegS