Reputation: 748
we have an App and developer added this many permissions inside the manifest file.The App is available in play-store, but last time when we updated the App, google play rejected the update saying our app is trying unauthorized access of services.What are we doing wrong here? we didn't changed anything in the update (just fixed few errors). Also i have seen other app doing same purpose in the play store but it have only 3 permissions instead of all of the below.Are these permissions mandatory? can we skip so that we can update our app successfully? what are we missing?
<?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>
Upvotes: 2
Views: 1913
Reputation: 10309
Except these special permissions (GET_TASKS
, MODIFY_PHONE_STATE
, SYSTEM_ALERT_WINDOW
), you're fine to use rest of permissions which are normal permissions.
GET_TASKS permission is deprecated in API 21, but since your app is targeted for API 20, not sure if this should affect you.
getRecentTasks: this method is no longer available to third party applications: the introduction of document-centric recents means it can leak personal information to the caller.
The MODIFY_PHONE_STATE permission was marked as "for system use only" in Android 2.3. You may try out these solutions.
SYSTEM_ALERT_WINDOW is a particularly sensitive permission, so most apps should not use them. See if you can avoid using it.
Upvotes: 1