Java源码示例:com.estimote.sdk.Region
示例1
/******** BeaconManager.RangingListener Implementation ********/
@Override
public void onBeaconsDiscovered(Region region, List<Beacon> list) {
Timber.i("Beacons discovered in region %s are %d ", region.getIdentifier(), list.size());
for (Beacon beacon : list) {
Timber.i(beacon.toString());
}
Beacon nearestBeacon = calculateNearestBeacon(list);
if (nearestBeacon == null) return;
Timber.i("Nearest beacon is " + nearestBeacon);
if (isSameAsTodayLatestEncounter(nearestBeacon)) {
Timber.i("Skipping encounter. Beacon is same as today's latest successful encounter");
} else {
performEncounter(nearestBeacon);
}
}
示例2
@Override
public void onBeaconsDiscovered(Region region, List<Beacon> list)
{
dataReceived();
for (Beacon beacon : list)
{
beaconDistances.put(getIdentifier(beacon), calculateDistance(beacon));
}
}
示例3
/******** BeaconManager.MonitoringListener Implementation ********/
@Override
public void onEnteredRegion(Region region, List<Beacon> list) {
Timber.i("Entered region %s. Starting ranging...", region.getIdentifier());
mBeaconManager.startRanging(region);
}
示例4
@Override
public void onExitedRegion(Region region) {
Timber.i("Exited region %s. Stopping ranging...", region.getIdentifier());
mBeaconManager.stopRanging(region);
RegisteredBeacon latestEncounterBeacon = getLatestEncounterBeacon();
if (latestEncounterBeacon != null &&
latestEncounterBeacon.uuid.equalsIgnoreCase(region.getProximityUUID().toString())) {
performCheckOutLatestEncounter();
}
}
示例5
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
beaconManager = new BeaconManager(this);
beaconManager.setRangingListener(new BeaconManager.RangingListener() {
@Override
public void onBeaconsDiscovered(Region region, List<Beacon> list) {
}
});
}
示例6
@Override
protected boolean connect() throws SSJFatalException
{
Log.i("Connecting to estimote beacons");
connected = false;
listener.reset();
listener.setIdMode(options.idMode.get());
region = new Region(options.region.get(), options.uuid.get() != null ? UUID.fromString(options.uuid.get()) : null, options.major.get(), options.minor.get());
Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(new Runnable()
{
public void run()
{
beaconManager = new BeaconManager(SSJApplication.getAppContext());
beaconManager.connect(EstimoteBeacon.this);
beaconManager.setRangingListener(listener);
beaconManager.setForegroundScanPeriod(200, 0);
//beaconManager.setBackgroundScanPeriod(200, 0);
}
}, 1);
long time = SystemClock.elapsedRealtime();
while (!_terminate && SystemClock.elapsedRealtime() - time < _frame.options.waitSensorConnect.get() * 1000)
{
try
{
Thread.sleep(Cons.SLEEP_IN_LOOP);
}
catch (InterruptedException e)
{
}
}
if (!connected)
{
Log.e("Unable to connect to estimote beacons");
}
return connected;
}