All Collections
LISNR in the Background
LISNR in the Background

Can my mobile device detect or broadcast LISNR Tones in a mobile application that is in the background?

Warren Williams avatar
Written by Warren Williams
Updated over a week ago

LISNR’s SDK for mobile platforms has the ability to listen or broadcast in the background if the functionality is initialized in the foreground. The LISNR SDK can not control or guarantee uninterrupted access to the user’s microphone or speaker and therefore can not continuously listen/broadcast reliably for long periods of time. Other applications can take away access to the microphone/speaker if they are brought to the foreground and can cut off an application using the LISNR SDK that is utilizing the microphone/speaker in the background.

The LISNR Team does not recommend receiving or broadcasting tones when a user’s device is in the background. We would only recommend using LISNR in the background in certain circumstances where the backgrounded device (if mobile/mPOS) is specifically for merchant operations and not a personal device which would minimize the possibility of speaker/microphone access being interrupted.

Android Specific Restrictions

In Android, microphone access is shared amongst all applications on the device and certain types of apps receive higher priority for microphone access. Android classifies applications into two categories:

  • "Ordinary" apps are installed by the user.

  • "Privileged" apps come pre-installed on the device. These include the Google Assistant, and all accessibility services.

The LISNR SDK will most likely be installed/integrated into an “ordinary” app and beginning with Android 10, a priority structure determines which applications can obtain and hold microphone. The rules of this structure that are applicable are as follows:

  • Privileged apps have higher priority than ordinary apps.

  • Apps with visible foreground UIs have higher priority than background apps.

  • Two ordinary apps can never capture audio at the same time.

  • If two background apps of same priority are capturing audio, the last one started has higher priority.

Due to each of these cases, LISNR can not guarantee microphone/speaker reliability unless the application is brought intentionally to the foreground each time the microphone/speaker access is started and finished.

Did this answer your question?