Manifest & Permissions

Physical Activity Permission on Android: Request Only for the Feature

Physical activity access on Android is feature-specific. Request the relevant activity-recognition permission only when the app uses an API that requires it, and do not treat it as permission to collect every health or sensor data category.

By Updated 2 min read

Identify the API and data

Step detection, activity transitions, fitness records and health-platform data can have different access models. Read the documentation for the exact API rather than assuming that one “physical activity” switch covers them all.

The permission reference documents ACTIVITY_RECOGNITION and its platform availability. Supporting older Android releases may also involve a library-specific compatibility path; keep that separate from current platform declarations.

Ask when the feature starts

Use the runtime-permission flow for applicable versions. Explain the concrete purpose, such as counting steps for a user-enabled activity feature. Avoid requesting it on first launch when the person has not selected that feature.

TEXT · REFERENCE EXAMPLE
User opens activity feature
→ check applicable permission state
→ explain the feature if access is missing
→ request through the platform flow
→ start only after a grant
→ provide a non-tracking state after denial

This is a behavior model, not a promise that a grant makes every sensor or provider available.

Handle missing and changed data

A device may lack the expected sensor, return no useful readings or restrict background execution. Treat “no data” separately from “permission denied.” Do not fabricate steps or activity states to fill gaps.

Recheck access when the protected operation begins and stop or degrade safely after revocation. Persist user intent separately from permission state so the app does not resume collection unexpectedly.

Test privacy and lifecycle behavior

Test denial, later grant, revocation, device restart and feature disablement. Confirm that collection stops when the feature is disabled and that logs or analytics do not retain unnecessary activity details.

Audit the declaration

APKLint's permission checker can help identify activity-recognition declarations and unexpected SDK additions. It cannot verify the sensor data stream or determine whether collection matches your privacy disclosures. Those conclusions need runtime evidence and a review of the exact feature and SDK configuration.

Sources and further reading

  1. Android Developers: Manifest.permission reference
  2. Android Developers: Request runtime permissions

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