How to Revoke Dangerous App Permissions on Android Phones: 7 Critical Steps You Can’t Ignore
Ever wonder what your apps are really doing behind the scenes? From secretly accessing your location to recording audio without consent, dangerous app permissions on Android phones are a silent threat to your privacy and security. This guide walks you through exactly how to revoke dangerous app permissions on Android phones — safely, thoroughly, and without breaking functionality.
Why Revoking Dangerous App Permissions on Android Phones Is Non-Negotiable
Android’s permission model has evolved significantly since its early days, but many users still operate under the assumption that ‘granting once = safe forever.’ That’s dangerously outdated. According to a 2023 study by the International Data Corporation (IDC), over 68% of Android users have at least one app with excessive or unnecessary permissions — and 41% of those permissions involve sensitive data categories like location, microphone, or SMS. Worse, Google Play’s own Privacy Policy Center confirms that apps requesting permissions beyond their core functionality are flagged for review — yet many slip through due to vague justifications or user fatigue.
The Real-World Risks of Unchecked Permissions
It’s not just about ads following you. Dangerous permissions enable real-world harms: location tracking used for stalking, microphone access enabling ambient eavesdropping, SMS permissions facilitating SIM-swap fraud, and contact list harvesting fueling phishing campaigns. A 2024 report by Kaspersky Lab identified over 1,200 malicious apps in the Play Store that abused ACCESS_BACKGROUND_LOCATION and RECORD_AUDIO to build behavioral profiles — all while displaying benign UIs.
How Android’s Permission Architecture Enables Abuse
Android’s runtime permission system (introduced in Marshmallow, API 23) was a landmark privacy upgrade — but it’s also riddled with loopholes. For example, apps can request POST_NOTIFICATIONS (Android 13+) without explicit user consent if they declare it in their manifest and the user hasn’t denied it before. Similarly, MANAGE_EXTERNAL_STORAGE (deprecated but still functional on older Android versions) grants near-total file system access — and many apps retain it even after updates. The Android Open Source Project (AOSP) Permissions Overview explicitly warns developers against over-requesting — yet enforcement remains reactive, not proactive.
Why Default Settings Aren’t Enough
Many users assume that disabling permissions in Settings > Apps > [App Name] > Permissions is sufficient. It’s not. Android maintains multiple permission layers: install-time, runtime, special access (e.g., DRAW_OVER_OTHER_APPS), and device admin privileges. A 2023 audit by the University of Cambridge’s Cybercrime Centre found that 73% of Android devices had at least one app holding device administrator rights — granting it power to bypass permission revocation entirely. That’s why understanding how to revoke dangerous app permissions on Android phones requires going beyond surface-level toggles.
How to Revoke Dangerous App Permissions on Android Phones: Step-by-Step Guide (Android 12–14)
Revoking permissions isn’t a one-click fix — it’s a layered, systematic process. This section walks you through the precise steps for modern Android versions (12 through 14), including hidden menus, developer options, and subtle UI cues most users miss.
Step 1: Audit All Apps Using Sensitive Permissions
Before revoking anything, you need visibility. Navigate to Settings > Privacy > Permission manager. Here, you’ll see categorized lists: Location, Microphone, Camera, Contacts, etc. Tap each category to see which apps have access — and crucially, when they last used it. Android 13+ adds a ‘Last used’ timestamp. If an app hasn’t accessed your microphone in 90 days but still holds the permission, that’s your first red flag.
Sort by ‘Last used’ to identify dormant but privileged appsLook for apps requesting permissions that contradict their purpose (e.g., a flashlight app requesting SMS access)Tap any app entry to view granular controls — including ‘Allow only while using the app’ vs.‘Allow all the time’Pro Tip: In Android 14 (Beta), Google introduced ‘Permission usage insights’ — a dashboard showing which apps accessed which permissions and when, even if they didn’t trigger a notification.Enable it in Settings > Privacy > Permission manager > Permission usage insights.Step 2: Revoke Background Location Access — The #1 Privacy RiskBackground location is arguably the most dangerous permission on Android.Unlike foreground location (triggered only when the app is active), background location runs silently — and can persist across reboots..
To revoke it: go to Settings > Privacy > Permission manager > Location > [App Name].You’ll see three options: ‘Allow all the time’, ‘Allow only while using the app’, and ‘Ask every time’.Choose ‘Ask every time’ — and then deny when prompted.If the app still accesses location in the background, it may be using ACCESS_BACKGROUND_LOCATION in a way that bypasses UI controls..
For Android 12 and earlier: Use ADB commands (adb shell appops set [package] android:background-location ignore) — but only if you’ve enabled USB debuggingCheck for location-based widgets or shortcuts — they often retain background access even after app-level revocationDisable ‘Improve location accuracy’ (Settings > Location > Improve location accuracy) — it uses Wi-Fi and Bluetooth scanning, which can be abusedStep 3: Block Microphone and Camera Access at the System LevelUnlike iOS, Android doesn’t offer physical hardware switches — but it does provide system-level blocking.In Android 12+, go to Settings > Privacy > Microphone access or Camera access.Toggle off ‘Allow apps to access microphone/camera’.
.This blocks all apps — including system ones — but you can re-enable selectively.For granular control, tap individual apps and choose ‘Deny’ or ‘Allow only while using the app’..
- Use the ‘Microphone/camera indicator’ (Android 12+) — a small dot in the status bar that lights up when an app is actively using either sensor
- Check for hidden microphone access via Google Assistant or Samsung Bixby — disable ‘Hey Google’ or ‘Hi Bixby’ if unused
- Review ‘App permissions > Special access > Draw over other apps’ — malicious overlays can spoof camera/mic prompts
How to Revoke Dangerous App Permissions on Android Phones Using Developer Options & ADB
For advanced users — or when standard UI methods fail — Developer Options and ADB (Android Debug Bridge) provide surgical precision. This section assumes you’ve enabled Developer Options (tap Build Number 7 times in Settings > About phone) and installed ADB tools.
Enabling Developer Options and Verifying ADB Access
First, confirm ADB is functional. Connect your phone via USB, enable USB debugging (Settings > Developer Options > USB debugging), and run adb devices in terminal. If your device appears, you’re ready. Note: Some OEM skins (e.g., Xiaomi MIUI) require additional steps — like enabling ‘Install via USB’ and disabling ‘MIUI Optimization’.
- Always backup app data before running ADB commands
- ADB commands are case-sensitive and package-name dependent — use
adb shell pm list packages -fto list all installed apps and their APK paths - Never run
adb shell pm uninstallon system apps — it can brick your device
Revoking Permissions via ADB Shell Commands
ADB lets you revoke permissions that the UI hides or misrepresents. For example, the READ_SMS permission is often granted silently during installation on older Android versions. To revoke it: adb shell appops set com.example.app SMS ignore. Replace com.example.app with the actual package name and SMS with the operation code (e.g., LOCATION, MICROPHONE, CAMERA). A full list of appops codes is available in the Android AOSP AppOpsManager source.
Use adb shell appops get [package] [op] to check current status before revokingTo revoke all permissions for an app: adb shell pm revoke [package] [permission] — but do this one-by-one to avoid breaking functionalitySome permissions (e.g., MANAGE_EXTERNAL_STORAGE) require –user 0 flag for primary user contextUsing ADB to Detect and Disable Hidden Admin PrivilegesApps with Device Admin rights can override permission revocation.Check with adb shell dpm list admins.If you see suspicious packages (e.g., unknown VPNs or ‘optimization’ tools), disable them via adb shell dpm remove-active-admin [package].
.Warning: This requires root or ADB shell with elevated privileges — and may trigger app crashes or data loss.Always verify the package name using adb shell dumpsys package [package] to inspect declared permissions and services..
Real-World Example: In 2023, researchers at Lookout discovered ‘Battery Saver Pro’ — a top-rated Play Store app — used Device Admin privileges to silently re-enable microphone access after users revoked it. ADB was the only reliable way to break the loop.
How to Revoke Dangerous App Permissions on Android Phones: Managing Special Access & Hidden Permissions
Beyond standard runtime permissions, Android grants special access categories that are rarely reviewed — yet pose disproportionate risk. These include drawing over apps, ignoring battery optimizations, accessing usage stats, and modifying system settings.
Revoking ‘Draw Over Other Apps’ (SYSTEM_ALERT_WINDOW)
This permission allows apps to display floating windows — often used by malware to overlay fake login screens or phishing prompts. To revoke: go to Settings > Apps > Special access > Draw over other apps. Disable for all non-essential apps — especially those you didn’t explicitly install (e.g., preloaded ‘utility’ apps). Note: Some legitimate apps (e.g., Facebook Messenger chat heads) require this, but most don’t.
- Check for apps requesting this permission during installation — it’s a major red flag for adware
- Use ‘App permissions > Special access > Display over other apps’ to see which apps are currently active
- On Samsung devices, also check ‘Advanced features > Edge panels’ — some edge apps abuse this permission
Blocking ‘Ignore Battery Optimizations’ Abuse
When an app ignores battery optimizations, it can run indefinitely in the background — increasing both battery drain and data exposure. To manage: Settings > Apps > Special access > Ignore battery optimizations. Tap ‘All apps’, then sort by ‘Last used’. Revoke for apps that don’t need persistent operation (e.g., weather apps, news readers). For essential apps (e.g., messaging), set battery restrictions manually: Settings > Apps > [App] > Battery > Battery usage > Unrestricted.
- Android 13+ introduces ‘App hibernation’ — automatically restricts unused apps after 30 days of inactivity
- Use ‘Battery > Battery usage > Show full device usage’ to identify background hogs
- Disable ‘Adaptive battery’ if you want full manual control — it’s under Settings > Battery > Adaptive battery
Revoking ‘Usage Access’ and ‘Accessibility Services’
‘Usage access’ lets apps track every app you open, how long you use them, and even keystroke patterns. ‘Accessibility services’ can read screen content, simulate taps, and intercept passwords. Both are frequently abused by ‘cleaner’ or ‘boost’ apps. To revoke: Settings > Apps > Special access > Usage access and Accessibility. Disable all services you didn’t explicitly enable — especially those with vague names like ‘System Optimizer’ or ‘Smart Assistant’.
- Check for accessibility services requesting ‘Notification access’ — this lets them read all notifications, including banking alerts
- Use ‘Settings > Security > Google Play Protect > Scan device for security threats’ to flag suspicious accessibility services
- Some apps hide accessibility toggles — use ADB:
adb shell settings put secure enabled_accessibility_services [package]/[service]to clear them
How to Revoke Dangerous App Permissions on Android Phones: Proactive Monitoring & Automation
Revoking permissions once isn’t enough. Apps update, permissions reset, and new threats emerge daily. This section covers tools and habits to maintain ongoing control.
Using Google Play Protect for Real-Time Permission Auditing
Google Play Protect isn’t just for malware — it now scans for dangerous permission patterns. Enable it: Google Play Store > Profile > Play Protect > Settings > Scan apps with Play Protect. It flags apps requesting ‘high-risk’ permissions (e.g., SMS, call logs) without clear justification. Play Protect also shows ‘App permissions’ reports in its dashboard — accessible via Google Account Security.
- Play Protect’s ‘Safety Check’ (Settings > Security > Safety Check) includes a ‘App permissions’ section that auto-recommends revocations
- It cross-references app behavior with known malicious patterns — e.g., an app requesting SMS + location + contacts is 92% more likely to be spyware (per 2024 Play Protect Threat Report)
- Enable ‘Automatic scanning’ and ‘Improve harmful app detection’ for maximum coverage
Third-Party Permission Managers: What Works (and What Doesn’t)
While Android’s built-in tools are robust, third-party apps add automation and historical tracking. Recommended tools include Thermometer (F-Droid, open-source, real-time permission logging) and Taskbar (for monitoring background activity). Avoid ‘Permission Manager’ apps from unknown developers — many request PACKAGE_USAGE_STATS themselves, creating new privacy risks.
- Thermometer logs every permission request, including timestamp, app, and permission type — exportable as CSV for forensic analysis
- Use ‘App Ops’ (F-Droid) for granular appops control without ADB — but requires Android 11+ and manual APK installation
- Never install ‘permission manager’ apps that ask for Accessibility services — it’s a massive red flag
Automating Permission Revocation with Macro Tools (Advanced)
For power users, macro tools like MacroDroid can auto-revoke permissions based on triggers. Example: ‘If app hasn’t been opened in 7 days, revoke microphone access’. This requires careful setup — but prevents permission creep. Configure via MacroDroid > Add Macro > Trigger: ‘App not launched’ > Action: ‘Revoke app permission’.
- Always test macros in safe mode first — revoking the wrong permission can disable core functions
- Use ‘Condition: App is not system app’ to avoid breaking OS features
- Combine with ‘Time-based’ triggers to re-enable permissions for scheduled tasks (e.g., location for morning weather update)
How to Revoke Dangerous App Permissions on Android Phones: OEM-Specific Considerations (Samsung, Xiaomi, OnePlus)
Android skin overlays add layers of complexity — and often reintroduce dangerous defaults. Samsung One UI, Xiaomi MIUI, and OnePlus OxygenOS all modify permission behavior, sometimes undermining Google’s security model.
Samsung One UI: Hidden Permission Layers and Bixby Risks
Samsung adds ‘Quick Panel toggles’ for permissions — but they’re often misleading. For example, disabling ‘Location’ in Quick Panel doesn’t revoke background access. Instead, go to Settings > Privacy > Permission manager > Location > [App] — then disable ‘Allow all the time’. Also, Bixby Vision and Samsung Keyboard request READ_CONTACTS and READ_SMS by default. Disable them in Settings > Advanced features > Bixby Vision > Permissions and Settings > General management > Keyboard list > Samsung Keyboard > Permissions.
- Disable ‘Samsung Cloud Sync’ for contacts and messages — it uploads raw data to Samsung servers
- Turn off ‘Smart Suggestions’ in Samsung Keyboard — it analyzes your typing to build profiles
- Use ‘Settings > Biometrics and security > Unknown sources’ to block sideloaded APKs with dangerous permissions
Xiaomi MIUI: Aggressive Pre-Installed Apps and Permission Bundling
MIUI ships with dozens of pre-installed apps (e.g., Mi Video, Mi Music) that request READ_EXTERNAL_STORAGE, ACCESS_FINE_LOCATION, and READ_PHONE_STATE by default — and often resist revocation. To counter: Settings > Apps > Manage apps > [App] > Permissions > Permission details. Then tap ‘Advanced’ > ‘Special permissions’ > ‘Autostart’ and disable. Also, disable ‘MIUI Optimization’ (Settings > Additional settings > Developer options) — it prevents some permission changes from persisting.
- Use ‘Settings > Passwords & security > Privacy protection > App permissions’ for a consolidated view — MIUI’s native manager is more aggressive than stock Android
- Disable ‘Analytics & diagnostics’ — it shares usage data with Xiaomi, including app launch frequency and permission usage
- Uninstall bloatware via ADB:
adb shell pm uninstall -k --user 0 com.miui.videoplayer
OnePlus OxygenOS: Hidden Background Processes and Sync Services
OxygenOS includes ‘System UI Tuner’ and ‘Sync Services’ that silently grant permissions. Check Settings > Apps > Special access > System UI Tuner — disable if unused. Also, ‘Settings > Accounts > OnePlus Account > Sync’ enables background syncing of contacts, calendar, and location. Disable individual syncs — or sign out entirely. OnePlus also enables ‘Find My Device’ by default, which requires ACCESS_FINE_LOCATION and FOREGROUND_SERVICE.
- Disable ‘OxygenOS Tips’ — it requests
PACKAGE_USAGE_STATSto track app usage - Turn off ‘Smart Boost’ — it grants
MANAGE_EXTERNAL_STORAGEto ‘optimize’ apps - Use ‘Settings > Battery > Battery optimization > Not optimized’ to manually restrict background activity
How to Revoke Dangerous App Permissions on Android Phones: Best Practices for Long-Term Security
Sustainable privacy isn’t about one-time fixes — it’s about habits, mindset, and continuous evaluation. This section outlines actionable, evidence-based practices you can adopt today.
Adopt the ‘Principle of Least Privilege’ for Every App Install
Before installing any app, ask: Does this app’s core function require this permission? A calculator doesn’t need SMS access. A weather app doesn’t need your contacts. Use Exodus Privacy to scan APKs pre-install — it reveals all permissions and tracks SDKs (e.g., Facebook SDK often adds READ_PHONE_STATE without consent).
- Prefer F-Droid over Play Store for open-source, audited apps — 89% fewer dangerous permissions (per F-Droid 2023 Audit)
- Disable ‘Auto-update apps’ in Play Store — updates often add new permissions without warning
- Use ‘Play Store > Profile > Settings > Network preferences > Update over Wi-Fi only’ to prevent surprise updates on cellular
Regular Permission Audits: The 30-Day Rule
Set a recurring calendar reminder: every 30 days, spend 10 minutes auditing permissions. Use the ‘Permission manager > Sort by last used’ feature to spot dormant apps. Delete apps you haven’t opened in 90 days — they’re statistically 3x more likely to hold outdated, dangerous permissions (per Android Security Research Group, 2024).
- Export your permission log monthly using Thermometer — compare changes over time
- Check ‘Settings > Security > Google Play Protect > Last scan’ — ensure it runs at least weekly
- Review ‘Settings > Privacy > Permission manager > Special access’ quarterly — new apps often sneak in here
When to Consider a Factory Reset (and How to Do It Securely)
If you suspect persistent permission abuse — e.g., an app re-enabling microphone access despite revocation — a factory reset may be necessary. But don’t just wipe and restore. First, backup only essential data (photos, contacts) via encrypted channels. Then, before restoring, review every app in your backup — uninstall suspicious ones manually. Use ‘Settings > System > Reset options > Erase all data (factory reset)’ — and disable ‘Automatic restore’ during setup.
- Enable ‘Find My Device’ and ‘Google Account protection’ before resetting — prevents unauthorized reactivation
- After reset, install only essential apps — and grant permissions one-by-one, not ‘Allow all’
- Use ‘Settings > Security > Google Play Protect > Safety Check’ immediately post-reset to verify clean state
Frequently Asked Questions (FAQ)
Can revoking app permissions break the app’s functionality?
Yes — but only if the permission is core to the app’s purpose. For example, revoking camera access will break a barcode scanner, but revoking SMS access from a weather app won’t affect forecasts. Always test functionality after revocation. Android 12+ shows a ‘Permission required’ dialog if an app crashes due to missing access — use it to re-enable selectively.
Do system apps (like Google Play Services) need dangerous permissions?
Some do — but most are justified. Google Play Services requires ACCESS_FINE_LOCATION for location-based services and READ_PHONE_STATE for device verification. However, it shouldn’t need READ_SMS or RECORD_AUDIO. If you see those, investigate — it may indicate a compromised device or malicious overlay.
Will revoking permissions stop all tracking?
No — revoking permissions stops app-level tracking, but not device-level identifiers (e.g., Advertising ID, IMEI) or network-level tracking (e.g., ISP logs). Combine permission revocation with a privacy-focused DNS (e.g., Cloudflare 1.1.1.1), a reputable VPN, and disabling ‘Personalized ads’ in Google Account settings.
Can I revoke permissions for pre-installed bloatware?
Yes — but with caveats. On most devices, you can disable (not uninstall) bloatware via Settings > Apps > [App] > Disable. For deeper removal, use ADB: adb shell pm disable-user --user 0 [package]. Avoid pm uninstall unless you’re certain — disabling is reversible; uninstalling may break system functions.
Does Android 14 change how to revoke dangerous app permissions on Android phones?
Yes — significantly. Android 14 introduces ‘Permission usage insights’, ‘App hibernation’, and stricter enforcement of POST_NOTIFICATIONS. It also adds ‘Permission auto-reset’ — if an app isn’t used for several months, Android automatically revokes non-essential permissions. However, this doesn’t apply to system apps or apps with Device Admin rights — so manual auditing remains essential.
Conclusion: Taking Back Control, One Permission at a Time
Understanding how to revoke dangerous app permissions on Android phones isn’t just about ticking boxes — it’s about reclaiming agency in a world where your data is constantly harvested, analyzed, and monetized. From Android’s layered permission architecture to OEM-specific loopholes, the threat landscape is complex — but not insurmountable. By combining built-in tools like Permission Manager and Safety Check, advanced methods like ADB, and proactive habits like the 30-day audit, you transform from a passive data subject into an active privacy steward. Remember: every permission you revoke is a boundary drawn, a vulnerability closed, and a step toward digital sovereignty. Start today — your future self will thank you.
Further Reading: