Предупреждения ваш Apk использует разрешения, которые требуют Политики конфиденциальности: (android.разрешение.ЧИТАТЬ СОСТОЯНИЕ ТЕЛЕФОНА)

в манифесте не добавлен android.разрешение.А дальше. разрешение.

почему ошибка возникает, когда я загружаю новую ошибку версии apk ниже.

ваше приложение имеет apk с кодом версии 1, который запрашивает следующие разрешения: android.разрешение.А дальше. Приложения, использующие эти разрешения в APK, должны иметь набор политик конфиденциальности.

я прикрепил снимок экрана моего магазина Google play счет. enter image description here

мой файл манифеста.

<?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>

17 ответов


манифест вашего приложения.xml, имеющий эти разрешения на доступ к информации с вашего устройства, но у вас нет ссылки политики конфиденциальности при отправке в play store. так ты получаешь это предупреждение.

нужна Политика конфиденциальности для приложения, Если ваше приложение обрабатывает личные или конфиденциальные данные пользователя

добавление политики конфиденциальности в список магазина вашего приложения помогает обеспечить прозрачность о том, как вы относитесь к конфиденциальным данным пользователя и устройства.


просто попробуйте добавить эту строку в ваш файл манифеста:

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

и добавить атрибут xmlns:tools="http://schemas.android.com/tools" на <manifest> тег для определения инструментов пространства имен

С документация на tools:node="remove":

удалите этот элемент из Объединенного манифеста. Хотя кажется, что вы должны просто удалить этот элемент, использование этого необходимо, когда вы обнаруживаете элемент в объединенном манифесте, который вам не нужен, и он был предоставлен файл манифеста с более низким приоритетом, который находится вне вашего контроля (например, импортированная библиотека).


зависимости, которые у вас есть в вашем проекте, добавят свои собственные разрешения. Пожалуйста, сделайте следующее, чтобы узнать, откуда идет "READ_PHONE_STATE".

  1. перестроить приложение для android
  2. нажмите "Ctrl + Shift+F" в Android studio (в основном выполните поиск в Редакторе ваших предпочтений).
  3. Поиск "READ_PHONE_STATE", вы найдете запись в восстановленном файле манифеста (не тот, который вы изначально создали). По пути вы можете знайте, из какой зависимости добавляется разрешение. enter image description here

необходимо указать min и target sdk версия в файле манифеста.
Если не android.permission.READ_PHONE_STATE будет добавлен автоматически при экспорте файла apk.

<uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="19" />

в настоящее время некоторые люди сталкиваются с той же проблемой из-за использования 12.0.0 версия AdMob lib.

обновить его до 12.0.1. Это должно все исправить. Вы можете прочитать больше здесь


Это может быть из-за сторонних Либ, которые могут включать, что разрешение так из моего опыта в этой области у вас есть, чтобы добавить политику конфиденциальности в отношении этой конкретной информации это означает, что если вы попросите получить разрешение счетов в вашем приложении, чем вы должны заявить, что с вашей политикой конфиденциальности файла, который мы используем данные, т. е. адрес электронной почты, или независимо от причины, как войти в Google играть в игры.

также может сделать это

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

надеюсь, это поможет вам Что вы можете сделать для этого предупреждения создайте политику конфиденциальности для вашего приложения и прикрепите ее с помощью store listing.


если вы тестируете приложение на устройстве > android 6.0, вы также должны четко попросить пользователя предоставить разрешение.

Как видите,здесь READ_PHONE_STATE есть опасный уровень.

если разрешение имеет опасный уровень, то пользователь должен принять или не принять это разрешение вручную. У тебя нет выбора, ты!--11-->должны этого

для этого из вашей деятельности выполните следующий код:

если пользователь использует Android M и не предоставил разрешение, но он попросит его.

public static final int READ_PHONE_STATE_PERMISSION = 100;

  if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.READ_PHONE_STATE)
                != PackageManager.PERMISSION_GRANTED) {
            requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, READ_PHONE_STATE_PERMISSION);
        }
переопределить onRequestPermissionsResult в работе
@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode){
            case READ_PHONE_STATE_PERMISSION: {
                if (grantResults[0] == PackageManager.PERMISSION_GRANTED){
                    //Permission granted do what you want from this point
                }else {
                    //Permission denied, manage this usecase
                }
            }
        }
    }

следует читать в этой статье чтобы узнать больше об этом


  1. Вероятно, вы используете PlayServices версии 9.6.0. Тогда вы должны обновить его, это ошибка библиотеки. Подробнее здесь.

или

  1. добавить

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

файл манифеста.


вы используете AdSense или другие объявления в своем приложении или, может быть, Google Analytics ? Я думаю, если вы это сделаете, даже если у вас нет андроида.разрешение.READ_PHONE_STATE в манифесте добавляется библиотекой ads.

есть бесплатные шаблоны, которые могут помочь вам создать политику конфиденциальности.

Это письмо, которое я получил от Google об этом:

Привет Google Play Developer, наши записи показывают, что ваше приложение, xxx, с пакет ХХХ, в настоящее время нарушает нашу политику в отношении пользовательских данных Личная и конфиденциальная информация. Вопрос политики: Google Play требует разработчики предоставляют действительную политику конфиденциальности, когда приложение запрашивает или обрабатывает конфиденциальную информацию пользователя или устройства. Ваши пожелания приложение чувствительные разрешения (например, камера, микрофон, учетные записи, контакты или телефон) или данные пользователя, но не включает действительную политику конфиденциальности. Необходимые действия: включите ссылку на действительную политику конфиденциальности страница приложения в магазине и в вашем приложении. Вы можете найти больше сведения в нашем Справочном центре. Кроме того, вы можете отказаться от этого требование путем удаления любых запросов на конфиденциальные разрешения или пользователя данные. Если у вас есть дополнительные приложения в каталоге, пожалуйста, убедитесь они соответствуют нашим выдающимся требованиям раскрытия информации. Пожалуйста решить эту проблему до 15 марта 2017 года, или административное действие будет принято, чтобы ограничить видимость вашего приложения, вплоть до удаления из магазина Play. Спасибо за помощь нам обеспечить ясность и прозрачный опыт для пользователей Google Play. С Уважением, Google Play Команда


вы должны упасть android.permission.READ_PHONE_STATE разрешения. Добавьте это в файл манифеста:

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

Если вы используете React Native

эта проблема была полностью решена здесь

https://facebook.github.io/react-native/docs/removing-default-permissions


1.Необходимо создать страницу политики конфиденциальности на веб-сайте и обновить политику конфиденциальности для запрашиваемых разрешений.

2.Обновление нового SDK удалите нежелательные разрешения и повторно отправьте приложение.


Я нашел этот бесплатный веб-сайт, который сделает для вас политику и разместит ее:

https://www.freeprivacypolicy.com/

затем добавьте его в play store в списке Store - внизу добавьте публичную ссылку для политики, которую вы получили отhttps://www.freeprivacypolicy.com/


см. steb шаг за шагом, и вы поймете

public static String getVideoTitle(String youtubeVideoUrl) {
        Log.e(youtubeVideoUrl.toString() + " In GetVideoTitle Menu".toString() ,"hiii" );
        try {

            if (youtubeVideoUrl != null) {
                URL embededURL = new URL("https://www.youtube.com/oembed?url=" +
                        youtubeVideoUrl + "&format=json"
                );
                Log.e(youtubeVideoUrl.toString() + " In EmbedJson Try Function ".toString() ,"hiii" );
                Log.e(embededURL.toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );
                Log.e(new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );

                return new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString();
            }
        } catch (Exception e) {
            Log.e(" In catch Function ".toString() ,"hiii" );

            e.printStackTrace();
        }
        return null;
    }

обновить 2018:

для пользователей AdMob это вызывает AdMob версии 12.0.0 (в настоящее время последняя версия). Он неправильно запрашивает разрешение READ_PHONE_STATE, поэтому, даже если ваше приложение не требует разрешения READ_PHONE_STATE в манифесте, вы не сможете обновить свое приложение в консоли Google Play (он скажет вам создать страницу политики конфиденциальности для вашего приложения, потому что ваше приложение требует этого разрешения).

посмотреть этот: https://developers.google.com/android/guides/releases#march_20_2018_-_version_1200

кроме того, они написали, что скоро опубликуют обновление для 12.0.1.


я столкнулся с той же проблемой и получил ошибку при загрузке apk в Google play. Я использовал объявления в своем приложении, и я даже не упоминал разрешение READ_PHONE_STATE в моем файле манифеста. но я получил эту ошибку. Затем я меняю зависимости для ads в build.файл gradle. и это решило мою проблему. Они решили эту проблему в 12.0.1.

compile 'com.google.android.gms:play-services-ads:12.0.1'

это сторонняя библиотека. Вы можете найти виновника в build/outputs/logs/manifest-merger-release-report.txt