this post was submitted on 25 Jul 2024
143 points (93.9% liked)

Asklemmy

43392 readers
1416 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy ๐Ÿ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[โ€“] russjr08@bitforged.space 1 points 1 month 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.