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

时间:2016-12-20 02:59:27

标签: android android-studio permissions android-manifest google-console-developer

在清单中没有添加android.permission.READ_PHONE_STATE。权限。

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

您的应用有一个版本号为1的apk,它请求以下权限:android.permission.READ_PHONE_STATE。在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>

23 个答案:

答案 0 :(得分:36)

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

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

Adding a privacy policy to your app's store listing helps provide transparency about how you treat sensitive user and device data.

答案 1 :(得分:24)

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

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

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

来自tools:node="remove"的{​​{3}}:

  

从合并的清单中删除此元素。虽然您似乎应该只删除此元素,但是当您在合并清单中发现一个您不需要的元素时,使用此元素是必要的,并且它是由优先级较低的清单文件提供的。不受控制(例如导入的库)。

答案 2 :(得分:6)

如果您使用React Native

此问题已在此处完全解决

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

答案 3 :(得分:5)

项目中的依赖项将添加自己的权限。 请在下面找到&#34; READ_PHONE_STATE&#34;来了。

  1. 重建您的Android应用程序
  2. 按&#34; Ctrl + Shift + F&#34;在android studio中(基本上在您喜欢的编辑器中进行搜索)。
  3. 搜索&#34; READ_PHONE_STATE&#34;,您会在重新生成的清单文件(不是您最初创建的文件)中找到该条目。通过它的路径,您可以知道从哪个依赖项添加权限。 enter image description here

答案 4 :(得分:4)

您需要在清单文件中指定mintarget sdk版本 如果不是,则在导出apk文件时会自动添加android.permission.READ_PHONE_STATE

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

答案 5 :(得分:3)

这可能是因为任何第三方lib可能包含该权限,因此根据我在此领域的经验您必须添加有关该特定信息的隐私政策,如果您在您的应用中要求获得帐户权限而不是声明我们使用您的隐私政策文件,我们使用该数据,即电子邮件地址或任何有理由登录谷歌游戏的原因。

也可以这样做

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

希望这将指导您为此警告做什么为您的应用创建隐私权政策并将其附加到商店列表

答案 6 :(得分:3)

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

将其更新为12.0.1。这应该解决它。您可以阅读更多here

答案 7 :(得分:2)

  1. 可能您正在使用版本9.6.0的PlayServices。然后你应该更新它,这是库的bug。更多信息here
  2. OR

    1. 添加

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

    2. 到您的清单文件。

答案 8 :(得分:2)

您应该放弃loaded_file = np.loadtxt("my_file.txt", dtype='f') 权限。将其添加到您的清单文件中:

android.permission.READ_PHONE_STATE

答案 9 :(得分:2)

您是在自己的应用中使用AdSense或其他广告,还是使用Google Analytics?我想如果您这样做,即使您的清单中没有android.permission.READ_PHONE_STATE,也会被广告库添加。

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

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

  

您好Google Play开发者,我们的记录显示您的应用,xxx,用   包名称xxx,目前违反了我们的用户数据政策   个人和敏感信息。政策问题:Google Play需要   开发人员在应用程序请求时提供有效的隐私策略   处理敏感的用户或设备信息。您的应用请求   敏感权限(例如相机,麦克风,帐户,联系人或   电话)或用户数据,但不包括有效的隐私政策。   需要采取的措施:在您的网站上添加指向有效隐私政策的链接   应用程序的商店列表页面和您的应用程序内。你可以找到更多   我们帮助中心的信息。或者,您可以选择退出   删除对敏感权限或用户的任何请求的要求   数据。如果您的目录中还有其他应用,请确保   它们符合我们的Prominent Disclosure要求。请   在2017年3月15日之前解决此问题,否则将采取行政措施   用于限制应用的可见性,包括删除   来自Play商店。感谢您帮助我们提供明确的和   Google Play用户的透明体验。此致,Google Play   队

答案 10 :(得分:2)

如果您在设备上测试应用&gt; android 6.0你还要明确要求用户授予权限。

正如您所看到的,here 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
                }
            }
        }
    }

您应该阅读this article以了解更多信息

答案 11 :(得分:1)

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

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

答案 12 :(得分:1)

我找到了这个免费的网站,该网站将为您制定政策并将其托管:

https://www.freeprivacypolicy.com/

然后将其添加到“商店列表”下的Play商店-在底部添加您从https://www.freeprivacypolicy.com/获得的政策的公共链接

答案 13 :(得分:1)

一步一步看一眼,您就会理解

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

答案 14 :(得分:1)

可能是您需要添加或更新您的隐私政策。 您可以使用此模板轻松创建隐私政策

https://app-privacy-policy-generator.firebaseapp.com/

答案 15 :(得分:1)

您需要在 Google Play 管理中心为您的应用提供隐私政策,或移除需要隐私政策的权限。

到这里: https://play.google.com/console/app/app-content/summary

或者为您的应用打开 Google Play 管理中心,一直滚动到左侧导航菜单的底部,然后在“政策”标题下点击“应用内容”。

有关何时以及为何需要隐私政策的更多信息,请参阅the docs here

答案 16 :(得分: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更新版本。

答案 17 :(得分:0)

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

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

答案 18 :(得分:0)

这是第三方图书馆。您可以在build/outputs/logs/manifest-merger-release-report.txt

中找到罪魁祸首

答案 19 :(得分:0)

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

相反,您可以将device_id软件包用于相同的目的,而无需额外的许可。选中此device_info

答案 20 :(得分:0)

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

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

  1. 找到并选择所有应用

  2. 选择您要向其添加隐私政策的应用程序。

  3. 在页面末尾找到政策

  4. 点击应用内容以编辑应用列表。

  5. 找到标记为P 隐私政策的字段,然后放置隐私政策页面的URL

  6. 点击保存,您就可以了。

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

答案 21 :(得分:0)

我是这样解决这个问题的: 谷歌游戏机 找到应用内容->隐私政策 接着 隐私政策网址设置为 您可以提交您的页面。

答案 22 :(得分:-1)

在 Google 测试“内部测试版本”上上传应用 apk 文件后,我无法在 Google 上发布我的应用,因为错误显示。 附加屏幕截图请解决建议如何解决此错误。 在 Mobiroller 应用程序生成器上生成的应用程序。 即使在我看到 [错误消息:“您的 APK 或 Android App Bundle 正在使用需要隐私政策的权限:(android.permission.CAMERA)”。 1在我的应用中的 Mobiroller 中添加了隐私政策。

看到错误消息:“您的 APK 或 Android App Bundle 正在使用需要隐私政策的权限:(android.permission.CAMERA)。”