Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Bluetooth Low Energy - iBeacon

Recently I got a iBeacon device with the intention of creating Android Apps than can recognize it and use it. I'm new using bluetooth in Android Apps and there many things than I still don't know. Looking in the Internet and in this forum I found recommendations to use the Radius Networks' Android IBeacon Library but, alas, now it's no longer available:

https://github.com/RadiusNetworks/android-ibeacon-service

So I started by using the code shown in Android Developers' guide about Bluetooth Low Energy: https://developer.android.com/guide/topics/connectivity/bluetooth-le.html

Using this code I can detect the device, even connect to it, but I don't know how to get the Proximity Uuid and the Major and Minor values: the app shows a lot of Uuids from services and characteristics of the device, but none is the Proximity Uuid of the device.

Anyone could tell me how to get that data using the Android Bluetooth LE API, or help me to get the Radius Networks' Android iBeacon library for Eclipse and a guide to use it or sample showing how to use it?

Thank you.

like image 814
IgnatvsNovel Avatar asked Jul 23 '14 09:07

IgnatvsNovel


People also ask

Can iBeacon be used for Android?

All beacons, whether iBeacon, Eddystone or sensor beacons can be used with iOS and Android. The compatibility is achieved through the implementation of common Bluetooth standards on these mobile platforms.

What is Bluetooth Low Energy in Android?

Android provides built-in platform support for Bluetooth Low Energy (BLE) in the central role and provides APIs that apps can use to discover devices, query for services, and transmit information. Common use cases include the following: Transferring small amounts of data between nearby devices.

Is iBeacon a BLE?

iBeacon is a small-scale network device that uses Bluetooth Low Energy (BLE) and acts as a transmitter to detect and track smartphones.

Does iBeacon require Bluetooth?

On iOS, the Bluetooth LE APIs do require Bluetooth permission, and Apple sandboxed the Bluetooth functionality from iBeacon. In this way, detecting iBeacon must obtain Location permission and does not require Bluetooth permission.


1 Answers

EDIT/UPDATE:
It gets better.. AltBeacon !
Check the AltBeacon specifications

AltBeacon brings greater transparency to what a beacon transmits and how that data can be used by Android, Windows and other devices.


Why the Android iBeacon Library by RadiusNetworks is no longer available:

Vendors have started complying with guidelines set by Apple and have, as a result, been forced to ‘scrub’ their products of any references or connection between Android devices and their detection of iBeacon protocols.

Read more: Apple cracks down on iBeacon for Android
I think the best bet seems to be from somebody who has been using it, already has it, can share it with you, as from previous commits, you may not get every component - library, sample, service

Also: A note from the CEO for Android iBeacon Lib, RadiusNetworks

Now, coming to Proximity UUID and major, minors:
I have not found a direct way to get it, in terms of a parameter, though you can have a look at read major, minor, uuid of beacons in android and SensorTag using iBeacon Technology. In the latter, there is an indication of major, minor, uuid after iBeacon Service, however TI instruments might be the restriction.

In android, as an identifier.. you can recover the device addressby device.getAddress() of the beacon/for each BluetoothDevice device;.

like image 113
Pararth Avatar answered Sep 27 '22 16:09

Pararth