-
- All Implemented Interfaces:
-
org.altbeacon.beacon.InternalBeaconConsumer
@Deprecated() public interface BeaconConsumer implements InternalBeaconConsumer
An interface for an Android
Activity
orService
that wants to interact with beacons. The interface is used in conjunction withBeaconManager
and provides a callback when theBeaconService
is ready to use. Until this callback is made, ranging and monitoring of beacons is not possible. In the example below, an Activity implements theBeaconConsumer
interface, binds to the service, then when it gets the callback saying the service is ready, it starts ranging.public class RangingActivity extends Activity implements BeaconConsumer { protected static final String TAG = "RangingActivity"; private BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
{@literal @}
Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ranging); beaconManager.bind(this); }{@literal @}
Override protected void onDestroy() { super.onDestroy(); beaconManager.unbind(this); }{@literal @}
Override public void onBeaconServiceConnect() { beaconManager.setRangeNotifier(new RangeNotifier() {{@literal @}
Override public void didRangeBeaconsInRegion(Collectionbeacons, Region region) { if (beacons.size() > 0) { Log.i(TAG, "The first beacon I see is about "+beacons.iterator().next().getDistance()+" meters away."); } } }); try { beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null)); } catch (RemoteException e) { e.printStackTrace(); } } }