Android Beacon Library

An Android library providing APIs to interact with Beacons

Home Download Quick Start Sample Code Docs Support

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 5.0 devices to send beacon transmissions, even in the background.

What kinds of beacons does it detect?

The library may be configured to detect a wide variety of beacons. By default, it detects beacons meeting the open AltBeacon standard, but it can be easily configured to work with the most popular beacon types on the market. See the documentation for the BeaconParser class for more info. Eddystone is fully supported, with details shown in the Eddystone section below.

Android 8 Support

Library version 2.12 introduces a new scanning mechanism compatible with Android 8 power saving restrictions. Apps that use the library will need to upgrade to version 2.12 in order to detect in the background on Android 8 devices. Read more information here.

Who uses this library?

Over 4,000 mobile applications use the Android Beacon Library, including some of the world’s biggest brands. These apps have over 150 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 August 2017, this is approximately 92 percent of Android devices according to the Google Play Store.

To transmit as a beacon, Android 5.0+ and firmware supporting Bluetooth Low Energy Peripheral Mode are required.

Eddystone Support

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.