• RussA
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 months ago

    You’re thinking of install-time permissions, which technically does still exist, but pretty much most of the permissions you’d actually care about are runtime (or special) permissions - the application must request these from the user.

    There are three main types of permissions on Android:

    • Install-time, these are permissions granted to an application upon installation
      • In this group is also signature-level permissions, which are only granted to applications that are signed by the same party as the OS itself (usually your OEM)
    • Runtime permissions (also known as “Dangerous permissions” within Android internally), which are permissions that the application must request from the user. The system draws the permissions dialog, not the application itself. Permission can also be granted one-time only, or permanently (unless the user revokes the permission)
    • Special permissions, which also need to be requested by the application - except for these the system will not draw a permissions dialog, instead the application must send the user to the “Special App Access” menu within system settings, and the user must turn on the permission there. The best way I can describe these types of permissions is, “permission that the user really must think about before granting” - such as giving an app the ability to bypass DND rules, drawing over other apps, installing APKs from unknown sources, accessing all device files, etc. IIRC, Google also requires that developers provide justification for requesting these permissions when submitting to the Google Play Store as well.

    Runtime permissions were introduced in Android 6.0, which was released in 2015, I am not sure when the special permission system was implemented however.