Xibo for Android - R404 (Android 11) - Does Not Execute Collect Interval

I am facing an issue with Android 11 players using XFA version R404.

The problem is that the device does not respect the CMS collection interval. Instead of sending a request at the set interval, it simply skips the collection interval.

Sometimes it sends a request to the CMS after an hour, but generally, it only starts working again when the application is restarted or when a “Collect Now” command is sent via XMR.

This has been happening with some devices.

I was browsing the community and found another user reporting this behavior, but with version R310.

Here is evidence of this behavior from the status screen: The current time shows 11:28. However, the field showing when the next update will occur shows 11:05. In other words, the player skipped the request… and this causes the player to be shown as “offline” in the CMS.

Could you please investigate this?

Thank you.

BTW: All permissions are granted.

@dan any consideration?

Update:
Still under investigation here.
After a lot of testing, I have a suspicion that this may be caused by Android’s power saving.
I will apply some power control modifications to a certain amount of equipment to have a comparison over the weekend.
I’ll let you know the progress.

Apparently the problem is caused by Android 11’s battery saving settings (which, by the way, is very annoying with these issues related to running in the background).

Fortunately, there is a solution: You must add the Xibo app to the “Not optimized” list in the energy saving settings.

This link shows where you can find this setting depending on your Android model, and (obviously) you should apply the setting to the Xibo app.

The path used on my Android model was this:

Settings → Apps → Special app access → Energy Optimization:
Find Xibo App and DISABLE this app’s battery/energy optimization.

Or you may use this:

  • Open Settings on your Android device.
  • Navigate to Apps & notifications.
  • Select Special app access (it may be under Advanced settings).
  • Tap Battery optimization.
  • Select All apps from the drop-down menu.
  • Scroll to find Xibo.
  • Select Don’t optimize.

Both path’s do the same thing.

On Friday, I connected fourteen Android 11 devices.
7 of them I set the configuration mentioned above and 7 of them I didn’t.

Today (sunday), the 7 that received the configuration respected the collection interval perfectly again, while the others that did not receive the configuration continued to have problems with the collection interval.

PS: I didn’t find commands to make this configuration. Unfortunately (until now) the solution must be done through the Android interface. If anyone has a command for this, please share it with us.

I see that you have a solution for this already, which is great.

On our side we did make changes in v4 R400 to fire our alarms with setExactAndAllowWhileIdle and ELAPSED_REALTIME_WAKEUP which should in theory still work while idle. As you say though, the battery optimisation seems capable of disabling even this.

We have this logged and will continue to try and improve. Thanks for writing up the workaround.

1 Like

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.