The leading library for detecting beacons on Android.
What Does This Library Do?
It allows Android devices to use beacons much like iOS devices do. An app can request to get notifications when one or more beacons appear or disappear. An app can also request to get a ranging update from one or more beacons at a frequency of approximately 1Hz. It also allows Android devices to send beacon transmissions, even in the background.
What kinds of beacons does it detect?
The library can easily be configured to detect iBeacon, Eddystone and other beacon formats. By default, it detects beacons meeting the open AltBeacon standard See the documentation for the BeaconParser class for more info.
Android 10, 9 and 8 Support
Library versions 2.16+ fully supports Android 4.3-10.x. Android 10 has a new location permission model that requires beacon apps to make changes to target SDK version 29+. See the request permission page for more info.
Existing apps that use library version 2.12 older versions must upgrade in order to detect in the background on Android 8+ devices. Read more information here.
Who uses this library?
Over 16,000 mobile applications use the Android Beacon Library, including some of the world’s biggest brands. These apps have over 350 million installations.
What devices can detect beacons?
Any device with Android 4.3+ and a Bluetooth Low Energy chipset can detect beacons with this library. As of September 2019, this is approximately 97 percent of Android devices according to the Google Play Store.
To transmit as a beacon, Android 5+ and firmware supporting Bluetooth Low Energy Peripheral Mode are required.
Covid Contact Tracing Beacon Support
The library supports both advertising and detection of the Exposure Notification Service beacon standard announced by Apple and Google. You can read more about that here. The following beacon layout works with library version 2.7+ to transmit and detect this format:
The library provides full support for the Eddystone™, format from Google. The library will wake up your app when it detects Eddystone-compatible beacons in the background and provides regular ranging updates while they are in the vicinity. Eddystone-UID (identifier frame), Eddystone-TLM (telemetry frame) and Eddystone-URL (URL frame) are all detected and decoded. Details are here. Eddystone-EID Support is described here.