From 9966c69e301a041ad224ef08bc3da45ca249041d Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Wed, 26 Nov 2014 12:17:00 +0100 Subject: Document Android's caching of BTLE service data. It can be confusing. As more platforms are supported, this behavior needs to be verified too. The Bluez implementation does not exhibit this cache behavior. Change-Id: I42dd003f2ac2632c32e48b1b1784e4ca529950f3 Reviewed-by: Timur Pocheptsov Reviewed-by: Alex Blasche --- src/bluetooth/qlowenergycontroller.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/bluetooth/qlowenergycontroller.cpp') diff --git a/src/bluetooth/qlowenergycontroller.cpp b/src/bluetooth/qlowenergycontroller.cpp index d50c691d..906a6af1 100644 --- a/src/bluetooth/qlowenergycontroller.cpp +++ b/src/bluetooth/qlowenergycontroller.cpp @@ -570,6 +570,13 @@ void QLowEnergyController::disconnectFromDevice() If the controller instance is not connected or the controller has performed the service discovery already this function will do nothing. + + \note Some platforms internally cache the service list of a device + which was discovered in the past. This can be problematic if the remote device + changed its list of services or their inclusion tree. If this behavior is a + problem, the best workaround is to temporarily turn Bluetooth off. This + causes a reset of the cache data. Currently Android exhibits such a + cache behavior. */ void QLowEnergyController::discoverServices() { -- cgit v1.2.3