Manifest & Permissions

MANAGE_EXTERNAL_STORAGE: Technical Access vs Google Play Eligibility

MANAGE_EXTERNAL_STORAGE is broad special access, not the standard fix for every Android file error. First determine whether a picker, MediaStore or app-specific storage can satisfy the feature. Technical access and Google Play eligibility are separate decisions.

By Updated 2 min read

Confirm the core use case

The all-files access documentation describes the platform capability and its limits. It does not grant unrestricted access to every private directory or another app's protected data.

Need Prefer reviewing first
Import one document Storage Access Framework
Select a photo Photo Picker
Save app cache App-specific storage
Work with shared media MediaStore
Core broad file-management feature All-files eligibility and special-access flow

Do not request broad access merely to preserve an old direct-filesystem implementation after a target-SDK update.

Check access through the correct API

For supported versions, Environment.isExternalStorageManager() checks the relevant special access. The settings flow is not an ordinary dangerous-permission dialog. Recheck when the user returns, and handle the case where access remains disabled.

A successful settings launch is not evidence of a grant.

Review Play policy before shipping

Google Play's permissions policy restricts eligible uses and may require declarations. Describe the core feature and why narrower APIs are insufficient. A test build working on a device does not prove that the store will approve the distribution use case.

Keep the app listing, in-app explanation and actual behavior aligned. Do not claim that all-files access is required for unrelated analytics or background tasks.

Test within the actual scope

Test readable and unreadable locations, removable storage where relevant, revoked access and user cancellation. Handle permission failures at the operation rather than assuming the special grant makes every path available.

Avoid logging full private filenames or document contents in diagnostics.

Inspect the release with APKLint

The permission checker can flag MANAGE_EXTERNAL_STORAGE and related declarations for review. It cannot determine Play eligibility or validate every filesystem operation. Use its findings alongside a feature-level access map, current policy evidence and device tests demonstrating why narrower access is insufficient.

Sources and further reading

  1. Android Developers: Manage all files on a storage device
  2. Google Play: Permissions and APIs that access sensitive information

Reference review: 22 September 2026. Examples illustrate the workflow; check your installed versions, release artifact and account-specific Console requirements before applying them. This guide is not a claim that APKLint executed your project or verified your private account.

APKLint

Android inspection tools and practical release guides. About APKLint · Report a correction