On the screens of smartphones running Android a mysterious notification periodically pops up: "Allow an application to change system settings?". For most users, this request looks suspicious - why does some app suddenly want to delve into the depths of the operating system? Meanwhile, this function underlies many useful tools: from automating tasks to fine-tuning the interface. But along with the opportunities, it also carries serious risks.
In this article, we will look at what it actually means permission to change system settings, which applications request it and why, and also show how to securely manage this access. You'll learn what settings can be changed through this permission (from screen brightness to network configurations), how to distinguish legitimate requests from potentially dangerous ones, and what to do if you suspect abuse. We will pay special attention to technical nuances for advanced users, including working with ADB and hidden menus Android.
We warn you right away: thoughtlessly granting this permission can lead to unstable operation of the device or even security compromises. But when used correctly, it opens up access to functions that are not available through the standard interface.
What is “allow changes to system settings” from a technical point of view
From an architectural point of view Android, this is permission (android.permission.WRITE_SETTINGS) belongs to category dangerous permissions. Unlike regular permissions (for example, access to the camera), it allows applications to make changes to Settings Provider the system component responsible for storing all device configurations. This is not just access to settings, but the ability to modify programmatically.
Key aspects of the permission:
- 🔧 Bypassing the standard UI: Applications can change parameters without opening the settings menu (for example, adjust the volume through the API instead of the slider on the screen).
- 📱 Global influence: Changes affect all applications and services, and not just the app that requests permission.
- 🔒 Limited control: Android does not provide a detailed log of which settings were changed by one or another application.
Technically, permission gives access to modification of the following categories of parameters (the full list depends on the version. Android):
| Settings category | Examples of parameters | Potential risks |
|---|---|---|
| Screen | Brightness, lock timeout, night mode | Brightness too low, impossible to unlock |
| Sound | Media/call volume, Do Not Disturb mode | Mute notification sounds, block calls |
| Network | Airplane mode, enable/disable Wi-Fi/Bluetooth | Loss of connection, increased battery consumption |
| Location | Location mode (GPS/network) | Incorrect operation of navigation applications |
| Accessibility features | Font enlargement, color filters | Unreadable interface, application crashes |
⚠️ Attention: Starting from Android 10, Google has tightened its policy for using this permission. Applications from Google Play are now required to provide a detailed justification for why they need this level of access. This has reduced the number of legitimate apps with this permission, but has not stopped attackers distributing software through third-party sources.
Which applications request this permission and why
Legitimate apps request access to system settings for well-founded reasons. Here are the most common categories:
1. Automation and scripts
- 🤖 Tasker, Automate, MacroDroid - for creating automatic rules. (for example, “reduce brightness at night” or “turn on airplane mode at a meeting”)
- 📱 IFTTT — integration with other services by changing system parameters.
2. Interface customization
- 🎨 Nova Launcher, Action Launcher — for managing gestures, animations and other shell parameters.
- 🔍 Substratum, Andromeda — design themes, requiring deep integration.
3. Optimization and control
- 🔋 Greenify, Servicely —aggressive management of background processes.
- 📡 Network Signal Guru —manual configuration of mobile network parameters.
4. Accessibility
- 👓 Accessibility Suite —interface adaptation for people with disabilities capabilities.
- 🔊 SoundAssistant —fine-tuning of sound profiles.
On the other hand, there are applications that request this permission without explicit need. These include:
- 🚩 Suspicious "cleaners" and "boosters" (for example, DU Speed Booster, Clean Master), which often abuse access to display advertising.
- 🎮 Some cheats for gamesthat change the system time or network parameters.
- 📱 Fake “optimizers”that actually collect data about your settings.
How to enable or disable permission manually
Unlike most permissions, WRITE_SETTINGS is not controlled through the standard menu “Settings → Applications → Permissions”. To activate it, a special procedure is required:
Method 1: Through an application request
- When the app first requests permission, Android shows a system window with a choice: "Allow changing system settings».
- Click "Allow" - the system will redirect you to the settings menu.
- Turn on the toggle switch for this applications.
Method 2: Manual search in the settings
The path may differ depending on the version Android and the manufacturer's shell:
- 📱 Stock Android:
Settings → Applications → ⚙️ (gear) → Special access → Change system settings - 🤖 Samsung One UI:
Settings → Applications → Three dots (menu) → Special access → Change system settings - 📲 Xiaomi MIUI:
Settings → Applications → Manage permissions → Other permissions → Change system settings
Method 3: Via ADB (for advanced users)
If standard methods do not work (for example, on some versions MIUI or ColorOS), you can use the command:
adb shell pm grant com.example.app android.permission.WRITE_SETTINGS
Where com.example.app is the package name of the application (you can find out through App Inspector or adb shell pm list packages).
Make sure that the application is from the official store
Read reviews about the developer
Check whether the request corresponds to the functionality of the app
Create a backup copy of the settings (via Titanium Backup or analogues)
-->
⚠️ Attention: On some devices (for example, Huawei s EMUI or Oppo c ColorOS) the path to the settings may be hidden or blocked by the manufacturer. In this case, onlyADBor manual editing of the fileplatform.xmlc/system/etc/permissionswill help, which requires root access.
Risks and potential security threats
Granting access to system settings is like giving a stranger the keys to all the rooms in your house. Here are real abuse scenarios recorded by software experts. cybersecurity:
1. Changing network parameters to steal data
- 🕵️ An attacker can redirect your traffic through a proxy server, intercepting logins/passwords.
- 📡 Enable
USB debuggingorADB via Wi-Fifor remote access.
2. Device lock
- 🔒 Setting a screen lock password without your knowledge.
- 📵 Disables mobile network or Wi-Fi, making the device unusable for calls.
3. Covert surveillance
- 🎥 Turn on the camera or microphone through accessibility settings.
- 📍 Activation
GPSwith high accuracy for location tracking.
4. Financial fraud
- 💳 Changing settings
NFCto steal contactless card data. - 📱 Substituting an SMS center to intercept two-factor authentication codes.
According to research Kaspersky for 2023 12% of malicious applications for Android used permission WRITE_SETTINGS as part of their attack. However, only 30% of users revoked access after detecting suspicious activity.
Before installing the application, check its permissions through the service Exodus Privacy (exodus-privacy.eu.org). It analyzes APK files for suspicious permissions, including WRITE_SETTINGS, and shows which tracking libraries are built into the app.
How to track which settings have been changed
Android does not log changes to system parameters, but there are indirect methods of control:
1. Monitoring via ADB
Command to view current settings:
adb shell settings list globaladb shell settings list system
adb shell settings list secure
Compare the output before and after installing a suspicious application. Pay attention to the parameters:
adb_enabled(is debugging enabled)stay_on_while_plugged_in(continuous network operation mode)location_mode(geolocation settings)
2. Audit applications
- 🛡️ AppOps —shows which permissions were used by applications.
- 🔍 MyAndroidTools —analyzes changes in system settings.
- 📊 Settings Database Editor (requires root)—direct access to the settings database.
3. System logs
Via ADB you can download logs, where changes are sometimes reflected:
adb logcat -d | grep "Settings"
4. Manual check
Check regularly:
- 🔄
Settings → System → Date and time(if the time zone or format has changed) - 📶
Settings → Network and Internet → Mobile network(if new APNs have been added) - 🔊
Settings → Sound(have the volume profiles changed)
The only reliable way to track unauthorized changes is to regularly back up your settings via Titanium Backup or Swift Backup (root required). By comparing copies, you can identify suspicious activity.
What to do if you suspect permission abuse
If you notice strange behavior of the device (changing brightness on its own, enabling data transfer, resetting settings), follow the algorithm:
Step 1: Revoke permission
- Go to
Settings → Applications → Special access → Change system settings. - Find a suspicious application and disable the toggle switch.
- If the application is a system one, try disabling it