Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can a HTC advertise itself as a BLE Beacon?

Ive been doing some work around BLE and iBeacons. At present I'm aware that you can turn your iPhone into an iBeacon but I have not come across any details of whether this is possible with an Android phone - specifically a HTC One as that the one I've got ;)

Any advice, details or web links on this matter would be appreciated,

Thanks,

Steve

like image 210
user1673554 Avatar asked Dec 01 '22 15:12

user1673554


1 Answers

Android devices have a public APIs to transmit BLE advertisements only starting with Android 5.0. You would need to install this operating system on your HTC One to do this in a regular app. I have made an app that transmits with the intellectual property-free AltBeacon standard, and put it in the Play Store here.. Source code is available here. Again, you need Android L for this to work.

Alternatively, Android 4.4.3 also has hidden APIs that allow transmitting BLE advertisements. Building a transmitter app against 4.4.3 has three challenges:

  1. You must manually compile a special version of the Android SDK from source to unlock the hidden APIs so you can build your app.

  2. The permissions needed to transmit in 4.4.3 require system privileges,
    So you have to root your phone to install it in as special location. This makes it impractical to distribute such an app in the Play Store.

  3. A bug in 4.4.3 limits the length of advertisements to one byte less than needed to transmit a 20 byte beacon identifier and a one byte reference tx power value. This means you have to leave off that latter field making it impossible to "range" or estimate distance to the transmitter from other devices.

like image 120
davidgyoung Avatar answered Dec 10 '22 11:12

davidgyoung