chkndrp

hyperos-accessibility-fix

1.0.5guide

Stop HyperOS from randomly disabling accessibillity services

★14 stars
•System Environment•by chkndrp•GPL-2.0•Updated Jul 20, 2026
Platforms:
✓ Magisk✓ KernelSU

Overview

A chronic frustration among Xiaomi, Redmi, and POCO users running HyperOS is the operating system’s tendency to revoke accessibility service permissions. Power users relying on automation tools (such as Tasker, Macrodroid), password managers (Bitwarden, 1Password), or accessibility overlays frequently discover that their background services have been quietly turned off.

Developed by chkndrp, hyperos-accessibility-fix addresses the root architectural cause of this issue in HyperOS and systemlessly ensures that configured accessibility services stay enabled.

Root Cause: AccessibilityManagerService Behavior

In standard Android, when an application hosting an accessibility service is force-stopped via ActivityManager, Android’s internal AccessibilityManagerService removes the component from Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES.

While stock Android rarely invokes full force-stops during normal background handling, Xiaomi’s HyperOS firmware triggers hard force-stops during aggressive battery routines—notably LockScreenClean and when activating Ultra Battery Saver mode:

I ActivityManager: Force stopping com.urbandroid.lux appid=10415 user=0: LockScreenClean
D ActivityManager: Force removing proc 8855:com.urbandroid.lux:background/u0a415

Because HyperOS forcibly strips the component from the secure settings store, the user must manually re-navigate system settings and toggle the permission back on.

How the Module Solves It

The module deploys a lightweight background monitoring daemon:

  1. Boot Initialization: At startup, the service queries current accessibility services via settings get secure enabled_accessibility_services and records them into /data/adb/modules/hyperos-accessibility-fix/a11y_watchlist.txt.
  2. Event Detection: The daemon listens to framework logcat events. If a user manually changes accessibility settings, it updates the watchlist. If the system strips a service due to a background force-stop or battery cleaner event, the daemon detects the unexpected removal.
  3. Automated Restoration: The module immediately reapplies the component identifiers to Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, ensuring services resume uninterrupted operation.

Installation & Configuration

  1. Download the latest hyperos-accessibility-fix.zip from GitHub releases.
  2. Install the archive via Magisk or KernelSU.
  3. Reboot your device.
  4. Enable your required accessibility services once in Android Settings. The module will automatically add them to /data/adb/modules/hyperos-accessibility-fix/a11y_watchlist.txt and keep them persistent.