Android 12 Security and Privacy Settings Overview
This article provides a comprehensive overview of Android 12's new security and privacy features, including the Privacy Information Center, location accuracy levels, package visibility filtering, deprecation of system‑dialog closing intents, app hibernation, permission group queries, microphone and camera toggles, and numerous other system‑level changes that affect app behavior and user experience.
Security and Privacy Settings
Privacy Information Center
The system adds a "Privacy Information Center" where users can view the past 24 hours of permission usage for location, camera, and microphone, and see exact timestamps for each request.
Location Accuracy
Android distinguishes between Coarse Location (≈1.6 km radius) granted via ACCESS_COARSE_LOCATION and Fine Location (≈50 m, sometimes a few meters) granted via ACCESS_FINE_LOCATION . When both permissions are requested, the system dialog offers the user a choice between precise and approximate location.
Package Visibility Filtering
On devices running Android 12 or higher, apps targeting API 30+ have their results from methods such as getAllPermissionGroups() , getPermissionGroupInfo() , getPermissionInfo() , and queryPermissionsByGroup() filtered based on package visibility.
Deprecation of ACTION_CLOSE_SYSTEM_DIALOGS
Starting with Android 12, the ACTION_CLOSE_SYSTEM_DIALOGS intent is deprecated. Apps targeting Android 12+ that attempt to broadcast this intent receive a SecurityException . Apps targeting Android 11 or lower see a log‑cat denial message unless they fall under specific exception cases (instrumented tests, accessibility services, etc.).
App Hibernation
When an app targeting Android 12 remains unused for several months, the system automatically revokes all granted permissions and places the app in a hibernated state.
Permission Group Queries
Developers can now query how platform permissions are grouped using getGroupOfPlatformPermission() and retrieve all permissions belonging to a group with getPlatformPermissionsForGroup() .
Microphone and Camera Global Switch
Supported devices provide a single toggle that enables or disables the microphone and camera for all apps.
Microphone/Camera Indicator
On Android 12+ devices, an icon appears in the status bar whenever an app accesses the microphone or camera.
Untrusted Touch Event Blocking
Android 12 blocks certain touch events that could be used to bypass security, applying an overlay that prevents touch‑through in untrusted windows, with a few documented exceptions.
Removal of BouncyCastle Implementations
The platform drops deprecated BouncyCastle crypto implementations (including all AES algorithms) in favor of Conscrypt. Apps using 512‑bit keys, invalid key sizes with KeyGenerator , or non‑12‑byte GCM parameters must adjust their cryptographic code.
New Bluetooth Permissions
Android 12 introduces new Bluetooth permissions that allow apps to scan nearby devices without requesting location permissions.
Device Property Attestation
Apps targeting Android 12+ can verify device properties (BRAND, DEVICE, MANUFACTURER, MODEL, PRODUCT) in certificate attestation via setDevicePropertiesAttestationIncluded() .
BiometricPrompt Localization
New APIs expose localized strings for button labels, prompts, and setting names used in BiometricPrompt dialogs.
Pixel‑Only Phishing Detection
On supported Pixel devices, Android 12 performs phishing detection for messages received in popular instant‑messaging apps.
User Experience
Display Size APIs
Methods Display.getRealSize() and Display.getRealMetrics() are deprecated in Android 12; developers should use the WindowMetrics API and Configuration.densityDpi for screen dimensions and density.
Game Mode
A new API lets users optimize games for performance or battery life.
Splash Screen API
Custom launch screens must migrate to the new SplashScreen API introduced in Android 12.
Network Intent Filtering
Only apps explicitly allowed to handle a specific domain in a generic web intent will receive the intent.
Multi‑Window Standardization
Multi‑window mode becomes the default behavior on large‑screen devices.
Rich Notification Images
MessagingStyle and BigPictureStyle now support animated images, and users can send image replies directly from the notification shade.
Immersive Mode Gesture Improvements
Gestural navigation in immersive mode is refined, with backward‑compatible behavior for sticky immersive mode.
Core Functionality
Automatic App Updates
Apps using the PackageInstaller API can call setRequireUserAction() to perform silent updates without user confirmation.
Device Chipset Information
Two new constants, Build.SOC_MANUFACTURER and Build.SOC_MODEL , expose SoC vendor and model details.
Core Java API Updates
Refer to the official Android documentation for a list of updated Java APIs in Android 12.
Connectivity
Wi‑Fi Aware (NAN) Enhancements
New callbacks such as onServiceLost() , more efficient data‑path setup, and WifiAwareManager.getAvailableAwareResources() to query available resources.
NFC Payments Without Screen On
Set requireDeviceScreenOn to false to allow NFC payments when the screen is off.
Concurrent P2P + Internet
When supported, P2P connections no longer disrupt existing Wi‑Fi connections; check support via WifiManager.isMultiStaConcurrencySupported() .
Performance
Foreground Service Start Restrictions
Apps cannot start foreground services while running in the background on Android 12+, unless they meet specific exception criteria; otherwise a ForegroundServiceStartNotAllowedException is thrown.
Exact Alarm Permission
Apps that schedule exact alarms must request the SCHEDULE_EXACT_ALARM permission, which appears under special app access settings.
Notification Trampoline Restrictions
Apps targeting Android 12+ cannot launch activities from services or broadcast receivers in response to notification clicks; they must start activities directly from the UI thread.
Graphics and Images
AVIF Image Support
Android 12 adds native support for AVIF images, offering higher visual quality at smaller file sizes compared to JPEG and WebP.
Refresh‑Rate Switching
Refresh‑rate changes are now possible even on displays that do not support seamless switching.
Tombstone Access
Developers can access native crash tombstones without using ADB.
Image Effects API
New APIs simplify applying blur, color filters, and other visual effects to views.
Native Animated Image Decoding
NDK image decoding now supports full frame data for GIF and WebP animations.
Storage
Media Management Permission
Apps targeting Android 12 can request MANAGE_MEDIA (plus READ_EXTERNAL_STORAGE and optionally ACCESS_MEDIA_LOCATION ) to modify, delete, or trash files without prompting the user each time.
Media
Audio Focus
When an app requests audio focus while another app is playing, the system now fades out the currently playing app.
Rich Media Input
A unified API lets apps receive rich media (images, video, etc.) from clipboard, keyboard, or drag‑and‑drop sources.
Media Transcoding Compatibility
Modern video formats are automatically transcoded for playback on devices that lack native support.
MediaDrm Updates
New methods simplify checking for secure decoder components.
Video Encoding Improvements
Standardized keys for controlling quantization parameters (QP) are added to MediaFormat , and a minimum quality threshold is enforced for high‑complexity scenes.
Performance Classes
Devices declare a performance class; apps can query Build.VERSION.MEDIA_PERFORMANCE_CLASS to tailor experiences. Example: if (Build.VERSION.MEDIA_PERFORMANCE_CLASS >= Build.VERSION_CODES.S) { // Provide the most premium experience for highest performing devices } else if (Build.VERSION.MEDIA_PERFORMANCE_CLASS == Build.VERSION_CODES.R) { // Provide a high quality experience } else { // Remove extras to keep experience functional }
Other Changes
Activity Lifecycle
Pressing the back button no longer finishes the root launcher activity; instead, the activity and its task are moved to the background, allowing faster warm‑start recovery.
IEG Growth Platform Technology Team
Official account of Tencent IEG Growth Platform Technology Team, showcasing cutting‑edge achievements across front‑end, back‑end, client, algorithm, testing and other domains.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.