If you have an app which natively pairs a sensor, if you uninstall the app, the paired sensors do not get removed. They still show up in the paired sensor list even though there is no app that can access them.
This is a big problem if you then re-install the same app. The app does not know the sensors are paired and cannot even check for this (see CIQQA-3596 Sensor.getRegisteredSensors() does not report CIQ native paired sensors ) If the app triggers pairing, even though the sensor may be discovered, onPair() is not called because the watch already thinks it is paired! This means as far as the app is concerned, the sensor is not paired and cannot be paired.
If you go into the watch settings, you can see that the sensor is paired from when the app was last installed, but of course the app does not know it is paired so users will think the app broken.
At least it is possible to manually unpair the sensor, and then it can be re-paired and the app will be informed, but this is unfriendly to say the least.
When an app in uninstalled, any sensors paired by that app should be removed so this issue does not occur.
As a side note, this makes me wonder what happens if a second app needs to access the same sensor. Will it be able to pair it again given it cannot tell it is paired already from another app. This would be needed if you have a glance app which wants to access a sensor, and a datafield to go along side this. I fear this is not going to be possible and is what I am planning on implementing. I may be logging another bug if this is the case!