In Android, what is the difference between 'normal', 'dangerous', 'signature', and 'signatureOrSystem' (now 'privileged') permission protection levels?
- A.Normal and Dangerous both require runtime prompts; Signature requires the app to be in the foreground; Privileged requires device administrator enrollment
- B.Normal: granted to all apps; Dangerous: requires root; Signature: granted to any app on the same device; Privileged: granted to Google apps only
- C.Normal: granted at install time; Dangerous: permanently denied until device root; Signature: requires user to type the signing fingerprint; Privileged: requires hardware TEE attestation
- D.Normal: auto-granted at install with no prompt (low risk). Dangerous: requires runtime user approval (access to sensitive data). Signature: auto-granted only to apps signed with the same certificate as the declaring app. Privileged: granted only to apps in /system/priv-app/ signed with the platform key
Why D is correct