Estimote / Android-Fleet-Management-SDK

Estimote Fleet Management SDK for Android
https://developer.estimote.com
MIT License
836 stars 451 forks source link

Monitoring not working correctly with changed UUID #101

Closed twanschik closed 9 years ago

twanschik commented 9 years ago

Hi, I changed the beacon UUID of my beacon using the iOS estimote app. Then i tested my android app which starts monitoring beacons using the newly assigned UUID like this:

beaconManager.startMonitoring(new Region("mybeaconIdentifier", newly_assigned_uuid, null, null);

When I leave the beacon and come back to it the following happens:

  1. onEnteredRegion is not triggered
  2. onEnteredRegion is triggered but the major and minor of the beacon are not correct. My code looks like this:
beaconManager.setMonitoringListener(new BeaconManager.MonitoringListener() {
            @Override
            public void onEnteredRegion(Region region, List<Beacon> beacons) {
                for (Beacon beacon : beacons) {
                    String uuid = beacon.getProximityUUID();
                    int major = beacon.getMajor();
                    int minor = beacon.getMinor();
                }
            }

            @Override
            public void onExitedRegion(Region region) {
                Log.d(TAG, "Exit beacon region");
            }
        });

Inspecting major, minor gives me

major = 100; minor = 206;

even though the major and minor should be

major = 6471; minor = 64155;

I confirmed that the beacon has these values set via many different apps as well as the estimote app itself.

When I change the UUID of the beacon back to the original one (the default UUID when beacons are shipped) my callback works as expected and I can retrieve the correct major and minor values.

I updated the beacon to use the latest firmware and motion sensor is switched off as well as secure UUID.

I appreciate any feedback.