Interface BeaconConsumer


  • public interface BeaconConsumer
    An interface for an Android Activity or Service that wants to interact with beacons. The interface is used in conjunction with BeaconManager and provides a callback when the BeaconService is ready to use. Until this callback is made, ranging and monitoring of beacons is not possible. In the example below, an Activity implements the BeaconConsumer 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);
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_ranging);
              beaconManager.bind(this);
          }
    
          @Override
          protected void onDestroy() {
              super.onDestroy();
              beaconManager.unbind(this);
          }
    
          @Override
          public void onBeaconServiceConnect() {
              beaconManager.setRangeNotifier(new RangeNotifier() {
                @Override
                public void didRangeBeaconsInRegion(Collection beacons, 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();
              }
          }
      }
      
    See Also:
    BeaconManager
    • Method Detail

      • onBeaconServiceConnect

        void onBeaconServiceConnect()
        Called when the beacon service is running and ready to accept your commands through the BeaconManager
      • getApplicationContext

        Context getApplicationContext()
        Called by the BeaconManager to get the context of your Service or Activity. This method is implemented by Service or Activity. You generally should not override it.
        Returns:
        the application context of your service or activity
      • unbindService

        void unbindService​(ServiceConnection connection)
        Called by the BeaconManager to unbind your BeaconConsumer to the BeaconService. This method is implemented by Service or Activity, and You generally should not override it.
      • bindService

        boolean bindService​(Intent intent,
                            ServiceConnection connection,
                            int mode)
        Called by the BeaconManager to bind your BeaconConsumer to the BeaconService. This method is implemented by Service or Activity, and You generally should not override it.
        Returns:
        the application context of your service or activity