February 02, 2021
Things to know about using BSR on new phones in 2021
In comparison to version 4, Android 9 and above have the following limitations:
Since Android version 6 all background processes are being targeted for battery optimization. Anything that is not on the screen at the moment has to be stopped and thrown out of the RAM. The user is playing a game - only that game is using the CPU and memory, everything else should be frozen or stopped. The same is for screen-off mode – most apps should be stopped. This is done to improve battery charge saving. Any background proccesses should ‘wake up’ only on events from Android, for example, a messaging app would wake up from a message from FCM (Firebase Clould Messaging). Using FCM is a very complex task, so many background apps use a loophole instead: it is possible for them to stay working if they declare themselves as ‘foreground services‘ and post a special notification to the user. This is done for apps like music players, as they need to play music even if another app is in the forground or if the screen is turned off. So, the sound recorder apps also use this same loophole. That is why since Android 6, and especially since Android 9 (see below) it is required to turn on the foreground service mode and post the notification in order to use BSR as a background recorder. Fortunately for those who like to install BSR as a spying bug, it is possible to turn that foreground notification off in the notification tray settings. This does not affect the background service functionality.
No VOICE_CALL source for phone recordings
It used to work perfectly in Android 5, but since version 6, phone-call recordings can only be recorded from the microphone. The quality of the recording in this case depends on how the microphone and speaker are located in the phone. If they're next to each other, there's a high chance that the other party's voice will be picked up by the microphone along with the user's voice. Some other phones have problems with that - one party can appear silent on the recording. The only way to solve that is to use another phone model or root the phone and make BSR a system app, which will enable the VOICE_CALL source for recording.
Dead silence in recordings since Android 9
Since Android 9, Google decided to act hard on apps that spy on their users by completely unplugging the microphone from any background processes. It appears to be working, the BSR app doesn't complain, doesn't add error messages to the log, but the recording files contain only zeroes, i.e. silence. This can be solved very easily: the foreground service mode mentioned above should be enabled.
The new permissions interface
In older vesions of Android, the permissions for the app to use certain functions of the device were given at install time. Currently, all permissions should be requested from within the running app. At first run, BSR will ask the user to give all the permissions that it needs, one by one. But it is recommended to visit the Android Settings / Apps / BSR to make sure that all the requested permissions are given.
The app won't start after reboot
The BSR background service should start up automatically on each reboot. However, the automatic start-up is often blocked on new phones. Users have to find the appropriate controls in their Android device settings in order to explicitly enable running the BSR service at start-up.