Bluetooth Pairing

Back in February 2020, I wrote about how location is becoming more complex in terms of privacy. The primary motivation around that post was that Bluetooth scans and pairing require ACCESS_LOCATION_FINE permission which can be confusing for the user. Why should an app that connects to a Bluetooth device require access to my location? The…

Bluetooth LE – Part 6

Previously in this series we’ve looked at the various steps that we need to take before we can begin to get temperature and humidity notifications from a TI SensorTag. In the final article in this series we’ll complete things by registering to receive notifications, and receiving them

Bluetooth LE – Part 5

Previously in this series we have discovered a BLE sensor and connected to it. All that remains is to actually get some data from it but that isn’t quite as straightforward as it may seem, at first. In this article we’ll look at GATT characteristics and how they facilitate data exchange between the host and…

Bluetooth LE – Part 4

Previously in this series we got basic BLE device discovery working for our app to display ambient temperature and humidity with values obtained from a TI SensorTag over BLE. In this article we’ll look at connecting to the SensorTag now that we can find it.

Bluetooth LE – Part 3

Previously in this series we’ve looked at some of the background of Bluetooth LE and set up a simple Activity / Service framework. In this article we’ll get in to the nitty gritty of Bluetooth LE and look at device discovery.

Bluetooth LE – Part 2

In the previous article we covered a bit of the background of Bluetooth LE and what we’re going to develop in this series, but there was no actual code. We’ll rectify that in this article and define the Service / Activity architecture that were going to use to ensure that we’re going to keep our…

Bluetooth LE – Part 1

At the time of writing, Google have just announced Android Wear, and Motorola announced the Moto 360 smart watch. The Wear APIs are still fairly basic, are quite well documented, and there are more to come, so I’m not going to write a tutorial on them (not yet, at least!). One interesting thing about the…