Ho modificato con successo l' app di implementazione di riferimento della Android Beacon Library utilizzando il seguente layout beacon , in modo che rilevi un dispositivo iBeacon che ho a portata di mano:
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);
}
}
Essendo nuovo agli interni dei pacchetti BLE, non sono sicuro che questo sia il layout corretto da usare. La libreria approva lo standard AltBeacon e la sua documentazione non menziona come rilevare i dispositivi iBeacon.
- Questo codice rileverà tutti i dispositivi iBeacon? cioè il
m:
prefisso è troppo restrittivo o è la giusta sequenza di byte che corrisponde alle specifiche iBeacon? - Allo stesso modo, il resto del layout corrisponde esattamente alle specifiche iBeacon?
Riferimento: