Understand that Beacons is a specific Bluetooth LE application. Bluetooth LE is a general-purpose broadband communication technology that can perform many functions, such as transferring sound to a speaker.
Low-level APIs, such as the built-in Bluetooth APIs and Apple CoreBluetooth , are designed for general-purpose bluetooth applications. They do not perform lighthouse-specific things, such as:
- decoding beacon identifiers
- estimation of distance to lighthouses
- determining when beacons appear and disappear
- launch applications or send beacon notifications
To accomplish these tasks, you need to either write your own software (which is error prone and spend time) or use a pre-built library of a higher level. For iOS devices, Apple has beacon capabilities built into the operating system with the CoreLocation API. Android does not have such a built-in library.
Since Android does not have a built-in library of beacons, other third-party developers created them. My company made the first in September 2013, which turned into the Android Beacon Library today.
Other companies that sell beacons often create their own libraries (some based on this open source library, and some not) to support proprietary features from their beacons or proprietary cloud services that build on them.
So, the answers to your last two questions:
Yes, the Android 4.3 Bluetooth Connectivity library can interrogate and find any iBeacon, but you will need to write a lot of code on top of this library for this to happen.
The advantage of using an additional library is that you do not need to write and debug all this code. You can focus on the logic that should go into your application and not spend all your time processing the low-level beacon.
Full disclosure: I am the chief engineer of Radius Networks and author of the Android Beacon library.
davidgyoung
source share