Search code examples
androidapkruntime-permissions

Are runtime permissions enabled as a default if I install with the APK file?


I have an Application which is published by an APK, not through the Google play store.

Its takgetSdkVersion is 23.
On a 23(Marshmallow) device, I installed the Application with the APK(release build type) file and then I looked the permission setting of my Application right away.

It shows me that all permissions are enabled as a default.

Is it normal?


Solution

  • Permissions are divided into several protection levels which affects the requirement of runtime permission requests.There are three protection levels which are taken into consideration for third-party apps: Normal, Signature, and Dangerous permissions.

    Normal permissions

    System automatically grants the app that permission at install time

    Signature permissions

    The system grants these app permissions at install time, but only when the app that attempts to use a permission is signed by the same certificate as the app that defines the permission.

    Dangerous Permissions

    The user has to explicitly grant the permission to the app by prompting the user to grant permissions at runtime.

    Note:

    Since the permissions request-approve model has been enforced since Android Marshmallow, apps have targetSdkVersion < 23 won't have to implement it. Prior to marshmallow the permissions were granted at install time.

    It shows me that all permissions are enabled as a default.

    Is it normal?

    No, its not normal. You might have granted the permissions previously and you are just updating the current version of app. Re-verify your targetSdkVersion.