Android App Permissions and Privacy Policy Requirements: A Case Study on READ_PHONE_STATE

Nov 23, 2025 · Programming · 16 views · 7.8

Keywords: Android Permissions | Privacy Policy | READ_PHONE_STATE | Google Play | App Compliance

Abstract: This paper provides an in-depth analysis of permission and privacy policy issues encountered when publishing Android apps on Google Play, using the READ_PHONE_STATE permission as a case study. It explains permission declaration mechanisms, privacy policy requirements, and solutions through practical examples, helping developers achieve compliance in app distribution.

Analysis of Permission Declaration and Privacy Policy Correlation

In Android app development, permission management is crucial for ensuring user data security. Google Play, as a primary app distribution platform, enforces strict regulations on permissions involving sensitive user data. When an app requests sensitive permissions like android.permission.READ_PHONE_STATE, it must provide a transparent privacy policy that clearly explains data collection and usage practices.

Implicit Permission Dependency Issues

A common confusion among developers is receiving privacy policy requirements for READ_PHONE_STATE despite not explicitly declaring it in AndroidManifest.xml. This typically stems from:

Examining the provided manifest code:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.my.package.name">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:name=".utils.PreferenceManager"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".SplashScreen"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".MainActivity"
            android:screenOrientation="portrait" />

        <activity
            android:name=".CategoryListActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name=".ImagesActivity"
            android:screenOrientation="portrait" />

    </application>

</manifest>

Shows only INTERNET permission is declared, yet the final APK contains READ_PHONE_STATE, indicating implicit dependencies.

Google Play Privacy Policy Configuration Guide

According to Google Play developer policies, apps handling personal or sensitive user data must provide a privacy policy. Configuration steps include:

  1. Log into Google Play Console and select the target app
  2. Navigate to Store presenceApp content (or PolicyApp content)
  3. Add a valid privacy policy URL in the Privacy Policy section
  4. Ensure the policy clearly describes data collection, usage, storage, and sharing practices

A comprehensive privacy policy should cover:

Technical Solutions for Permission Removal

If the app genuinely doesn't require READ_PHONE_STATE permission, it can be explicitly removed using manifest merger tools:

<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

Additionally, add the tools namespace to the <manifest> tag:

xmlns:tools="http://schemas.android.com/tools"

This approach effectively removes unwanted permissions from imported libraries, ensuring the final APK doesn't contain sensitive permission declarations.

Best Practices for Compliant Development

To prevent permission-related issues, adopt these development practices:

Through systematic permission management and transparent privacy practices, developers can not only meet platform requirements but also enhance app user experience and market competitiveness.

Copyright Notice: All rights in this article are reserved by the operators of DevGex. Reasonable sharing and citation are welcome; any reproduction, excerpting, or re-publication without prior permission is prohibited.