Wish Proximity beacons wrapper Altbeacons

warwound

Expert
Licensed User
Longtime User
java.lang.NoClassDefFoundError: com.easibeacon.protocol.IBeaconProtocol$1

Hmm looks like a class in the native easibeacon library cannot be found.
The native easibeacon library is compiled into the b4a library so in theory must be present.

Can you clean the project and try to compile again?
Does any project that uses the easibeacon library work or do you get this error with all projects that use the easibeacon library?
 

Jmu5667

Well-Known Member
Licensed User
Longtime User

Hi Martin

I have both your examples and they work fine. I was trying to use in on Jellybean, wrong api level, so I now have on kitKat, and your examples work fine, not too sure about the battery level though. I am try to implement into an existing app but when I start the scan process I am not getting any results. The existing app uses BT serial port profiles, I cant imagine that it would have an effect though, I will keep at it an let you know how I am getting on.

Regards

John.

BTW, great lib, thanks very much.
 

warwound

Expert
Licensed User
Longtime User
easiBeacons updated to version 1.21

  • The IBeaconProtocol field named SCANNING_PERIOD has been removed.
    This will break existing code that uses this field.
    The field had no use though - it would enable you to read the default scanning period but writing to this field did not modify the default scanning period.
    IBeaconProtocol now has 2 new methods:
    • GetScanningPeriod
      Returns the scanning period for iBeacon discovery in milliseconds.
      Default value is 10000 millis.
    • SetScanningPeriod(ScanningPeriod As Int)
      Set the scanning period for iBeacon discovery in milliseconds.
      Default value is 10000 millis.
      Setting a new scanning period only takes effect when you next start a scan.
      Any currently active scan is not effected by the new scanning period.
  • The IBeacon now has 2 new methods:
    • GetRSSI
      Returns the RSSI level reported by android to the library when a beacon is detected.
    • SetRSSI(Rssi As Int)
      Sets the RSSI level.
      Of no real use unless you are creating your own IBeacon objects and need to set the RSSI level.

Other than the removal of the SCANNING_PERIOD field this update is backwards compatible with previous versions of the library.

Version 1.21 is attached to post #9 in this thread.

Martin.
 

foakgul

Member
Licensed User
Longtime User
Hello,

I'm testing this library with the 4 iBeacons I have from Kontakt.io. It seems to work pretty well overall. Some questions I have:

0) Why is scanning so slow? It takes about 15-20 seconds to find my beacons. Other BLE scanner apps find them instantly.
1) Once a beacon is found, how can I see its changing RSSI rapidly? Is it possible to call GetRSSI in a timer without scanning again?
2) Is GetProximity in meters? If so, why is it full integer and not show decimals, ie 3.2m
3) GetBattery shows 8% for my Kontakt beacons which I know is not true. Is it misinterpreted?

Thanks a lot!
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…