Applications in the Foreground are Being Moved to the Background when Moving In/Out of Cellular Coverage

Publish Date: 28-Jan-2019 Android
845 0

Summary

Issue

Applications which are launched through lockdown are being moved to the background when moving in and out of areas of cellular coverage or by activating and deactivating airplane mode

Affects

All Android devices running OS 6.0 and higher

Cause

When entering areas which do NOT have cellular coverage and reentering an area WITH cellular coverage, the device's

Related SOTI ONE Platform Products

Android

Process Description

Issue

Applications which are launched through lockdown are being moved to the background when moving in and out of areas of cellular coverage or by activating and deactivating airplane mode

Affects

All Android devices running OS 6.0 and higher

Cause

When entering areas which do NOT have cellular coverage and reentering an area WITH cellular coverage, the device's OS will enable Doze mode which is Android battery optimization feature.

In Doze mode, the system attempts to conserve battery by restricting apps' access to network and CPU-intensive services. It also prevents apps from accessing the network and defers their jobs, syncs, and standard alarms.

During this process, the OS kills the MobiControl service and it is recreated immediately after the network connectivity stabilizes. This causes a "flicker" like symptom which will move the foreground application to the background.

The application's session could be lost in some cases. However, there is a solution to both of these issues, whether it be losing the application's session or the simple inconvenience of having the application moved to the background and having to launch it again.

Resolution

  1. Upgrade the device agent to agent 13.5 and above
  2. Go to the web-console
    • Created a new profile with a "Feature Control" payload
    • Under the "Applications" section, you will need to check off the "Disable Doze Mode" field
    • Assign the profile to the affected device

If your web-console does not have the "Disable Doze Mode" field but the device agent is 13.5 or above, you can simply send the following script:

  • writeprivateprofstring DeviceFeature DisableDozeMode 1 - To disable Doze Mode
  • writeprivateprofstring DeviceFeature DisableDozeMode 0 - To remove the restriction of Doze Mode

Was this helpful?