Android权限是可选的还是必需的?

时间:2015-11-12 04:11:27

标签: android android-permissions

我们有一个应用程序和开发人员在清单文件中添加了这么多权限。该应用程序在Play商店中可用,但上次更新应用程序时,谷歌播放拒绝了更新说我们的应用程序正在尝试未经授权的服务访问我们这里做错了什么?我们没有更新任何内容(只修复了一些错误)。 此外,我已经看到其他应用程序在游戏商店中做同样的目的,但它只有3个权限,而不是所有以下。这些权限是强制性的吗?可以跳过,以便我们可以成功更新我们的应用程序吗?我们缺少什么?

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

    android:versionCode="2"
    android:versionName="1.0.1" >
 <!-- android:installLocation="preferExternal"-->
    <uses-sdk
        android:minSdkVersion="8"
        android:maxSdkVersion="20"
        android:targetSdkVersion="20" />

    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
    <uses-permission android:name="android.permission.REORDER_TASKS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/TitleBarTheme" >



        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".NextActivity"
            android:label="@string/app_name" />

        <receiver android:name=".CheckRunningApplicationReceiver" />
        <receiver android:name=".NotificationListener" />
        <receiver android:name=".StartupReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="StartupReceiver_Manual_Start" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>
        <receiver android:name=".MyWidgetProvider" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>

            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/demo_widget_provider" />
        </receiver>
        <receiver
            android:name=".MyWidgetIntentReceiver"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.netsaver.intent.action.UPDATE_WIDGET" />
            </intent-filter>

            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/demo_widget_provider" />
        </receiver>

         <activity
            android:name=".PopUpActivity"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Dialog" >
        </activity>
    </application>

</manifest>

1 个答案:

答案 0 :(得分:1)

除了这些特殊权限(GET_TASKSMODIFY_PHONE_STATESYSTEM_ALERT_WINDOW)之外,您还可以使用其他正常权限。

API 21中已弃用

GET_TASKS权限,但由于您的应用是针对API 20的,因此不确定这是否会对您产生影响。

  

getRecentTasks :此方法不再适用于第三方应用程序:   引入以文档为中心的最近意味着它可以泄漏个人信息   给来电者的信息。

MODIFY_PHONE_STATE权限标记为&#34;仅供系统使用&#34;在Android 2.3中。您可以尝试these solutions

SYSTEM_ALERT_WINDOW是一项特别敏感的权限,因此大多数应用都不应使用它们。看看你是否可以避免使用它。