We are developing a bluetooth low energy speaker with a microphone and several buttons on it — one of which is designed to activate Alexa. The user pairs the speaker with their iPhone and downloads our companion app. Upon pressing the Alexa button on the speaker, our app is notified of the button press via a GATT notification and should activate Alexa. We know how to accomplish this in the foreground, but it seems we are unable to access microphone input when our app is in the background. When we reached out to Apple regarding this issue, they said it was an intended security feature designed to prevent apps from activating the microphone in the background, and any workarounds would be considered security exploits, followed by our app and associated developer account getting banned and the vulnerability fixed.
At this point we gave up on using the microphone in the background, as we were unable to find any third party app that activated the microphone in the background. At most, we found apps that continued using the microphone when moved from the foreground to background, but we don't want our users to have to open up our app on their phone every time they want to use Alexa. However, recently it's been announced that Bragi is bringing Alexa capabilities to their headphones. Their implementation is extremely similar to what we'd like to be able to do, but we're not sure how they're accomplishing it given the restrictions Apple has placed on apps activating the microphone while in the background.
Can anyone (perhaps over at Amazon) advise us on whether the implementation we described (and Bragi claims to have coming out soon) is achievable, and if so, how? Thanks!