Git Product home page Git Product logo

kontakt-android-sdk's People

Contributors

jakubkontakt avatar lwkontakt avatar michaldrabik avatar robertbielas avatar sbobowiec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kontakt-android-sdk's Issues

How to switch dynamically from monitoring to ranging and vice-versa

Hi,
In our application we need for background notifications when app is in the beacon region. From your documentation we found that in ranging passivePeriod should set to 0 and in monitoring passivePeriod should set to more than 2 seconds. So in monitoring Android device stays idle for ScanPeriod.passivePeriod. But we want immediate updates from the beacon when user moves within the range of beacon proximity. and also ranging don't work when app is in background.
So we want to run the app in ranging mode when app is in foreground and we want to switch into monitoring mode when app is in background mode. our question is
Please provide the code to dynamically switching from monitoring to ranging and vice-versa?
Thanks and regards,
subbu

Far beacon detecting first before immediate beacon

We are developing application using kontakt sdk for detecting kontakt beacons. We placed two beacons one in immediate proximity (1m) and another in far proximity (10m). We observed that far beacon detecting first before immediate beacon. we configured with the following code

beaconManager = BeaconManager.newInstance(this.getApplicationContext());
beaconManager.setMonitorPeriod(MonitorPeriod.MINIMAL);
beaconManager.setForceScanConfiguration(ForceScanConfiguration.DEFAULT);
beaconManager.setDistanceSort(BeaconDevice.DistanceSort.ASC);
beaconManager.registerMonitoringListener(this.regionManager);

Far beacon detecting first but immediate beacon detecting after some time ( after 2-10 seconds).
We need solution that we always require to detect immediate beacon first.

Application crashes if bluetooth service on turned off when the application is running

You should handle a situation when bluetooth service is turned off when the application is running. Now the application crashes immediately. You can see in the stack trace the reason:

06-09 10:51:07.205 16112-16148/com.xxxx.app E/AndroidRuntime﹕ FATAL EXCEPTION: monitor-message-consumer-thread
Process: com.xxxx.app, PID: 16112
java.lang.IllegalStateException: BT Adapter is not turned ON
at android.bluetooth.le.BluetoothLeUtils.checkAdapterStateOn(BluetoothLeUtils.java:136)
at android.bluetooth.le.BluetoothLeScanner.stopScan(BluetoothLeScanner.java:145)
at com.kontakt.sdk.android.factory.RunnersL$1.run(RunnersL.java:62)
at com.kontakt.sdk.android.manager.MonitorController$Consumer.run(MonitorController.java:99)
at java.lang.Thread.run(Thread.java:818)

I think you agree that this is blocker and should be fixed immediately. Perhaps adding a try / catch in the run might do the trick...

What is the difference between onBeaconsDiscovered in ranging and onBeaconsUpdated in monitoring

We are developing app using kontakt sdk for multiple beacons detection. We can connect to the beacons in two ways via Monitoring and ranging.
We developed two POC's one related to monitoring and another one related to ranging.
We need to show distance from current device(mobile) to beacon while user moving inside the room.
From sdk we found that onBeaconsDiscovered in ranging gives the detected beacons information i.e RSSI, TXPower etc. through List. Similarly while monitoring onBeaconsUpdated gives the list of detected beacons information.
Is any difference between these two? In our application we always require distance between mobile and beacons.

We observed that these events not firing after some time. But we need to update distance when user moves from one location to another location.

Please provide solution for us.

DEVICE_LOST always called directly after DEVICE_DISCOVERED in SDK 2.0.0

I migrated my project from SDK 1.0.6 to 2.0.0 and now I experience extrem problems concerning the detection that a beacon isn't in reach anymore.
As soon as I use ActivityCheckConfiguration (I tried it with several value combination) directly after a beacon was discovered the DEVICE_LOST event is sent for the previously discovered beacon.
It's always the combination first DEVICE_DISCOVERED after that DEVICE_LOST.
The configuration I used is attached below.
When I use ActivityCheckConfiguration.DISABLED, DEVICE_LOST is never called, which is not an alternative, since I need to know when a beacon is out of reach.

SDK 1.0.6 worked better in this part. I use an Nexus 4 with the newest Android Version. I wrap the SDK in my own Service in my project.

Please tell what the problem is. Currently SDK 2.0.0 is not usable for me.

ActivityCheckConfiguration myActivityCheckConfiguration = new ActivityCheckConfiguration(TimeUnit.SECONDS.toMillis(10), TimeUnit.SECONDS.toMillis(2));

scanContext = new ScanContext.Builder()
.setScanMode(ProximityManager.SCAN_MODE_LOW_LATENCY)
.setScanPeriod(new ScanPeriod(TimeUnit.SECONDS.toMillis(5), TimeUnit.SECONDS.toMillis(2))) // scan, sleep
.setForceScanConfiguration(ForceScanConfiguration.DISABLED)
.setActivityCheckConfiguration(myActivityCheckConfiguration) //test
.setIBeaconScanContext(new IBeaconScanContext.Builder()
.setDevicesUpdateCallbackInterval(TimeUnit.SECONDS.toMillis(1))
.setDistanceSort(DistanceSort.DESC)
.build()
).build();

Wrong Battery power

The battery power for Beacon device sometimes gives -1 value for the battery power

REST API Issue

I have been developing a small program to update my beacons' settings through my Android device (no access to any iOS devices atm). As stated in the docs, the REST api should be used to update the settings for the kontakt.io panel.

I have implemented REST calls that return "update successful" upon modifying certain values for the beacons, however as I log into the panel, the values have not changed.

Note that that values on the actual beacons HAVE changed, and that I execute the api calls from a custom AsyncTask that is called from the onWriteSuccess methods whenever a setting is overwritten. How can I properly update the values on the web panel?

Example url to update tx power:
"https://api.kontakt.io/device/update?&deviceType=beacon&tx_power=4&uniqueId=tk4t"

With added headers:
"Accept", "application/vnd.com.kontakt+json;version=5"
and API Key

Android integration

Hello,

We have received the beacons and our Android engineers are trying to integrate the beacons with our android app.

Our engineers have used the steps on http://docs.kontakt.io/android-sdk/2.0.0/quickstart/

But they have encountered the following integration errors. Can you please assist us by forwarding to relevant team.

:app:validateDebugSigning
:app:packageDebug
Error: duplicate files during packaging of APK D:\AndroidStudio\DiscoveryBLE\app\build\outputs\apk\app-debug-unaligned.apk
Path in archive: main/AndroidManifest.xml

Origin 1: D:\AndroidStudio\DiscoveryBLE\app\build\intermediates\exploded-aar\com.kontakt.sdk.android\kontakt.io-ble-sdk\2.0.0\classes.jar

Origin 2: D:\AndroidStudio\DiscoveryBLE\app\build\intermediates\exploded-aar\com.kontakt.sdk.android\kontakt.io-android-sdk\2.0.0\classes.jar

FAILED

Regards,
J

Xamarin Support

Hi

Do you have Xamarin bindings for your Android SDK? iOS is fine as it is complient with iBeacon but I am stumped for Android. I have tried to do the bindings myself but am coming up short.

Conflict Jar file with jcifs.jar file

Hi, I am trying to integrate beacon with my app that is having exchange server communication facility . I am trying to add "android.sdk.1.0.6.jar" and "coresdk1.0.6.jar" jar file in my app But it is conflict with my existing jar file "jcifs.jar" . I can not do exchange server work with out "jcifs.jar" as it is important for my app . Now when I am trying to add "coresdk1.0.6.jar" and "android.sdk.1.0.6.jar" I can not run my app and it is showing multiple dex file . Please help me!

jsifc.jar file is used for communicate with ms exchange server.

this is the error

Unable to execute dex: method ID not in [0, 0xffff]: 65536
[14:42:50] Abakasha Panda: Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

This came when I added "android.sdk.1.0.6.jar" and "coresdk1.0.6.jar".

My app is already having "jcifs.jar" for exchange server use.

dawidgdanski answered this:

Hey @vminfra you exceeded magic limitation of 2^16 of methods in your app. To solve the problem you either must enable MultiDex in your application or use ProGuard.

This was the result.

I used proguard then enable multidex but its not working....
If I remove "jcifs.jar" then its running but not able to communicate with exchange server without this jar file so I am using this.

How about using 2.0.0 SDK version?

Once I add all file I am not getting the BeaconManager class

and it is showing same error like before ...multiple dex

After adding 2.0.0 all jar files I am getting below problem

kontakt

Kontakt Panel Bug

I believe there is a small bug when logging into the Kontakt panel: I have log in twice every time to gain access to the panel. (On first try the login page refreshes without an error message)

Sorry, I couldn't find anywhere else to post this.

Expose readRemoteRssi

It'd be useful to be able to read the rssi while connected to the beacon. It looks like readRemoteRssi should take care of that, would be nice to have some access to that instead of just an empty implementation in the onReadRemoteRssi portion of the GattCallback.

Duplicate files error

I tried both the ways mentioned in the tutorial on this link: http://docs.kontakt.io/android-sdk/2.0.0/quickstart/#latest-version. I also tried integrating the SDK libraries manually from here: https://github.com/kontaktio/Android-SDK/. I also tried this solution mentioned in link: http://stackoverflow.com/questions/20827885/android-studio-0-4-duplicate-files-copied-in-apk-meta-inf-license-txt

Here is the error I am getting:


Error:Execution failed for task ':app:packageDebug'.

Duplicate files copied in APK main/AndroidManifest.xml

File 1: /Users/tarikachawla/AndroidStudioProjects/vault-app/SecureVault-Android/app/build/intermediates/exploded-aar/com.kontakt.sdk.android/kontakt.io-api-client/2.0.0/jars/classes.jar

File 2: /Users/tarikachawla/AndroidStudioProjects/vault-app/SecureVault-Android/app/build/intermediates/exploded-aar/com.kontakt.sdk.android/kontakt.io-common-sdk/2.0.0/jars/classes.jar

I would really appreciate your help.

App crash if Bluetooth is off (some devices)

Hello the app crash on some devices if the BlueTooth is turned off on start/install. (But not on all of test devices.) It runs fine on Samsung S5 but crash on HTC One. SDK 1.0.6

    final BeaconManager beaconManager = BeaconManager.newInstance(this);
    beaconManager.setMonitorPeriod(new MonitorPeriod(TimeUnit.SECONDS.toMillis(50L), TimeUnit.SECONDS.toMillis(50L)));
            beaconManager.setForceScanConfiguration(ForceScanConfiguration.DEFAULT);
    beaconManager.registerMonitoringListener(new BeaconManager.MonitoringListener() {

        @Override
        public void onMonitorStart() {

            System.out.println("onMonitorStart");
        }

        @Override
        public void onMonitorStop() {

            System.out.println("onMonitorStop");
        }

        @Override
        public void onBeaconsUpdated(Region region, List<BeaconDevice> beaconDevices) {
            System.out.println("onBeaconsUpdated");

            for (int i = 0; i < beaconDevices.size(); i++) {
                System.out.println(beaconDevices.get(i).getProximityUUID());
            }

        }

        @Override
        public void onBeaconAppeared(Region region, BeaconDevice beaconDevice) {
            System.out.println("onBeaconAppeared");
        }


        @Override
        public void onRegionEntered(final Region region) {
            System.out.println("onRegionEntered");
        }

        @Override
        public void onRegionAbandoned(final Region region) {
            System.out.println("onRegionAbandoned");
        }
    });

    try {
        beaconManager.connect(new OnServiceBoundListener() {
            @Override
            public void onServiceBound() {
                try {
                    Region region = new Region(UUID.fromString("XXXX-XXX-..-...-XXX"), XXXX, XXX);
                    Set<Region> set = new HashSet();
                    set.add(region);
                    beaconManager.startMonitoring(set);
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
        });
    } catch (RemoteException e) {
        throw new IllegalStateException(e);
    }

Can't change monitor period after connecting to beacon service

setMonitorPeriod, setBeaconActivityCheckConfiguration and other configuration settings can only be provided before calling beaconManager.connect(). After this, I can't change period times although it would be reasonable to monitor beacons more often and more rarely under certain circumstances. Unfortunately I must recreate new beaconManager instance, because disconnecting and connecting again raises an error (my other issue). Is this a bug? What is the proper way to change configuration dynamically?

How to Set a region to monitor ?

My use case scenario is i want to implement an attendance app for which i am using onRegionEntered() and onRegionAbandoned() functions.

I have already changed the UUID of my cloud beacons from web panel but still i am getting the old UUID for the region and major minor 0.

Beacon detection inconsistancy

Currently we are building app in both android and iOS using kontakt sdk for detecting Kontakt Beacons. Its working fine times and not working some times. There is inconsistency in beacons detection. Please provide solution. Thanks in advance.

Eddystone beacon get Action

I am trying to get an eddystone beacon action throw the this code:

DevicesApiAccessor devicesApiAccessor = new KontaktApiClient();

devicesApiAccessor.getActionsForDevice(proximityUUID, major, minor, new ResultApiCallback() {
@OverRide
public void onSuccess(HttpResult result) {

}

@OverRide
public void onFailure(ClientException e) {

}
});

but it always return this:
java.lang.IllegalStateException: Invalid http status: 404 (Resource not found). Result is null

Ranging/monitoring results are inconsistent after upgrade to 2.00 and Eddystone

Hi,

I've been using the previous version of android sdk for ibeacons without any problems. Recently I've decided to give eddystone a try and updated my beacons as well as the sdk. The results of scanning are now very inconsistent even though the android device and beacons are right next to each other. For some scans I only get onScanStart and onScanStop called and no onEvent. Other times I'm seeing only SPACE_ENTERED events. From time to time BLE devices are found and DEVICE_DISCOVERED is emitted but no DEVICES_UPDATE. Another strange behaviour is ranging (active period = 5000, passive period = 0) is going on forever and never calls onScanStop.
To see if my configuration is at fault here I downloaded and started the kontakt-beacon-admin-sample-app. The results are unfortunately similarly strange. When using eddystone monitoring a list of some (about 2 out of 5) beacons appears after a few minutes and then quickly disappears. Sometimes beacon data is clearly wrong (temperature, distance and power is 0.0) which may point to hardware problems. I will try reverting to ibeacon later to see if it makes any difference.

My scan configuration is:
new ScanContext.Builder()
.setEddystoneScanContext(EddystoneScanContext.DEFAULT)
.setScanMode(ProximityManager.SCAN_MODE_BALANCED)
.setForceScanConfiguration(ForceScanConfiguration.DEFAULT)
.setScanPeriod(new ScanPeriod(5000, 10000))
.build()
And my device is Moto G with Android 5.0.2.

Any advice on what could be causing the issues?

Thanks

kontakt Smart Beacons gives wrong distance

Hi,

we are using Kontakt Smart Beacons to locate user distance from door via beacon (Both in iOS and Android).

we are using latest iOS SDK (6.0) and Android SDK (2.0) to locate beacon distance. We get two readings "accuracy" and "proximity" which we are considering to calculate distance from Beacon.

Even if I am near the beacon the "accuracy" and "proximity" values keeps on fluctuating very often. Is that the expected behaviors, for eg: Accuracy ranges between 0.4 - 5.5 at the same spot.

Please let us know if "accuracy" is the parameter of distance from beacon ? If so what is the measure - Meters / Feets ?

Also, at time we get accuracy as negative value, what does that imply ?

Thanks

Android SDK 2.0.0 - proguard configuration

Hi,

I have integrated your SDK in version 2.0.0. That's work fine on debug mode, but I can not compile in release one, with proguard minified.
I have tried add some keep and dontwarn options for your SDK, but I did not found the true configuration.
Could you help me to proguard your library ?

Thanks,
Gaël

Unable to set only UUID to IBeaconRegion in Android SDK 2.0.0

Hi.

I have one problem. I making an app, and I need to set region for scanning, and I need to limit scanning only on specified UUID beacons. However, I can't find anything which will allow me that, because IBeaconRegion constructor must be filled with major and minor value also, and I don't need those values to effect my region scanning. I am counting on SPACE_ENTERED and SPACE_ABANDONED event types to do my magic.

I have tried with setting filters just on UUID, but that didn't get me any benefits.

Do you have any proposal for my problem?

Best regards.

Issue with setDistanceSort

[...]
mBeaconManager.setDistanceSort(DistanceSort.ASC);

[...]
public void onBeaconsUpdated(final Region region, final List beacons) {
int pos = 0;
for(BeaconDevice beacon:beacons) {
Log.wtf("BeaconList", "Pos: "+pos+ " Minor: "+ beacon.getMinor() + " Distance: " + beacon.getAccuracy());
pos ++;
}
...

Result in this:

Pos: 0 Minor: 1074 Distance: 1.440510248595126 <- OK
Pos: 1 Minor: 1059 Distance: 3.967965270075985 <- Hum?
Pos: 2 Minor: 1084 Distance: 2.038887307946296 <- RLY?

why did this happen?

RunnersL.java line 84 IllegalStateException

java.lang.IllegalStateException: BT Adapter is not turned ON
at android.bluetooth.le.BluetoothLeUtils.checkAdapterStateOn(BluetoothLeUtils.java:136)
at android.bluetooth.le.BluetoothLeScanner.startScan(BluetoothLeScanner.java:107)
at android.bluetooth.le.BluetoothLeScanner.startScan(BluetoothLeScanner.java:102)
at com.kontakt.sdk.android.factory.RunnersL$2.run(RunnersL.java:84)
at com.kontakt.sdk.android.manager.MonitorController$Consumer.run(MonitorController.java:95)
at java.lang.Thread.run(Thread.java:818)

BT is enabled. Exception seems to occur after exiting a region or when powering the device.
Using Nexus 5 running Android 5.1.

App crashes after integrating latest Android SDK

Hi There!
I have integrated latest Android SDK with my app and followed the steps outline in the documentation. I have also obtained my API Key. But for some reason my app crashes while initialising proximity manager (Crash log below). I am initialising proximity manager in a service which is started by my bluetooth broadcast receiver. The crash happens to be in ProximityManager connect function in onServiceConnected callback. I am not sure, what I am doing wrong. Really appreciate your quick help.
Best, Neeraj

8-13 00:06:30.783 5535-5535/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.xxxxxx.android.xxxxx:beaconservice, PID: 5535
java.lang.ClassCastException: android.os.BinderProxy cannot be cast to com.kontakt.sdk.android.common.interfaces.SDKSupplier
at com.kontakt.sdk.android.ble.manager.ProximityManager$1.onServiceConnected(ProximityManager.java:114)
at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1203)
at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1220)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

Android Application Sample not working

I have Kontakt beacons, and trying to use the code in the documentation and here to scan and display content on finding the beacon, but the problem is that the code provided is giving errors.

So please advise which part we can use to scan for beacons.

Beacon actions not working

Hi there,

I started playing around with the android SDK. I can read beacons and go nuts. I can also step into the lib code and see that my beacon's actions are fetched from the API but the actions are never executed.I have multiple actions on all my beacons to show images and open urls, yet nothing happens.

I followed the android quickstart and added all the required services and permissions.
Let me know if I can help debug?

SPACE_ENTERED/SPACE_ABANDONED fired multiple times for same region

Iam using sdk 2.0, i need to calculate time which user spent in some region, iam using space events but they are fired multiple times for same region. Iam using 2 test devices galaxy s4 and nexus5, and i have defined 3 regions (beacon config: tx power set to 2 and 350ms interval). Test device was laying down on the desk during test, distance was about 2.4 meters from nearest beacon (device was all the time in range of the same region but events were fired out of nowhere), below is my scan context config

final UUID PROXIMITY_UUID = UUID.fromString("f7826da6-4fa2-4e98-8024-bc5b71e08515");

final int major = 30700;
final int[] minors = {30711,30712,30714};


ArrayList<IBeaconRegion> regions = new ArrayList<>();

            for (int i = 0; i< minors.length; i++){
                regions.add(new BeaconRegion(PROXIMITY_UUID, major, minors[i]));
            }

IBeaconScanContext iBeaconScanContext = new IBeaconScanContext.Builder()
                    .setRssiCalculator(RssiCalculators.newLimitedMeanRssiCalculator(5))
                    .setEventTypes(EnumSet.of(EventType.SPACE_ENTERED, EventType.SPACE_ABANDONED)
                    .setDevicesUpdateCallbackInterval(TimeUnit.SECONDS.toMillis(1))
                    .setDistanceSort(DistanceSort.DESC)
                    .setIBeaconRegions(regions)
                    .build();



scanContext = new ScanContext.Builder()
                    .setScanMode(ProximityManager.SCAN_MODE_BALANCED)
                    .setScanPeriod(new ScanPeriod(TimeUnit.SECONDS.toMillis(7), TimeUnit.SECONDS.toMillis(3)))
                    .setForceScanConfiguration(ForceScanConfiguration.DEFAULT)
                    .setActivityCheckConfiguration(ActivityCheckConfiguration.DEFAULT)
                    .setIBeaconScanContext(iBeaconScanContext).build();

i have spent half day changeig beacon profile (tx power and interval) or scan peroids of scan context without any good result, on 2 test devices i always got the same result as below

Samsung Galaxy S4

09-24 16:56:08.175    4994-4994/? D/BEAR﹕ SCAN READY
09-24 16:56:33.199    4994-4994/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 16:56:33 24/09/2015 
09-24 16:56:43.179    4994-5483/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Pokój  DATE: 16:56:43 24/09/2015 
09-24 16:56:43.449    4994-4994/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 16:56:43 24/09/2015 
09-24 16:57:13.168    4994-5483/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Pokój  DATE: 16:57:13 24/09/2015 
09-24 16:57:18.583    4994-4994/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 16:57:18 24/09/2015 
09-24 16:57:37.832    4994-4994/? D/BEAR﹕ SPACE_ENTERED REG NAME: Sracz  DATE: 16:57:37 24/09/2015 
09-24 16:57:43.167    4994-5483/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Sracz  DATE: 16:57:43 24/09/2015 
09-24 16:59:19.662    4994-4994/? D/BEAR﹕ SPACE_ENTERED REG NAME: Sracz  DATE: 16:59:19 24/09/2015 
09-24 16:59:28.170    4994-5483/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Pokój  DATE: 16:59:28 24/09/2015 
09-24 16:59:28.180    4994-5483/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Sracz  DATE: 16:59:28 24/09/2015 
09-24 16:59:28.450    4994-4994/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 16:59:28 24/09/2015 
09-24 16:59:38.170    4994-5483/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Pokój  DATE: 16:59:38 24/09/2015 
09-24 16:59:38.360    4994-4994/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 16:59:38 24/09/2015 
09-24 17:01:28.177    4994-5483/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Pokój  DATE: 17:01:28 24/09/2015 
09-24 17:01:30.549    4994-4994/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 17:01:30 24/09/2015 
09-24 17:03:18.174    4994-5483/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Pokój  DATE: 17:03:18 24/09/2015 
09-24 17:03:19.586    4994-4994/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 17:03:19 24/09/2015 

LG Nexus 5
09-24 17:06:36.953    1505-1505/? D/BEAR﹕ SCAN READY
09-24 17:06:38.202    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 17:06:38 24/09/2015 
09-24 17:06:42.815    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Sracz  DATE: 17:06:42 24/09/2015 
09-24 17:06:51.966    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Sracz  DATE: 17:06:51 24/09/2015 
09-24 17:07:01.965    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Pokój  DATE: 17:07:01 24/09/2015 
09-24 17:07:03.389    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 17:07:03 24/09/2015 
09-24 17:08:20.395    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Sracz  DATE: 17:08:20 24/09/2015 
09-24 17:08:26.965    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Sracz  DATE: 17:08:26 24/09/2015 
09-24 17:08:27.837    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Sracz  DATE: 17:08:27 24/09/2015 
09-24 17:08:36.965    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Sracz  DATE: 17:08:36 24/09/2015 
09-24 17:08:43.086    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Sracz  DATE: 17:08:43 24/09/2015 
09-24 17:08:51.963    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Sracz  DATE: 17:08:51 24/09/2015 
09-24 17:09:08.353    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Sracz  DATE: 17:09:08 24/09/2015 
09-24 17:09:26.965    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Sracz  DATE: 17:09:26 24/09/2015 
09-24 17:09:36.796    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Korytarz  DATE: 17:09:36 24/09/2015 
09-24 17:09:39.525    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Sracz  DATE: 17:09:39 24/09/2015 
09-24 17:09:41.963    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Korytarz  DATE: 17:09:41 24/09/2015 
09-24 17:09:51.697    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Korytarz  DATE: 17:09:51 24/09/2015 
09-24 17:09:51.963    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Sracz  DATE: 17:09:51 24/09/2015 
09-24 17:09:56.965    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Korytarz  DATE: 17:09:56 24/09/2015 
09-24 17:10:01.637    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Korytarz  DATE: 17:10:01 24/09/2015 
09-24 17:10:06.963    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Korytarz  DATE: 17:10:06 24/09/2015 
09-24 17:10:21.966    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Pokój  DATE: 17:10:21 24/09/2015 
09-24 17:10:22.136    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 17:10:22 24/09/2015 
09-24 17:10:36.963    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Pokój  DATE: 17:10:36 24/09/2015 
09-24 17:10:41.656    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 17:10:41 24/09/2015 
09-24 17:10:46.965    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Pokój  DATE: 17:10:46 24/09/2015 
09-24 17:10:47.338    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 17:10:47 24/09/2015 
09-24 17:10:56.965    1505-2137/? D/BEAR﹕ SPACE_ABANDONED REG NAME: Pokój  DATE: 17:10:56 24/09/2015 
09-24 17:10:57.652    1505-1505/? D/BEAR﹕ SPACE_ENTERED REG NAME: Pokój  DATE: 17:10:57 24/09/2015 

Is this a right behaviour of android sdk ? How to overcome this problem ?

Eddystone beacon proximity and distance

Greetings kontaktio team,
Great work but I have an issue that I am working with IBeacons and Eddystones trying to make monitoring on all of them the IBeacons values (proximity, distance) changing reasonably according to the distance between the mobile and the IBeacon (and I think the distance is measure by meters)
but for the Eddystones the proximity not changing and it is always takes value FAR but the distance changes when the Eddystones get far or near (and I think the distance in Eddystones is measured by centimeters)
I am using android SDK 2.0

Can't connect to Beacon firmware version 3.1 Android

Hi,
I'm currently working with the SDK V1.0.6 on Android and was having no problem connecting and updating information on Kontakt Beacons. Recently I've aquired some new Beacons (also from Kontakt) and since then I've been unable to do it.

After some Debugging I've observed that the new Beacons have firmware version 3.1 and the old ones V.2.6, which seems to be the case. Also, after monitoring, the new beacons (BeaconDevice) sometimes come without uniqueId, and even when they come with it, on trying to connect it raises an AuthenticationFailure and the failure code shown is FAILURE_UNKNOWN_BEACON.

I've also tested it with your app for Android (Kontakt.io Management App) and it seems that the new ones take much more time to connect and sometimes even fail to do it, whereas the old one seems to be working fine.

I'm aware of the new version of the SDK but I'm using the old one due to compatibility.

Do you know what could be happening?

Regards

Which event will fire when user exits completly from beacon region.

Hi,
We are developing app using kontakt.io beacons and latest sdk( 2.0.0). "SPACE_ENTERED" event firing when user enters into beacon region. Which event fires when user completely exits from the beacon region. We tried with SPACE_ABANDONED event but firing even app is in the beacon proximity i.e firing even when there is no movement with in the region.
How to know user (device or App) exited from the beacon region completely?
Thanks in advance.
Regards,
subbu

Region Appearing again and again

I am working on Beacon application. I have created a service that runs at background and started it with START_STICKY. The problem I am facing is in registerMonitoringListener . My onRegionAbandoned and onRegionEntered methods are getting called again and again when I am range of beacons. My worry is when I am in range onRegionEntered should be called once and thats it and onRegionAbandoned top be called when I move out of it. But when I am in range both the functions are getting called again and again. Is this the normal behaviour or else I am doing anything wrong.

Timestamp

The timestamp value is recorded only at the first contact with the beacon and it doesn’t update as the other values of beacon (eg. Rssi, proximity, etc.).
For update the timestamp we have to exit from the activity and to launch a new scan.
The timestamp function update is provided in your SDK for Android ?
I use BeaconManager and void onBeaconsDiscovered
An example on BeaconRangeActivityunder ui, activity of kontakt-beacon-admin-sample-app

Out of memory error

Hi,

I am developing an app using your sdk, and I have a crash on samsung devices. The exception is not passing through any of my classes, so I am not sure when it happens.

I'm using the 1.0.6 version of the kontakt sdk.

The Beacon manager is used into a start service. I have a BroadcastReceiver listening for bluetooth status to start if bluetooth is on or stop the service if bluetooth is off.

Here is the crash log :

Android: 4.4.2
Manufacturer: samsung
Model: SM-N9005
Date: Mon Jul 06 13:20:51 AEST 2015

java.lang.OutOfMemoryError: pthread_create (stack size 16384 bytes) failed: Try again
    at java.lang.VMThread.create(Native Method)
    at java.lang.Thread.start(Thread.java:1029)
    at com.kontakt.sdk.android.manager.ForceScanController.start(ForceScanController.java:55)
    at com.kontakt.sdk.android.manager.AbstractBeaconService.startForceScanModeIfEnabled(AbstractBeaconService.java:320)
    at com.kontakt.sdk.android.manager.AbstractBeaconService.access$200(AbstractBeaconService.java:35)
    at com.kontakt.sdk.android.manager.AbstractBeaconService$MessagingHandler.handleMessage(AbstractBeaconService.java:416)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:157)
    at android.app.ActivityThread.main(ActivityThread.java:5335)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
    at dalvik.system.NativeStart.main(Native Method)

Here is the initialisation of the manager in the service.

beaconManager = BeaconManager.newInstance(beaconManager.setMonitorPeriod(MonitorPeriod.MINIMAL);
        beaconManager.setForceScanConfiguration(ForceScanConfiguration.DEFAULT);
        BeaconMonitoringListener beaconMonitoringListener = new BeaconMonitoringListener();
        beaconManager.registerMonitoringListener(beaconMonitoringListener);

In case it can have any impact, I have done a work around to prevent a null pointer exception after calling beaconManager.stopMonitoring(); and then calling beaconManager.startMonitoring();
It seems to happens because after calling stopMonitoring() the message queue of the beaconManager is null.

public void pauseMonitoring (){
    if (beaconManager != null){
        beaconManager.stopMonitoring();
    }
}

public void startMonitoringBeacon() {
    if (beaconManager == null){
        initBeaconManager ();
    }

    if (beaconManager.isBluetoothEnabled()) {
        if (getBeaconManager().isConnected()) {
            try {
                beaconManager.startMonitoring();
                displayBeaconMonitoringMessage (true);
            } catch (RemoteException e) {
                e.printStackTrace();
            } catch (NullPointerException exc){
                connect();
            }
        } else {
            connect();
        }
    }
}

public void connect() {
    try {
        beaconManager.connect(new OnServiceBoundListener() {
            @Override
            public void onServiceBound() {
                try {
                    beaconManager.startMonitoring();
                    displayBeaconMonitoringMessage (true);
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
        });

    } catch (RemoteException e) {
        throw new IllegalStateException(e);
    }
}

Let me know if you need more info.

Thanks by advance.

Callback events not being fired consistently

We are working on making an app that corresponds with your beacons (to do some stuff), but our app depends heavily on the beacon. What we observed is that sometimes the events are fired and everything works well, sometimes the events are not raised at all (I see the beacons in the bluetooth devices in settings screen though). I'm using Android 4.4.4. Are there any known causes and/or workarounds for this?

Beacon distance inconsistancy

We are using Kontakt sdk for detecting beacons in our applications. We observed that distance not showing correctly. Its varying every time even though we are in same place ( with out moving ).

Unable to update Smart Beacons to firmware v3.0

Hi,

We are using Smart Beacons for one of our projects both in iOS and Android platform.

Recently on logging in Kontakt web panel, under devices section there is a green info button showing an v3.0 firmware update available for all smart beacons.

Currently our beacons have Firmware Revision - 2.6 and Hardware Revision - 2.2

We are following this link to update smart beacons

https://support.kontakt.io/hc/en-gb/articles/201508431-How-to-check-and-upgrade-your-Smart-Beacon-firmware

On iPAD app after entering Admin Mode it is showing no update available and "Update" button on top right is disabled.

We have make sure that we are in close range of beacons and we are able to see list of beacons successfully but update button is disabled and there is no update icon appearing in the list.

Please let us know how to update the smart beacons to latest firmware and also is there any other way to update the beacon firmware ?

Thanks

Service stops monitoring when app is destroyed from task manager

Hello,
I tried working with the default foreground/background scan activity provided with the sample app, problem is whenever I close the app from the task manager the notifications for "scan started" and "scan stopped" stop showing up but the service still shows up among running processes in the app manager. I need the service to continue scanning on the background even if the app is killed. Please help me achieve this
N.B: I have tried calling startService() in onDestroy method of the activity, the service runs till i kill the app from the task manager.

onRegionEntered(Region region) firing continuously

In our app we observed that onRegionEntered(Region region) and onRegionAbandoned(Region region) calling firing continuously even though we are in same location. In our application region enter and region abandoned are very important. Please provide solution.

Signal interval

We are using following code for beacon configuration
beaconManager = BeaconManager.newInstance(this.getApplicationContext());
beaconManager.setMonitorPeriod(MonitorPeriod.MINIMAL);
beaconManager.setForceScanConfiguration(ForceScanConfiguration.DEFAULT);
beaconManager.setDistanceSort(BeaconDevice.DistanceSort.ASC);
beaconManager.registerMonitoringListener(this.regionManager);
We are setting monitor period as MonitorPerion.MINIMAL;
What would be the best monitor period for improving beacon detection accuracy?

Sleep mode

Hi,

I'm interested to know how the sdk handles android device going into sleep mode. Will it pause monitoring/ranging or try to keep it alive by acquiring wake lock?

Thanks :)

dalvikvm﹕ Could not find class 'android.bluetooth.le.ScanSettings$Builder', referenced from method com.kontakt.sdk.android.ble.service.ScanCompat.createScanConfiguration

Hi guys, me again :)

I have faced with this error, and two more others:
dalvikvm﹕ Could not find class 'android.bluetooth.le.ScanSettings$Builder', referenced from method com.kontakt.sdk.android.ble.service.ScanCompat.createScanConfiguration
dalvikvm﹕ Could not find class 'android.bluetooth.le.ScanSettings$Builder', referenced from method com.kontakt.sdk.android.ble.service.ScanCompat.createScanConfiguration

I don't know why, but I know that I was able to use library before, and now I am getting these 3 errors, and scanning couldn't be started. Problem is on http://www.gsmarena.com/lenovo_a8_50_a5500-6281.php device. I have tested it on Nexus 5, and Samsung Galaxy S6 Edge, and is working fine, I could even say fantastic.

Do you have any idea what could go wrong?

Thanks in advance.

Beacon detection issues in Ranging

With the help of ranging (onBeaconsDisovered()) I am trying to detect beacons. When I have 4 beacons in the vicinity method return me 4 beacons but when I have turned off any 3 beacons practically I suppose to receive only 1 beacon which is in the vicinity but unfortunately with the help onBeaconsDiscovered() I am receiving 4 beacons.

Can you please do let us know due to what cause this is happening?
Thanks in advance

Conflict Jar file with jcifs.jar file

Hi, I am trying to integrate beacon with my app that is having exchange server communication facility . I am trying to add "android.sdk.1.0.6.jar" and "coresdk1.0.6.jar" jar file in my app But it is conflict with my existing jar file "jcifs.jar" . I can not do exchange server work with out "jcifs.jar" as it is important for my app . Now when I am trying to add "coresdk1.0.6.jar" and "android.sdk.1.0.6.jar" I can not run my app and it is showing multiple dex file . Please help me!

jsifc.jar file is used for communicate with ms exchange server.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.