Android App Hibernation

Starting with Android 11, if a user does not interact with your app for a few months, the app will automatically be placed in a hibernation state by the operating system. This is the default behavior of the operating system, and it currently cannot be disabled programmatically by the app.

Hibernation Effects

App Hibernation will affect the operation of your mobile app depending on the operating system version the phone is running. These effects are summarized below.

Characteristics of device

Hibernation effects

Characteristics of device

Hibernation effects

Runs Android 12 or higher

  • Your app's runtime permissions are reset. Note. This action has the same effect as if the user viewed a permission in system settings and changed your app's access level to Deny.

  • Your app can't run jobs or alerts from the background.

  • Your app can't receive push notifications, including high-priority messages.

  • Any files in your app’s cache are removed.

Runs Android 11

Your app's runtime permissions are reset.

Runs Android 6.0 to Android 10

Your app's runtime permissions are reset.

Most notably, users running Android 12 or higher will not be able to receive push notifications once their app is put into hibernation. Furthermore, if they interact with the app to remove it from hibernation, the app will continue to be unable to receive push notifications until they explicitly re-enable the notification permission in the app’s settings.

App Usage

Whenever your app is resumed, the system considers this event to be a user interaction. Therefore, the system extends the amount of time before your app enters hibernation.

On Android 11 and higher, the following behaviors are also considered to be user interactions:

  • The user interacts with a notification, except for dismissing the notification.

    Note: If the user dismisses the notification and doesn't otherwise interact with the notification, this doesn't count as app usage.

Best Practices to Prevent App Hibernation

Since disabling App Hibernation is a decision that is ultimately up to your end-users, Rave AppArmor has a few best practices for clients to use to prevent App Hibernation from occurring:

  • Consider sending semi-regular Push Notifications to your app to drive people to open it. These Push Notifications don’t need to be safety-related! Push Notifications are also a great way to let your end-users know about events coming up on campus!

  • Advertise the main features of your app, such as Virtual Walkhome, WorkAlone, or Incident Reporting, to get your end-users to use the app in non-emergency situations.

  • If you are also a customer of AppArmor Alert, use alternate Alerting Mechanisms such as SMS or Email as redundancies to Push Notifications in an emergency

App Hibernation Permission Modal

To prevent app hibernation from occurring, the AppArmor Safety app will prompt the user to disable this feature within their app’s settings. The permission modal will direct the user to the correct setting on the app’s settings page, however, it is up to the user whether they want to disable this feature or not.

The “Not Now” option will dismiss the modal for a day.

Users will continue to see this modal until they hit ‘Never' or change their device’s settings

Additional Info

For more info regarding App Hibernation, please refer to the Android documentation here.