J'ai modifié avec succès l' application d'implémentation de référence de la bibliothèque Android Beacon en utilisant la disposition de balise suivante , afin qu'elle détecte un appareil iBeacon que j'ai sous la main:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
beaconManager.getBeaconParsers().add(new BeaconParser().
setBeaconLayout("m:0-3=4c000215,i:4-19,i:20-21,i:22-23,p:24-24"));
beaconManager.bind(this);
}
}
Étant nouveau dans les composants internes des paquets BLE, je ne suis pas sûr que ce soit la bonne disposition à utiliser. La bibliothèque approuve le standard AltBeacon et sa documentation ne mentionne pas comment détecter les périphériques iBeacon.
- Ce code détectera-t-il tous les appareils iBeacon? c'est-à-dire que le
m:
préfixe est trop restrictif ou est-ce la bonne séquence d'octets qui correspond à la spécification iBeacon? - De même, le reste de la mise en page correspond-il exactement à la spécification iBeacon?
Référence:
Réponses:
Cela a fonctionné pour moi: "m: 2-3 = 0215, i: 4-19, i: 20-21, i: 22-23, p: 24-24"
Je ne pense pas que vous ayez besoin de faire correspondre la partie 4c00 car c'est l'identifiant du fabricant, vous pouvez donc probablement le laisser de côté et commencer par m: 2-3 = 0215 Tout le reste semble correct et cela semble fonctionner.
la source
m:2-3=0215
changement est effectivement nécessaire.setBeaconLayout
?Vous pouvez télécharger la spécification iBeacon (cliquez sur "Télécharger l'illustration et les spécifications").
Dans la version actuelle, l'ID d'entreprise doit être
0x4C00
et le type de balise doit l'être0x0215
. Tous les autres champs sont obligatoires et comme vous l'avez spécifié.Alors oui, vous avez tout à fait raison et il détectera toutes les iBeacons conformes.
OT: Il précise également que l'intervalle de publicité doit être de 100 ms, mais je doute sérieusement que toutes les iBeacons s'en tiennent à cela.
la source