有关Google Play开发者政策违规警告的Android权限:操作必需

时间:2017-02-11 08:51:16

标签: android android-manifest build.gradle

我在Google Play商店中创建了一个应用程序,并显示了所有停放在Kortrijk的汽车的位置,这些汽车是由传感器实时注册的,应用程序显示所有停放的汽车和免费停车位置Googlemap mapview。

但是,几天前我收到Google Play开发人员的警告,要求采取隐私政策。

我的清单就像:

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

    <!-- Internet permission for network operations -->
    <uses-permission android:name="android.permission.INTERNET" />

    <!-- Creating Permission to receive Google Maps -->
    <permission
        android:name="be.programmeercursussen.parkingkortrijk.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/parking_icon"
        android:label="@string/app_name"
        android:theme="@style/MaterialTheme" >
        -->
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="my Api key ..." />

        <!-- SplashScreen => startup screen -->
        <activity
            android:name=".SplashScreen"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

        <!-- Main activity -->
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>
        <!-- ParkingDetail activity -->
        <activity
            android:name=".ParkingDetailActivity"
            android:label="@string/title_activity_parking_detail"
            android:screenOrientation="portrait" >
        </activity>
        <!-- StraatParkeren activity -->
        <activity
            android:name=".StraatParkeren"
            android:label="@string/title_activity_straat_parkeren"
            android:screenOrientation="portrait" >
        </activity>
    </application>

在开发者控制台中,它说我已获得Get_accounts权限,这是违规行为,但此权限在应用中并未进行硬编码。但后来我发现Google Play服务库会自动添加这个我觉得呢?所以我的编译行

compile 'com.google.android.gms:play-services:7.5.0"

我改为选择性API部分

compile 'com.google.android.gms:play-services-maps:7.5.0"

将此行更改为此并生成apk并尝试安装它,在智能手机上安装时,应用程序访问的内容概述中不再出现get_accounts问题。

所以我在build.gradle中的依赖项现在是:

dependencies {
    /*
    find latest gradle versions on : http://gradleplease.appspot.com/
     */
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // appcompat library
    compile 'com.android.support:appcompat-v7:22.2.1'
    // material design library
    compile 'com.android.support:design:22.2.1'
    // recyclerview
    compile 'com.android.support:recyclerview-v7:22.2.1'
    // cardview
    compile 'com.android.support:cardview-v7:22.2.1'
    // google play services, selective API (maps) !!!
    // https://developers.google.com/android/guides/setup#split
    compile 'com.google.android.gms:play-services-maps:7.5.0'
    // Jsoup library
    compile 'org.jsoup:jsoup:1.8.3'
}

现在,如果我基于manifest和build.gradle生成apk,现在它说安装应用程序时可以访问:

- approximate location (network-based);
- modify or delete the contents of your SD card
- read the contents of your SD card
- view network state (full Internet access)

我确信需要查看网络状态,否则应用无法从互联网上读取实时xml。

但我不确定大概位置是否会让我违反新的隐私条款?

此外,我不知道为什么该应用可以读取,修改或删除SD卡的内容,因为该应用不应该使用这些...是否有任何自动设置的权限manifest和build.gradle?

感谢您提前提供任何帮助,

Grtz Davy

1 个答案:

答案 0 :(得分:1)

没有使用标准清单设置权限。

由于您使用的是以下8.3版本的MAPS API,因此您必须包括 导致修改或删除内容的WRITE_EXTERNAL_STORAGE https://developers.google.com/maps/documentation/android-api/config#specify_android_permissions

location权限也附带MAPS api