There is nothing an installed app can do to a speaker that a web page cannot, because the limiting factor is the physical driver rather than the software driving it. That makes the permission list the most informative thing about any cleaner app.
For a complete overview, see our full guide: Why there is no app to download.
Permissions a tone generator genuinely needs
None. Playing audio is not a protected permission on Android or iOS — any app or web
page can output sound without asking. So every permission a cleaner app requests is for
something other than cleaning your speaker.
Red flags on the install screen
- Contacts, SMS or call log. No relationship to audio output
whatsoever.
- Device administrator rights. Makes the app difficult to uninstall.
Never warranted for a utility.
- Storage or photo access. A generated tone is synthesised in memory
and never written to disk.
- Microphone. Worth thinking about carefully. A few tools use the mic
to measure output, but it is not required for ejection, and it is the permission
most worth withholding.
- Location. No legitimate use case.
The APK problem specifically
Speaker-cleaning APKs distributed outside official stores are a recurring vector for
adware and worse, precisely because the category sounds harmless and the function is
trivial to fake. An installer that asks you to enable “install from unknown sources”
for a tool that plays a 165 Hz tone is not a reasonable trade.
What to look for instead
If you do want an installed app, prefer one that states its frequency range, offers a
sweep rather than a single fixed tone, includes a volume control rather than defaulting to
maximum, and is honest that it cannot repair hardware damage. Those four things correlate
strongly with whether the developer understands the mechanism.
Or skip installation entirely
The browser version above requests nothing, stores nothing, works identically across
iOS, Android, Windows and macOS, and cannot be left behind on your device. Once the page
has loaded, tone generation happens locally, so it continues to work without a connection
if you leave the tab open.