Telegram

QPR3B2 HAS UNLIMITED BATTERY REMOVED FOR SOME APPS

Qpr3b2 Has Unlimited Battery Removed For Some Apps

We have observed a significant shift in Android’s power management protocols, particularly with the release of QPR3b2 (Quarterly Platform Release 3 Beta 2). This update has introduced aggressive optimization behaviors that override user-configured settings, specifically targeting the “unrestricted” or “unlimited” battery background usage permissions. This change fundamentally alters how applications operate in the background, impacting critical functions such as sleep tracking, messaging notifications, and location-based services. Users are reporting that applications previously granted full battery access are being silently reset to “optimized” status, causing delayed notifications and disrupted background data synchronization.

Understanding the QPR3b2 Power Management Paradigm Shift

The core of the issue lies in a backend change within the Android System Intelligence module, affecting how the operating system evaluates application resource consumption. In previous builds, setting an application to “Not Optimized” or “Unrestricted” was a static command that the system respected. With QPR3b2, the operating system now employs a dynamic evaluation system that re-scans installed applications and resets permissions it deems excessive based on heuristics determined by the new QPR release.

The “Optimized” vs “Unrestricted” Battery State

To understand the impact, we must define the distinct power states in Android.

In QPR3b2, the system now aggressively reverts the latter to the former. This is not a bug but an intended “feature” designed to extend battery life by a few percentage points, often at the cost of application reliability.

System Intelligence and Adaptive Battery Overreach

The Adaptive Battery feature, powered by Google Play Services, has gained increased authority in this update. It analyzes usage patterns over days. If an app is not opened frequently, or if the system determines its background usage is statistically “high” compared to similar apps, it automatically revokes the unrestricted status. This happens silently, without a notification or a prompt asking for user confirmation, effectively overriding manual user configurations in the Settings menu.

Real-World Impact on Critical Applications

The consequences of this power management overhaul are not theoretical; they manifest immediately in daily device usage. We have identified specific use cases where this change causes functional failure.

Sleep Tracking Disruptions (Sleep as Android)

For users utilizing sleep tracking applications like Sleep as Android, the consequences are immediate and detrimental. These applications rely on continuous background operation to monitor movement, sound, and heart rate.

When QPR3b2 reverts the permission from Unrestricted to Optimized, the operating system kills the tracking service during deep sleep phases. This results in “intermittent sleep registration,” where the tracking data is fragmented or entirely lost. The app cannot maintain the necessary wake locks, leading to missed alarms or incomplete sleep cycle analysis.

Messaging Delays (WhatsApp, Telegram, Signal)

The most noticeable symptom for the average user is delayed notifications. Messaging applications maintain a persistent connection to their servers (often via XMPP or proprietary TCP sockets) to deliver messages instantly.

Location Services and Automation

Applications that rely on geofencing or background location updates (e.g., smart home automation, fitness trackers) suffer similar fates. An app set to “Unrestricted” to track a run or automatically toggle Wi-Fi based on location will be throttled in QPR3b2. The system will restrict location updates to save power, rendering precise geofencing useless until the app is brought back to the foreground.

Technical Analysis of the QPR3b2 Update Mechanism

We have analyzed the behavior of the QPR3b2 update and identified the specific mechanisms used to enforce these changes. It appears the update modifies the AppStandbyController and the DeviceIdleController within the Android framework.

The App Standby Buckets

Android groups applications into “standby buckets” (Active, Working Set, Frequent, Rare, Restricted). QPR3b2 has adjusted the logic for moving apps between these buckets.

Interaction with Doze Mode

Doze Mode (App Standby) is stricter in this build. When the device is stationary (on a table), the system enters a deeper state of hibernation. In previous builds, an “Unrestricted” app could send and receive data during Doze maintenance windows. In QPR3b2, even unrestricted apps are subjected to stricter bandwidth limits during these windows if the system detects prolonged inactivity. This is likely an attempt to combat “wakelock abuse” but is overly aggressive in its implementation.

Silent Permission Revocation

The revocation of rights when not in use is a critical change. Previously, revoking permissions required explicit user action or a security audit. QPR3b2 introduces a background daemon that monitors permission usage. If an app requests a permission (like Background Location) but never uses it while in the foreground, the system assumes the permission is unnecessary and revokes it. This breaks apps that only function in the background, such as automated taskers or sleep trackers.

Mitigation Strategies: Restoring Unlimited Battery Usage

While the operating system is aggressive, we can implement countermeasures to restore functionality. These methods range from standard system settings to advanced root-based solutions.

Standard System Configuration

First, verify the settings manually, as the system may not apply the change to all apps immediately.

  1. Navigate to Settings > Apps > See all apps.
  2. Select the affected application (e.g., WhatsApp, Sleep as Android).
  3. Tap Battery > Battery Optimization.
  4. Change the dropdown from “Optimized” to “All Apps” or “Not Optimized.”
  5. Crucial Step: Go back to the app’s main settings page, select Mobile Data & Wi-Fi, and ensure “Background Data” and “Unrestricted Data Usage” are enabled.

Note: In QPR3b2, users report that even after these steps, the setting reverts after a reboot or a few hours. If this occurs, the system mechanism is overriding the UI.

Disabling Adaptive Battery

To reduce the likelihood of the system aggressively managing your apps, you can disable the adaptive battery feature, though this may slightly increase battery drain.

  1. Go to Settings > Battery > Adaptive Battery.
  2. Toggle the feature Off.
  3. This prevents the system from learning usage patterns and forcing apps into restricted buckets based on frequency of use.

Revoking Notification Restrictions

Sometimes the issue is not battery optimization but notification throttling.

  1. Go to Settings > Notifications > App Notifications.
  2. Select the affected app.
  3. Ensure “Allow Notifications” is on.
  4. Tap Advanced and ensure “Importance” is set to Urgent (for sound and vibration) or “High.”
  5. Disable “Adaptive Notifications” if available, as this feature also learns to suppress notifications based on usage patterns.

Advanced Solution: Root-Based Modules (Magisk)

For users who require absolute reliability and want to permanently disable QPR3b2’s aggressive power management, we recommend using a rooted device with Magisk. Systemless modifications can disable the specific system components responsible for the battery optimization enforcement without modifying the system partition directly.

We recommend the following approach available in the Magisk Module Repository:

To utilize these solutions, users should visit the Magisk Module Repository at https://magiskmodule.gitlab.io/magisk-modules-repo/ and search for modules specifically designed to disable app standby or gms doze. These modules edit the device_idle.xml or app_standby.xml configurations directly, forcing the system to treat all apps as “Active” at all times.

Comparative Analysis of Battery Optimization Across Android Versions

To fully appreciate the impact of QPR3b2, it is useful to compare it with previous Android iterations.

Android 12 vs. QPR3b2 (Android 13/14)

In Android 12, “Unrestricted” was a reliable state. The system respected the user’s choice implicitly. Battery drain was managed primarily through the “Optimized” setting. In QPR3b2, the system introduced a “Soft Cap” on background power. Even if an app is unrestricted, if it consumes power exceeding this soft cap (calculated over a rolling 24-hour window), the system temporarily suspends it. This temporary suspension is not visible in the settings UI; the app simply stops working until the next maintenance window.

Foreground Service vs. Background Execution Limits

Android has progressively tightened Background Execution Limits (BELs).

Application-Specific Troubleshooting Guide

We provide specific instructions for the most affected applications based on user reports.

Fixing Sleep as Android (Intermittent Sleep Registration)

Sleep as Android relies on specific wakelocks and sensor access. If your sleep data is fragmented:

  1. Disable Battery Optimization: As detailed above, set the app to “Not Optimized.”
  2. Allow Foreground Activity: In the app’s settings, ensure “Keep awake during tracking” is enabled.
  3. Critical Sensor Permissions: Verify that “Physical Activity” and “Body Sensors” permissions are granted and set to “Allow all the time.”
  4. Whitelist from Doze: Use ADB or a Magisk module to whitelist the package com.urbandroid.sleep from Doze mode. This ensures the CPU stays active even during deep sleep tracking.

Fixing WhatsApp (Delayed Notifications on Watch)

WhatsApp relies on Google Firebase Cloud Messaging (FCM) but also maintains its own connection.

  1. Unrestricted Battery: Set WhatsApp to “Not Optimized.”
  2. Background Data: Ensure “Background Data” is not restricted in Data Usage settings.
  3. Auto-Start: If your device manufacturer (e.g., Xiaomi, Huawei, Samsung) has aggressive task killers, enable “Auto-start” for WhatsApp. This prevents the manufacturer’s layer from killing the app.
  4. Disable Adaptive Connectivity (If Available): On some devices, Adaptive Connectivity switches between 4G and 5G to save power. This switching often drops the persistent connection required for WhatsApp. Disabling this can stabilize the connection.

Future Outlook and System Stability

We anticipate that subsequent Beta releases (QPR3b3, QPR3b4) or the Stable release will adjust these aggressive heuristics. User feedback regarding broken background functionality is voluminous, and Google typically refines these features in later releases. However, until a stable fix is released, users relying on background-critical apps must implement the mitigation strategies outlined above.

The Role of Manufacturer Skins

It is important to note that the QPR3b2 behavior can be compounded by manufacturer skins (OneUI, MIUI, OxygenOS). These skins often have their own battery optimization layers (e.g., Samsung’s “Put unused apps to sleep”) that run parallel to the Android system. Users must check both the native Android battery settings and the manufacturer’s security/app management settings to ensure an app remains truly unrestricted.

Developer Adaptations

Developers are currently adapting to these changes by implementing “Foreground Services” with prominent notifications. Many apps now require a permanent notification to stay alive (e.g., “Syncing in background”). While this is annoying for users, it is currently the only reliable way to bypass the QPR3b2 restrictions, as foreground services are generally exempt from the aggressive Doze and Standby bucket restrictions.

Conclusion

The QPR3b2 update represents a significant tightening of Android’s power management, prioritizing raw battery standby time over background application reliability. For users of sleep trackers, messaging apps, and automation tools, this results in the “unlimited battery removed” phenomenon, where apps are silently optimized despite user settings. While the system aims to extend battery life, the implementation disrupts core functionality.

We recommend that users experiencing these issues immediately check their battery optimization settings and consider disabling adaptive battery features. For those requiring absolute reliability, utilizing system-level modifications via the Magisk Module Repository offers the most robust solution to counteract the aggressive QPR3b2 power management protocols. By understanding the underlying mechanisms of App Standby Buckets and Doze Mode, users can effectively bypass these restrictions and restore full functionality to their essential applications.

Frequently Asked Questions (FAQ)

Why did my WhatsApp notifications stop appearing on my watch? In QPR3b2, the system likely optimized WhatsApp, restricting its background network access. The message is held by the server until the device wakes up for a maintenance window or until the user wakes the screen, causing the delay on the watch.

Can I permanently disable battery optimization in QPR3b2? You can disable it manually, but the system may revert it. The most permanent solution involves using ADB commands to disable app standby or using a Magisk module to modify system-level power management configurations.

Does this affect all Android devices? This behavior is observed in devices running the QPR3b2 build (based on Android 13/14). However, manufacturer-specific battery saving features (like those from Xiaomi or Samsung) have been aggressive for years, and this update brings stock Android closer to those behaviors.

Is there a risk to battery health by keeping apps unrestricted? The risk to battery health is minimal. While background apps consume more power, modern lithium-ion batteries handle normal charge cycles efficiently. The trade-off is reduced screen-on time per charge cycle, but the benefit is reliable app performance.

Where can I find modules to fix this? For users with rooted devices, we maintain a repository of modules designed to manage system permissions and Doze settings. You can browse these modules at the Magisk Module Repository hosted at https://magiskmodule.gitlab.io/magisk-modules-repo/. Look for modules labeled “Doze,” “Standby,” or “GMS Disable” to regain control over background processes.

Explore More
Redirecting in 20 seconds...