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

The LISNR Team does not recommend receiving or demodulating tones when a user’s device is in the background due to microphone restrictions and priority structure for microphone access of the mobile platforms.

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/receiver reliability unless the application is brought intentionally to the foreground each time the microphone access is started and finished.

Did this answer your question?