Padlock tangled in a keychain symbolizing permission confusion
An app can say “permission granted” and still fail to open your camera, microphone, location, photos, or files. The fix is usually not one magic button, but a quick set of resets that clear a stale permission, a blocked system toggle, or a confused browser/app setting.

Work top to bottom and stop when it starts working.

1. Confirm what kind of permission is failing (camera vs. files vs. location)

Before changing settings, do a 10-second check: what exactly won’t work?

  • Camera/Mic: the app opens but shows a black preview, “no camera found,” or the mic meter never moves.
  • Location: “can’t detect location,” stuck on a spinner, or always shows the wrong city.
  • Photos/Files: the picker opens but is empty, “no permission,” or uploads fail immediately.

This matters because each permission has its own system-level toggle, and “Allow” in the app may not be the last word.

2. Fully quit the app (or close the browser tab) and try again

Power button metaphor for restarting an app session
Permissions are often checked only when the app launches or when a page loads.

  • Mobile app: fully close it (app switcher) and reopen.
  • Desktop app: quit the app completely and relaunch.
  • Web app: close the tab, open a new tab, and reload the site.

If the permission prompt never appears again, you may be in a “remembered block/allow” state—keep going.

3. Toggle the permission off, then back on in system settings

This is the most reliable “reset” across platforms because it forces the OS to re-register the grant.

  • Find the app under system settings (or the browser under settings if you’re using a website).
  • Turn the specific permission off (Camera/Microphone/Location/Photos/Files).
  • Wait 5–10 seconds, then turn it on again.

After toggling, reopen the app/site and trigger the feature again (start a recording, attach a file, request location, etc.).

4. If it’s a website: check both browser site permissions and OS permissions

Web apps can be blocked in two places at once.

  • Browser site permission: the site can be blocked even if the OS allows the browser.
  • OS permission for the browser: the browser itself may not be allowed to use camera/mic/location.

Fix approach: allow the browser at the OS level, then allow the specific site in the browser’s site settings. If it’s still stuck, remove the site’s permission entry and re-allow it.

5. Turn off VPN, private relay, strict tracking protection, or “lockdown” privacy modes (temporarily)

Some privacy tools can interfere with permissions indirectly—especially location and uploads.

  • Location: VPNs can make location look wrong or cause apps to fail region checks.
  • Camera/Mic in web apps: strict anti-fingerprinting or hardened privacy modes can break device enumeration.
  • File uploads: content blockers or security filters can stop an upload request.

Temporarily disable one thing at a time, test, then re-enable. If disabling fixes it, you’ve found the conflict.

6. Check the “precise” vs. “approximate” location option (and background access)

Layered location pin showing precise versus approximate access
If the issue is maps, delivery, ride apps, or anything that needs accurate positioning, approximate location can look like “permission granted but not working.”

  • Switch to precise location if available.
  • If the app needs updates while minimized (navigation, tracking a delivery), make sure background location isn’t restricted.

Then test by moving a small distance or toggling airplane mode briefly to force a fresh fix.

7. Last-resort resets: clear site data, reset app permissions, or reinstall

If toggles didn’t help, something may be corrupted in cached permissions or site storage.

  • Web: clear the site’s data (cookies/storage) for just that site, then sign in again and re-allow permissions.
  • Android: reset app permissions (or clear storage/cache for the app) and re-open.
  • iOS/iPadOS: if the app never re-prompts, delete the app and reinstall to force a clean permission prompt.

After a reinstall, test the permission before changing any in-app settings so you can tell what actually fixed it.

Final thoughts

Most “allowed but still blocked” permission bugs come from a stale grant, a second layer of site/browser settings, or a privacy tool interfering with the request.

If you do only two things: toggle the specific permission off/on at the system level, and (for web) re-allow the site permission in the browser.