Android-Indoor-SDK icon indicating copy to clipboard operation
Android-Indoor-SDK copied to clipboard

Not receiving location updates using UWB location beacon

Open ankushpatel18 opened this issue 6 years ago • 3 comments

Prerequisites

  • [X ] Put an X between the brackets on this line if you have done all of the following:
    • My beacons have Estimote Location packet enabled (Check it in the Estimote Cloud, or via app)
    • My Android device/devices support BLE and has Android OS version >= 5.0.0
    • My Android device/devices have bluetooth enabled
    • My app has Location Permissions granted

Basic information

Estimote SDK version: [2.1.0]

Android devices affected: [LG Nexus 5X]

Android OS version affected: [Android OS version Oreo 8.1.0]

Beacon hardware version: [I1.2]

Description

I am not getting position updates in IndoorLocationManagerBuilder.setOnPositionUpdateListener Beanons are placed and location and map is created, location manager is configured with same location and credentials still unable to get any location updates on device movements.

Steps to reproduce:

  1. Created empty Android project and added estimote library dependency.
  2. Configured activity by following all steps given at https://github.com/Estimote/Android-Indoor-SDK
  3. Added onStart and onStop callbacks as given in SDK.
  4. Tested application on multiple devices with different Android versions but not getting location updates.

Expected behavior: onPositionUpdate(LocationPosition) function should call on location updates of device in given map using location UWB beacons.

Actual behavior: Not getting any updates.

(Optional) Additional information

Add here any logs you want to attach, or any other info, like pictures for example

// JAVA cloudCredentials = new EstimoteCloudCredentials("My app id here", "I have added my api key here"); IndoorCloudManager cloudManager = new IndoorCloudManagerFactory().create(this, cloudCredentials); cloudManager.getLocation("android-bay", new CloudCallback<Location>() { @Override public void success(Location location) { // do something with your Location object here. // You will need it to initialise IndoorLocationManager! indoorLocationView = (IndoorLocationView) findViewById(R.id.indoor_view); indoorLocationView.setLocation(location);

            indoorLocationManager =
                    new IndoorLocationManagerBuilder(MainActivity.this, location, cloudCredentials)
                            .withDefaultScanner()
                            .build();

            // JAVA
            indoorLocationManager.setOnPositionUpdateListener(new OnPositionUpdateListener() {
                @Override
                public void onPositionUpdate(LocationPosition locationPosition) {
                    indoorLocationView.updatePosition(locationPosition);
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(MainActivity.this, "Movement", Toast.LENGTH_SHORT).show();

                        }
                    });

                }

                @Override
                public void onPositionOutsideLocation() {
                    indoorLocationView.hidePosition();
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(MainActivity.this, "--Movement", Toast.LENGTH_SHORT).show();

                        }
                    });
                }
            });

        }

        @Override
        public void failure(EstimoteCloudException e) {
            // oops!
        }
    });

ankushpatel18 avatar Mar 07 '18 07:03 ankushpatel18

I have the same problem also. Please fix it. Find my log cat attached. log.txt

jack-le-nus avatar Mar 19 '18 01:03 jack-le-nus

Hi @ankushpatel18, @jack-le-nus; I'm sorry for delayed response; we've been very busy last days.

First of all - please check the latest indoor SDK version - 2.3.0 (implementation 'com.estimote:indoorsdk:2.3.0') Latest version contains several fixes and greatly improves positioning accuracy.

@ankushpatel18 - Jut to ensure some common pitfalls are excluded from the picture:

  • Are you checking if runtime permissions are granted before starting indoorLocationManager? Code snippet you provided does not contains such checks ;)
  • Just to ensure - are you calling indoorLocationManager. startPositioning() ? Can't see it in code snippet you provided
  • Could you go to Estomote cloud and ensure that Location packets are enabled for your beacons?

@jack-le-nus - Attached logcat point to some ugly NullPointer exception in our implementation - we'll try to reproduce and fix it as soon as possible.

Regards Wojtek

wafel82 avatar Mar 19 '18 07:03 wafel82

Hi @wafel82, I followed your guidelines, indoorLocationManager really works and can update positioning but cant draw animation and keep throwing this error "W/Animator: Bad value (NaN) in float animator".

jack-le-nus avatar Mar 21 '18 05:03 jack-le-nus