When an iOS BLE peripheral enters the background state, the advertising packets are not emitted in the regular manner and they are placed in a special “overflow” area which is only detectable by another iOS device explicitly looking for this device.
That said, you should be aware that advertising while your app is in the background operates differently than when your app is in the foreground. In particular, when your app is advertising while in the background:
• The CBAdvertisementDataLocalNameKey advertisement key is ignored, and the local name of peripheral is not advertised.
• All service UUIDs contained in the value of the CBAdvertisementDataServiceUUIDsKey advertisement key are placed in a special “overflow” area; they can be discovered only by an iOS device that is explicitly scanning for them.
Is there any way an Android central (scanner) can detect any advertised custom UUID without having to connect to the iOS peripheral?