# RUN_IN_BACKGROUND
/RUN_ANY_IN_BACKGROUND
(Run in background)
"Run in background" seen in the App Ops app actually refers to the two ops RUN_IN_BACKGROUND
(added from Android 7) and RUN_ANY_IN_BACKGROUND
(added from Android 9). Changing these ops will behave differently on different system versions.
This article will explain the effect of modifying RUN_IN_BACKGROUND
and RUN_ANY_IN_BACKGROUND
on app behavior on Android 9.
# Special handling by the app App Ops
In response to the new addition of RUN_ANY_IN_BACKGROUND
for Android 9, App Ops v2.6.0 used a strategy like this: directly treat RUN_IN_BACKGROUND
and RUN_ANY_IN_BACKGROUND
as the same one, ie only see a "Run in background" option, modify it will modify both two ops at the same time. However, in some special cases, setting two at the same time will cause the restriction to be too strict, so you can choose which one to limit from v2.6.0.
# RUN_IN_BACKGROUND
The article has not been completed, more information will be added later
All apps targeting API 26 and above will always subject to this restriction.
Refer to the following article:
Https://developer.android.com/about/versions/oreo/background
# RUN_ANY_IN_BACKGROUND
The article has not been completed, more information will be added later
Refer to the following article:
Https://developer.android.com/about/versions/pie/power#battery-saver
Https://developer.android.com/topic/performance/power/power-details
Some of the commits involved:
Https://github.com/aosp-mirror/platform_frameworks_base/commit/3ac1daac4044c70ad4ee673214074306de499a18
Https://github.com/aosp-mirror/platform_frameworks_base/commit/db6bf66ee3b82edf25874d5dea4e02b0a146fb16