警告您的Apk使用需要隐私政策的权限:(android.permission.READ_PHONE_STATE)


82

在清单中未添加android.permission.READ_PHONE_STATE。允许。

为什么当我上传新的apk版本时出现错误,错误如下。

您的应用具有一个版本号为1的apk,该APK请求以下权限:android.permission.READ_PHONE_STATE。在APK中使用这些权限的应用必须设置隐私政策。

我已附上我的Google Play商店帐户的屏幕截图。 在此处输入图片说明

我的清单文件。

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

1
该权限是否存在于清单中,您在此清单之前已将其删除并且尚未上载新的APK?
2013年

不,您可以看到我的清单文件已附加。
吉克斯(Jiks)2016年

在清单上添加读取电话状态权限
Noorul

我已经尝试添加并再次删除。什么都没做
Narendra Sorathiya '16

Answers:


54

您应用的manifest.xml文件具有这些权限,可从您的设备访问信息,但在Play商店上提交时您没有隐私权政策链接。所以你得到这个警告。

需要应用程序的隐私权政策如果您的应用程序处理了个人或敏感用户数据

在应用的商品详情中添加隐私权政策有助于提高有关如何处理敏感用户和设备数据的透明度。

******更新
Google Play控制台中的隐私权政策设置已更改位置。

在Google Play控制台中,
选择商店状态>应用内容。
在“隐私权政策”下。


18
有什么方法可以从模板创建私有策略吗?
Daniele

我希望您需要显示隐私政策,但您没有网站,该隐私政策文档可能是文本内容,所以最简单的方法是我们可以将所有与隐私政策和权限相关的信息制作成Word文档,然后您就可以将其上传到任何免费的存储桶(例如投递箱等)上,然后您就可以在Play商店提交中使用该网址。
德瓦(Deva)

我正面临着同样的问题。我没有使用READ_PHONE_STATE权限,为什么它说您的应用程序使用此权限?
Jaydip Kalkani

2
因为有AdMob。他们的当前版本12.0.0请求READ_PHONE_STATE(错误),即使您的应用程序清单中没有它也是如此。就是这样了。他们说他们将很快发布对12.0.1的更新。
blackJack

1
Google Play控制台中的隐私权政策设置已更改路径。选择商店状态>应用内容。在“隐私权政策”下。
OnJohn

34

只需尝试将此行添加到清单文件中:

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

并将属性添加xmlns:tools="http://schemas.android.com/tools"<manifest>标签以定义名称空间工具

文档tools:node="remove"

从合并清单中删除此元素。尽管似乎您应该删除该元素,但是当您在合并清单中发现不需要的元素时,使用该元素是必要的,并且该元素是由优先级较低的清单文件提供的(例如,作为导入的库)。


2
这也规避了讨厌的权限警告,否则在有人要下载您的应用程序时会显示警告...必须具备的条件
kwishnu

2
如果用这个,你将无法使用READ_PHONE_STATE
晃Đăng

3
[致命错误]:50:95:与元素类型“ uses-permission”相关联的属性“ tools:node”的前缀“ tools”未绑定。
manish kumar

在清单标题中使用它吗?<manifest xmlns:android =“ schemas.android.com/apk/res/android ” xmlns:tools =“ schemas.android.com/tools ” ...... />
Martin B

6

您项目中具有的依赖项将添加其自己的权限。请执行以下操作以查找“ READ_PHONE_STATE”的来源。

  1. 重建您的android应用程序
  2. 在android studio中按“ Ctrl + Shift + F”(基本上在您喜欢的编辑器中全部搜索)。
  3. 搜索“ READ_PHONE_STATE”,您将在重新生成的清单文件(而不是最初创建的清单文件)中找到该条目。通过它的路径,您可以知道从哪个依赖项中添加了权限。 在此处输入图片说明


5

您需要在清单文件中指定mintarget sdk版本。
否则,android.permission.READ_PHONE_STATE将在导出apk文件时自动添加。

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

大!这样就解决了。当我没有指定目标时,它就被添加了。
塔伦

4

可能是由于任何第三方库都可能包含该权限,因此,根据我在该领域的经验,您必须在该特定信息上添加隐私权政策,这意味着如果您请求在应用中获取帐户权限,则必须声明与您的隐私权政策文件一起,我们将使用该数据(例如电子邮件地址)或其他原因(例如要登录Google Play游戏)。

也可以做到这一点

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

希望这可以指导您如何处理此警告,请为您的应用创建隐私权政策,并将其与商店清单一起附加


谢谢:),但这可以工作<uses-permission android:name =“ android.permission.READ_PHONE_STATE” tools:node =“ remove” />吗?
PriyankaChauhan


3

当前,由于使用12.0.0AdMob库的版本,有些人面临着同样的问题。

将其更新为12.0.1。这应该解决它。你可以在这里阅读更多


鼓励链接到外部资源,但是请在链接周围添加上下文,以便您的其他用户会知道它是什么以及为什么在那里。如果目标站点无法访问或永久离线,请始终引用重要链接中最相关的部分。
baduker

这是我的解决办法。在A-Studio中,您可以查看“合并清单”,它指向Google Play库。
Matt D.

2

如果要在设备> android 6.0上测试您的应用,则还必须明确要求用户授予权限。

如您所见,这里 READ_PHONE_STATE有一个危险级别。

如果权限具有危险级别,则用户必须手动接受或不接受此权限。您别无选择,您必须这样做

为此,请执行以下代码:

如果用户使用的是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
                }
            }
        }
    }

您应该阅读本文以了解更多信息


2
  1. 可能您正在使用9.6.0版的PlayServices。然后,您应该对其进行更新,这是库的错误。更多信息在这里

要么

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

到清单文件。


1
本主题是关于READ_PHONE_STATE权限问题。为什么要使用android.permission.CAMERA?
亚历山大·马洛奇科

2

您是在应用中使用AdSense或其他广告,还是在Google Analytics(分析)中使用?我认为,即使您的清单中没有android.permission.READ_PHONE_STATE,也可以通过广告库添加它。

有免费的模板可以帮助您创建隐私策略。

这是我从Google收到的有关它的电子邮件:

Google Play开发人员,您好:我们的记录显示,您的应用xxx(程序包名称为xxx)目前违反了我们关于个人和敏感信息的用户数据政策。政策问题:Google Play要求开发人员在应用请求或处理敏感的用户或设备信息时提供有效的隐私政策。您的应用请求敏感权限(例如,摄像头,麦克风,帐户,联系人或电话)或用户数据,但其中不包含有效的隐私政策。需要采取的措施:在您应用的“商品详情”页面上和您的应用中包含指向有效隐私权政策的链接。您可以在我们的帮助中心中找到更多信息。或者,您可以通过删除对敏感权限或用户数据的任何请求来选择不执行此要求。如果您的目录中还有其他应用,请确保它们符合我们的重要披露要求。请在2017年3月15日之前解决此问题,否则将采取行政措施限制您应用的显示范围,包括从Play商店中移除(包括移除)。感谢您帮助我们为Google Play用户提供清晰透明的体验。此致Google Play小组敬上


1
我认为可以在这里找到免费隐私政策的良好起点:docracy.com/6516/mobile-privacy-policy-ad-sponsored-apps
Sebastiano Tognacci

我会收到与您相同的电子邮件,除了广告和GAnalytics之外还有其他可能性吗?
wanz

2

您应该放弃android.permission.READ_PHONE_STATE权限。将此添加到清单文件中:

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

1

1.您需要在网站上创建隐私政策页面,并针对您要求的权限更新隐私政策。

2.更新新的SDK删除不需要的权限,然后重新提交应用。




0

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的更新。


0

在将APK上传到Google Play时,我遇到了同样的问题,并出现了错误。我在应用中使用了广告,但清单文件中甚至没有提到READ_PHONE_STATE权限。但是我得到了这个错误。然后,我在build.gradle文件中更改广告的依赖关系。然后解决了我的问题。他们在12.0.1中解决了这个问题。

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

0

一步一步观察,您将了解

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;
    }

2
请在您的代码中添加一些解释,以便其他人可以从中学习
Nico Haase

0

如果您使用包device_id获取唯一的设备ID,则将添加一个android.permission.READ_PHONE_STATE您不知情情况下,最终将导致Play商店警告。

相反,您可以将device_info包用于相同的目的,而无需额外的权限。检查此SO线程


0

如果您仔细阅读该消息,将会看到您正在使用摄像头,麦克风,联系人,存储和电话等权限,并且您未提供隐私权政策。您需要提供隐私政策。您可以在Google上找到有关android隐私政策的更多信息

要添加隐私权政策游戏内控制台,

  1. 查找并选择所有应用

  2. 选择您需要添加隐私策略的应用程序。

  3. 在页面末尾找到策略

  4. 单击应用程序内容以编辑您的应用程序的列表。

  5. 找到字段标为P rivacy政策,把你的隐私政策的网页的URL

  6. 单击“保存”,一切顺利。

注意:您需要有一个公共网页来托管您的隐私政策。Google Play商店不会为您托管该政策。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.