2016-06-30 35 views
0

Ist es möglich, Beacons basierend auf partieller UUID zu erkennen? Um einen Beacon mit einer bestimmten UUID zu identifizieren, sagen wir '08282922101291283379816fdae', verwenden wir Identifier.parse ('08282922101291283379816fdae'). Ich versuche die ersten 3 Werte als Firmenkennung zu verwenden und möchte nur firmenspezifische Beacons erkennen. Also meine Frage ist, können wir für Beacons überwachen, die mit einer UUID beginnt, sagen "007" unabhängig von dem Rest der UUID?Ist es möglich, Beacons basierend auf partieller UUID zu erkennen?

Jede Hilfe wäre sehr geschätzt, Danke!

Antwort

0

Wenn Sie die Android Beacon Library verwenden, können Sie dies tun, indem Sie ein benutzerdefiniertes Beacon-Format definieren, das einen vierten Bezeichner angibt, der Ihr UUID-Präfix ist. Der einzige Trick besteht darin, dass Sie dies nur tun können, indem Sie ein oder mehrere Bytes marschieren. Wenn Sie also ein Präfix von 0070 oder 00 verwenden könnten, könnten Sie 007 nicht finden, weil es 1,5 Byte ist. (Sie könnten jedoch 16 verschiedene Regionen einrichten, die 0070, 0071, 0072, ... 007F entsprechen, was dasselbe wie 007 erreichen würde).

Hier ist ein Beispiel mit AltBeacon. Das gleiche wäre auch mit anderen Beacon-Layouts möglich:

beaconManager.getBeaconParsers().clear(); 
beaconManager.getBeaconParsers().add(new BeaconParser("AltBeacon with two-byte prefix identifier").setBeaconLayout("m:2-3=beac,i:4-5,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25")); 
... 
Region region = new Region("Any UUID starting with 0070", Identifier.parse("0x0070", 2), null, null);