| Int | CERT_INPUT_RAW_X509
                         Certificate input bytes: the input bytes represent an encoded X.509 Certificate which could be generated using an CertificateFactory | 
                  
                    | Int | CERT_INPUT_SHA256
                         Certificate input bytes: the input bytes represent the SHA256 output of an encoded X.509 Certificate. | 
                  
                    | Int | COMPONENT_ENABLED_STATE_DEFAULT
                         Flag for setApplicationEnabledSetting(java.lang.String,int,int)andsetComponentEnabledSetting(android.content.ComponentName,int,int): This component or application is in its default enabled state (as specified in its manifest).  Explicitly setting the component state to this value restores it's enabled state to whatever is set in the manifest. | 
                  
                    | Int | COMPONENT_ENABLED_STATE_DISABLED
                         Flag for setApplicationEnabledSetting(java.lang.String,int,int)andsetComponentEnabledSetting(android.content.ComponentName,int,int): This component or application has been explicitly disabled, regardless of what it has specified in its manifest. | 
                  
                    | Int | COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED
                         Flag for setApplicationEnabledSetting(java.lang.String,int,int)only: This application should be considered, until the point where the user actually wants to use it. This means that it will not normally show up to the user (such as in the launcher), but various parts of the user interface can useGET_DISABLED_UNTIL_USED_COMPONENTSto still see it and allow the user to select it (as for example an IME, device admin, etc). Such code, once the user has selected the app, should at that point also make it enabled. This option currently can not be used withsetComponentEnabledSetting(android.content.ComponentName,int,int). | 
                  
                    | Int | COMPONENT_ENABLED_STATE_DISABLED_USER
                         Flag for setApplicationEnabledSetting(java.lang.String,int,int)only: The user has explicitly disabled the application, regardless of what it has specified in its manifest. Because this is due to the user's request, they may re-enable it if desired through the appropriate system UI. This option currently cannot be used withsetComponentEnabledSetting(android.content.ComponentName,int,int). | 
                  
                    | Int | COMPONENT_ENABLED_STATE_ENABLED
                         Flag for setApplicationEnabledSetting(java.lang.String,int,int)andsetComponentEnabledSetting(android.content.ComponentName,int,int): This component or application has been explictily enabled, regardless of what it has specified in its manifest. | 
                  
                    | Int | DELETE_ARCHIVE
                         Flag parameter for PackageInstaller.uninstall(VersionedPackage, int, IntentSender)to indicate that the deletion is an archival. This flag is only for internal usage as part ofPackageInstaller.requestArchive. | 
                  
                    | Int | DONT_KILL_APP
                         Flag parameter for setComponentEnabledSetting(android.content.ComponentName,int,int)to indicate that you don't want to kill the app containing the component. Be careful when you set this since changing component states can make the containing application's behavior unpredictable. | 
                  
                    | String | EXTRA_VERIFICATION_ID
                         Extra field name for the ID of a package pending verification. Passed to a package verifier and is used to call back to PackageManager.verifyPendingInstall(int, int) | 
                  
                    | String | EXTRA_VERIFICATION_RESULT
                         Extra field name for the result of a verification, either VERIFICATION_ALLOW, orVERIFICATION_REJECT. Passed to package verifiers after a package is verified. | 
                  
                    | String | FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports running activities on secondary displays. Displays here refers to both physical and virtual displays. Disabling this feature can impact support for application projection use-cases and support for virtual devices on the device. | 
                  
                    | String | FEATURE_APP_WIDGETS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports app widgets. | 
                  
                    | String | FEATURE_AUDIO_LOW_LATENCY
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device's audio pipeline is low-latency, more suitable for audio applications sensitive to delays or lag in sound input or output. | 
                  
                    | String | FEATURE_AUDIO_OUTPUT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes at least one form of audio output, as defined in the Android Compatibility Definition Document (CDD) section 7.8 Audio. | 
                  
                    | String | FEATURE_AUDIO_PRO
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has professional audio level of functionality and performance. | 
                  
                    | String | FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature which indicates whether head tracking for spatial audio operates with low-latency, as defined by the CDD criteria for the feature. | 
                  
                    | String | FEATURE_AUTOFILL
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports autofill of user credentials, addresses, credit cards, etc via integration withautofill. | 
                  
                    | String | FEATURE_AUTOMOTIVE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: This is a device dedicated to showing UI on a vehicle headunit. A headunit here is defined to be inside a vehicle that may or may not be moving. A headunit uses either a primary display in the center console and/or additional displays in the instrument cluster or elsewhere in the vehicle. Headunit display(s) have limited size and resolution. The user will likely be focused on driving so limiting driver distraction is a primary concern. User input can be a variety of hard buttons, touch, rotary controllers and even mouse- like interfaces. | 
                  
                    | String | FEATURE_BACKUP
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device can perform backup and restore operations on installed applications. | 
                  
                    | String | FEATURE_BLUETOOTH
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device is capable of communicating with other devices via Bluetooth. | 
                  
                    | String | FEATURE_BLUETOOTH_LE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device is capable of communicating with other devices via Bluetooth Low Energy radio. | 
                  
                    | String | FEATURE_BLUETOOTH_LE_CHANNEL_SOUNDING
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device is capable of ranging with other devices using channel sounding via Bluetooth Low Energy radio. | 
                  
                    | String | FEATURE_CAMERA
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a camera facing away from the screen. | 
                  
                    | String | FEATURE_CAMERA_ANY
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has at least one camera pointing in some direction, or can support an external camera being connected to it. | 
                  
                    | String | FEATURE_CAMERA_AR
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: At least one of the cameras on the device supports the MOTION_TRACKINGcapability level. | 
                  
                    | String | FEATURE_CAMERA_AUTOFOCUS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device's camera supports auto-focus. | 
                  
                    | String | FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: At least one of the cameras on the device supports themanual post-processingcapability level. | 
                  
                    | String | FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: At least one of the cameras on the device supports themanual sensorcapability level. | 
                  
                    | String | FEATURE_CAMERA_CAPABILITY_RAW
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: At least one of the cameras on the device supports theRAWcapability level. | 
                  
                    | String | FEATURE_CAMERA_CONCURRENT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device's main front and back cameras can stream concurrently as described inandroid.hardware.camera2.CameraManager#getConcurrentCameraIds(). While android.hardware.camera2.CameraManager#getConcurrentCameraIds()and associated APIs are only available on API level 30 or newer, this feature flag may be advertised by devices on API levels below 30. If present on such a device, the same guarantees hold: The main front and main back camera can be used at the same time, with guaranteed stream configurations as defined in the table for concurrent streaming atandroid.hardware.camera2.CameraDevice#createCaptureSession(android.hardware.camera2.params.SessionConfiguration). | 
                  
                    | String | FEATURE_CAMERA_EXTERNAL
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device can support having an external camera connected to it. The external camera may not always be connected or available to applications to use. | 
                  
                    | String | FEATURE_CAMERA_FLASH
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device's camera supports flash. | 
                  
                    | String | FEATURE_CAMERA_FRONT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a front facing camera. | 
                  
                    | String | FEATURE_CAMERA_LEVEL_FULL
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: At least one of the cameras on the device supports thefull hardwarecapability level. | 
                  
                    | String | FEATURE_CANT_SAVE_STATE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports theandroid.R.attr#cantSaveStateAPI. | 
                  
                    | String | FEATURE_COMPANION_DEVICE_SETUP
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports android.companion.CompanionDeviceManager#associate with devices viaandroid.companion.CompanionDeviceManager. | 
                  
                    | String | FEATURE_CONNECTION_SERVICE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The Connection Service API is enabled on the device. | 
                  
                    | String | FEATURE_CONSUMER_IR
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device is capable of communicating with consumer IR devices. | 
                  
                    | String | FEATURE_CONTROLS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports a system interface for the user to select and bind device control services provided by applications. | 
                  
                    | String | FEATURE_CREDENTIALS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports retrieval of user credentials, via integration with credential providers. | 
                  
                    | String | FEATURE_DEVICE_ADMIN
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports device policy enforcement via device admins. | 
                  
                    | String | FEATURE_DEVICE_LOCK
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports locking (for example, by a financing provider in case of a missed payment). | 
                  
                    | String | FEATURE_EMBEDDED
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: This is a device for IoT and may not have an UI. An embedded device is defined as a full stack Android device with or without a display and no user-installable apps. | 
                  
                    | String | FEATURE_ETHERNET
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: This device supports ethernet. | 
                  
                    | String | FEATURE_EXPANDED_PICTURE_IN_PICTURE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports expanded picture-in-picture multi-window mode. | 
                  
                    | String | FEATURE_FACE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has biometric hardware to perform face authentication. | 
                  
                    | String | FEATURE_FAKETOUCH
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device does not have a touch screen, but does support touch emulation for basic events. For instance, the device might use a mouse or remote control to drive a cursor, and emulate basic touch pointer events like down, up, drag, etc. All devices that support android.hardware.touchscreen or a sub-feature are presumed to also support faketouch. | 
                  
                    | String | FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device does not have a touch screen, but does support touch emulation for basic events that supports distinct tracking of two or more fingers. This is an extension ofFEATURE_FAKETOUCHfor input devices with this capability. Note that unlike a distinct multitouch screen as defined byFEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT, these kinds of input devices will not actually provide full two-finger gestures since the input is being transformed to cursor movement on the screen. That is, single finger gestures will move a cursor; two-finger swipes will result in single-finger touch events; other two-finger gestures will result in the corresponding two-finger touch event. | 
                  
                    | String | FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device does not have a touch screen, but does support touch emulation for basic events that supports tracking a hand of fingers (5 or more fingers) fully independently. This is an extension ofFEATURE_FAKETOUCHfor input devices with this capability. Note that unlike a multitouch screen as defined byFEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND, not all two finger gestures can be detected due to the limitations described forFEATURE_FAKETOUCH_MULTITOUCH_DISTINCT. | 
                  
                    | String | FEATURE_FINGERPRINT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has biometric hardware to detect a fingerprint. | 
                  
                    | String | FEATURE_FREEFORM_WINDOW_MANAGEMENT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports freeform window management. Windows have title bars and can be moved and resized. | 
                  
                    | String | FEATURE_GAMEPAD
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has all of the inputs necessary to be considered a compatible game controller, or includes a compatible game controller in the box. | 
                  
                    | String | FEATURE_HARDWARE_KEYSTORE
                         Feature for This feature version is guaranteed to be set for all devices launching with Android 12 and may be set on devices launching with an earlier version. If the feature version is set, it will at least have the value 40. If it's not set the device may have a version of hardware-backed keystore but it may not support all features listed above.getSystemAvailableFeaturesandhasSystemFeature(java.lang.String,int): If this feature is supported, the device implements the Android Keystore backed by an isolated execution environment. The version indicates which features are implemented in the isolated execution environment: | 
                  
                    | String | FEATURE_HIFI_SENSORS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports high fidelity sensor processing capabilities. | 
                  
                    | String | FEATURE_HOME_SCREEN
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports a home screen that is replaceable by third party applications. | 
                  
                    | String | FEATURE_IDENTITY_CREDENTIAL_HARDWARE
                         Feature for getSystemAvailableFeaturesandhasSystemFeature(java.lang.String,int): If this feature is supported, the device supportsandroid.security.identity.IdentityCredentialStoreimplemented in secure hardware at the given feature version. Known feature versions include:   
                          202009: corresponds to the features included in the Identity Credential API shipped in Android 11.202101: corresponds to the features included in the Identity Credential API shipped in Android 12.202201: corresponds to the features included in the Identity Credential API shipped in Android 13. | 
                  
                    | String | FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS
                         Feature for getSystemAvailableFeaturesandhasSystemFeature(java.lang.String,int): If this feature is supported, the device supportsandroid.security.identity.IdentityCredentialStoreimplemented in secure hardware with direct access at the given feature version. SeeFEATURE_IDENTITY_CREDENTIAL_HARDWAREfor known feature versions. | 
                  
                    | String | FEATURE_INPUT_METHODS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports adding new input methods implemented with theandroid.inputmethodservice.InputMethodServiceAPI. | 
                  
                    | String | FEATURE_IPSEC_TUNNELS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has the requisite kernel support for multinetworking-capable IPsec tunnels. This feature implies that the device supports XFRM Interfaces (CONFIG_XFRM_INTERFACE), or VTIs with kernel patches allowing updates of output/set mark via UPDSA. | 
                  
                    | String | FEATURE_IPSEC_TUNNEL_MIGRATION
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has the requisite kernel support for migrating IPsec tunnels to new source/destination addresses. This feature implies that the device supports XFRM Migration (CONFIG_XFRM_MIGRATE) and has the kernel fixes to support cross-address-family IPsec tunnel migration | 
                  
                    | String | FEATURE_IRIS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has biometric hardware to perform iris authentication. | 
                  
                    | String | FEATURE_KEYSTORE_APP_ATTEST_KEY
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a Keystore implementation that can create application-specific attestation keys. Seeandroid.security.keystore.KeyGenParameterSpec.Builder#setAttestKeyAlias. | 
                  
                    | String | FEATURE_KEYSTORE_LIMITED_USE_KEY
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a Keystore implementation that can enforce limited use key in hardware with any max usage count (including count equals to 1). | 
                  
                    | String | FEATURE_KEYSTORE_SINGLE_USE_KEY
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a Keystore implementation that can only enforce limited use key in hardware with max usage count equals to 1. | 
                  
                    | String | FEATURE_LEANBACK
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports leanback UI. This is typically used in a living room television experience, but is a software feature unlikeFEATURE_TELEVISION. Devices running with this feature will use resources associated with the "television" UI mode. | 
                  
                    | String | FEATURE_LEANBACK_ONLY
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports only leanback UI. Only applications designed for this experience should be run, though this is not enforced by the system. | 
                  
                    | String | FEATURE_LIVE_TV
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports live TV and can display contents from TV inputs implemented with theandroid.media.tv.TvInputServiceAPI. | 
                  
                    | String | FEATURE_LIVE_WALLPAPER
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports live wallpapers. | 
                  
                    | String | FEATURE_LOCATION
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports one or more methods of reporting current location. | 
                  
                    | String | FEATURE_LOCATION_GPS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a Global Positioning System receiver and can report precise location. | 
                  
                    | String | FEATURE_LOCATION_NETWORK
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device can report location with coarse accuracy using a network-based geolocation system. | 
                  
                    | String | FEATURE_MANAGED_USERS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports creating secondary users and managed profiles viaDevicePolicyManager. | 
                  
                    | String | FEATURE_MICROPHONE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device can record audio via a microphone. | 
                  
                    | String | FEATURE_MIDI
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a full implementation of the android.media.midi.* APIs. | 
                  
                    | String | FEATURE_NFC
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device can communicate using Near-Field Communications (NFC), acting as a reader. | 
                  
                    | String | FEATURE_NFC_BEAM
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The Beam API is enabled on the device. | 
                  
                    | String | FEATURE_NFC_HOST_CARD_EMULATION
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports host- based NFC card emulation. | 
                  
                    | String | FEATURE_NFC_HOST_CARD_EMULATION_NFCF
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports host- based NFC-F card emulation. | 
                  
                    | String | FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports eSE- based NFC card emulation. | 
                  
                    | String | FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports uicc- based NFC card emulation. | 
                  
                    | String | FEATURE_OPENGLES_DEQP_LEVEL
                         Feature for getSystemAvailableFeaturesandhasSystemFeature(java.lang.String,int): If this feature is supported, the feature version specifies a date such that the device is known to pass the OpenGLES dEQP test suite associated with that date. The date is encoded as follows:  
                            Year in bits 31-16Month in bits 15-8Day in bits 7-0  Example: 2021-03-01 is encoded as 0x07E50301, and would indicate that the device passes the OpenGL ES dEQP test suite version that was current on 2021-03-01. | 
                  
                    | String | FEATURE_OPENGLES_EXTENSION_PACK
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports the OpenGL ES  Android Extension Pack. | 
                  
                    | String | FEATURE_PC
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: This is a device dedicated to be primarily used with keyboard, mouse or touchpad. This includes traditional desktop computers, laptops and variants such as convertibles or detachables. Due to the larger screen, the device will most likely use theFEATURE_FREEFORM_WINDOW_MANAGEMENTfeature as well. | 
                  
                    | String | FEATURE_PICTURE_IN_PICTURE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports picture-in-picture multi-window mode. | 
                  
                    | String | FEATURE_PRINTING
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports printing. | 
                  
                    | String | FEATURE_RAM_LOW
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device'sActivityManager.isLowRamDevice()method returns true. | 
                  
                    | String | FEATURE_RAM_NORMAL
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device'sActivityManager.isLowRamDevice()method returns false. | 
                  
                    | String | FEATURE_SCREEN_LANDSCAPE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports landscape orientation screens. For backwards compatibility, you can assume that if neither this norFEATURE_SCREEN_PORTRAITis set then the device supports both portrait and landscape. | 
                  
                    | String | FEATURE_SCREEN_PORTRAIT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports portrait orientation screens. For backwards compatibility, you can assume that if neither this norFEATURE_SCREEN_LANDSCAPEis set then the device supports both portrait and landscape. | 
                  
                    | String | FEATURE_SECURELY_REMOVES_USERS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports secure removal of users. When a user is deleted the data associated with that user is securely deleted and no longer available. | 
                  
                    | String | FEATURE_SECURE_LOCK_SCREEN
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a secure implementation of keyguard, meaning the device supports PIN, pattern and password as defined in Android CDD | 
                  
                    | String | FEATURE_SECURITY_MODEL_COMPATIBLE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device is compatible with Android's security model. See sections 2 and 9 in the Android CDD for more details. | 
                  
                    | String | FEATURE_SENSOR_ACCELEROMETER
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes an accelerometer. | 
                  
                    | String | FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a limited axes accelerometer. | 
                  
                    | String | FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes an uncalibrated limited axes accelerometer. | 
                  
                    | String | FEATURE_SENSOR_AMBIENT_TEMPERATURE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes an ambient temperature sensor. | 
                  
                    | String | FEATURE_SENSOR_BAROMETER
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a barometer (air pressure sensor.) | 
                  
                    | String | FEATURE_SENSOR_COMPASS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a magnetometer (compass). | 
                  
                    | String | FEATURE_SENSOR_DYNAMIC_HEAD_TRACKER
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports exposing head tracker sensors from peripheral devices via the dynamic sensors API. | 
                  
                    | String | FEATURE_SENSOR_GYROSCOPE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a gyroscope. | 
                  
                    | String | FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a limited axes gyroscope. | 
                  
                    | String | FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes an uncalibrated limited axes gyroscope. | 
                  
                    | String | FEATURE_SENSOR_HEADING
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a heading sensor. | 
                  
                    | String | FEATURE_SENSOR_HEART_RATE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a heart rate monitor. | 
                  
                    | String | FEATURE_SENSOR_HEART_RATE_ECG
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The heart rate sensor on this device is an Electrocardiogram. | 
                  
                    | String | FEATURE_SENSOR_HINGE_ANGLE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a hinge angle sensor. | 
                  
                    | String | FEATURE_SENSOR_LIGHT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a light sensor. | 
                  
                    | String | FEATURE_SENSOR_PROXIMITY
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a proximity sensor. | 
                  
                    | String | FEATURE_SENSOR_RELATIVE_HUMIDITY
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a relative humidity sensor. | 
                  
                    | String | FEATURE_SENSOR_STEP_COUNTER
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a hardware step counter. | 
                  
                    | String | FEATURE_SENSOR_STEP_DETECTOR
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device includes a hardware step detector. | 
                  
                    | String | FEATURE_SE_OMAPI_ESE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Open Mobile API capable eSE-based secure elements. | 
                  
                    | String | FEATURE_SE_OMAPI_SD
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Open Mobile API capable SD-based secure elements. | 
                  
                    | String | FEATURE_SE_OMAPI_UICC
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Open Mobile API capable UICC-based secure elements. | 
                  
                    | String | FEATURE_SIP
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The SIP API is enabled on the device. | 
                  
                    | String | FEATURE_SIP_VOIP
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports SIP-based VOIP. | 
                  
                    | String | FEATURE_STRONGBOX_KEYSTORE
                         Feature for If a device has StrongBox, this feature version number is guaranteed to be set for all devices launching with Android 12 and may be set on devices launching with an earlier version. If the feature version is set, it will at least have the value 40. If it's not set the device may have StrongBox but it may not support all features listed above.getSystemAvailableFeatures,hasSystemFeature(java.lang.String), andhasSystemFeature(java.lang.String,int): If this feature is supported, the device implements the Android Keystore backed by a dedicated secure processor referred to as  StrongBox. If this feature has a version, the version number indicates which features are implemented in StrongBox: | 
                  
                    | String | FEATURE_TELECOM
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Telecom Service APIs. | 
                  
                    | String | FEATURE_TELEPHONY
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a telephony radio with data communication support. | 
                  
                    | String | FEATURE_TELEPHONY_CALLING
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Telephony APIs for calling service. This feature should only be defined if FEATURE_TELEPHONY_RADIO_ACCESS,FEATURE_TELEPHONY_SUBSCRIPTION, andFEATURE_TELECOMhave been defined. | 
                  
                    | String | FEATURE_TELEPHONY_CDMA
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a CDMA telephony stack. This feature should only be defined if FEATURE_TELEPHONYhas been defined. | 
                  
                    | String | FEATURE_TELEPHONY_DATA
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Telephony APIs for data service. This feature should only be defined if both FEATURE_TELEPHONY_SUBSCRIPTIONandFEATURE_TELEPHONY_RADIO_ACCESShave been defined. | 
                  
                    | String | FEATURE_TELEPHONY_EUICC
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports embedded subscriptions on eUICCs. This feature should only be defined ifFEATURE_TELEPHONY_SUBSCRIPTIONhas been defined. | 
                  
                    | String | FEATURE_TELEPHONY_EUICC_MEP
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports multiple enabled profiles on eUICCs. Devices declaring this feature must have an implementation of the UiccCardInfo.getPorts,UiccCardInfo.isMultipleEnabledProfilesSupportedand android.telephony.euicc.EuiccManager#switchToSubscription. This feature should only be defined ifFEATURE_TELEPHONY_EUICChave been defined. | 
                  
                    | String | FEATURE_TELEPHONY_GSM
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a GSM telephony stack. This feature should only be defined if FEATURE_TELEPHONYhas been defined. | 
                  
                    | String | FEATURE_TELEPHONY_IMS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports attaching to IMS implementations using the ImsService API in telephony. This feature should only be defined if FEATURE_TELEPHONY_DATAhas been defined. | 
                  
                    | String | FEATURE_TELEPHONY_MBMS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports cell-broadcast reception using the MBMS APIs. This feature should only be defined if both FEATURE_TELEPHONY_SUBSCRIPTIONandFEATURE_TELEPHONY_RADIO_ACCESShave been defined. | 
                  
                    | String | FEATURE_TELEPHONY_MESSAGING
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Telephony APIs for SMS and MMS. This feature should only be defined if both FEATURE_TELEPHONY_SUBSCRIPTIONandFEATURE_TELEPHONY_RADIO_ACCESShave been defined. | 
                  
                    | String | FEATURE_TELEPHONY_RADIO_ACCESS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Telephony APIs for the radio access. This feature should only be defined if FEATURE_TELEPHONYhas been defined. | 
                  
                    | String | FEATURE_TELEPHONY_SUBSCRIPTION
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Telephony APIs for the subscription. This feature should only be defined if FEATURE_TELEPHONYhas been defined. | 
                  
                    | String | FEATURE_TELEVISION
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: This is a device dedicated to showing UI on a television. Television here is defined to be a typical living room television experience: displayed on a big screen, where the user is sitting far away from it, and the dominant form of input will be something like a DPAD, not through touch or mouse. | 
                  
                    | String | FEATURE_THREAD_NETWORK
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device is capable of communicating with other devices via Thread networking protocol. | 
                  
                    | String | FEATURE_TOUCHSCREEN
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device's display has a touch screen. | 
                  
                    | String | FEATURE_TOUCHSCREEN_MULTITOUCH
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device's touch screen supports multitouch sufficient for basic two-finger gesture detection. | 
                  
                    | String | FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device's touch screen is capable of tracking two or more fingers fully independently. | 
                  
                    | String | FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device's touch screen is capable of tracking a full hand of fingers fully independently -- that is, 5 or more simultaneous independent pointers. | 
                  
                    | String | FEATURE_USB_ACCESSORY
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports connecting to USB accessories. | 
                  
                    | String | FEATURE_USB_HOST
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports connecting to USB devices as the USB host. | 
                  
                    | String | FEATURE_UWB
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device is capable of communicating with other devices via ultra wideband. | 
                  
                    | String | FEATURE_VERIFIED_BOOT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports verified boot. | 
                  
                    | String | FEATURE_VR_HEADTRACKING
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device implements headtracking suitable for a VR device. | 
                  
                    | String | FEATURE_VR_MODE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device implements an optimized mode for virtual reality (VR) applications that handles stereoscopic rendering of notifications, and disables most monocular system UI components while a VR application has user focus. Devices declaring this feature must include an application implementing aandroid.service.vr.VrListenerServicethat can be targeted by VR applications viaandroid.app.Activity#setVrModeEnabled. | 
                  
                    | String | FEATURE_VR_MODE_HIGH_PERFORMANCE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device implements an optimized mode for virtual reality (VR) applications that handles stereoscopic rendering of notifications, disables most monocular system UI components while a VR application has user focus and meets extra CDD requirements to provide a high-quality VR experience. Devices declaring this feature must include an application implementing aandroid.service.vr.VrListenerServicethat can be targeted by VR applications viaandroid.app.Activity#setVrModeEnabled. and must meet CDD requirements to provide a high-quality VR experience. | 
                  
                    | String | FEATURE_VULKAN_DEQP_LEVEL
                         Feature for getSystemAvailableFeaturesandhasSystemFeature(java.lang.String,int): If this feature is supported, the feature version specifies a date such that the device is known to pass the Vulkan dEQP test suite associated with that date. The date is encoded as follows:  
                            Year in bits 31-16Month in bits 15-8Day in bits 7-0  Example: 2019-03-01 is encoded as 0x07E30301, and would indicate that the device passes the Vulkan dEQP test suite version that was current on 2019-03-01. | 
                  
                    | String | FEATURE_VULKAN_HARDWARE_COMPUTE
                         Feature for getSystemAvailableFeaturesandhasSystemFeature(java.lang.String,int): If this feature is supported, the Vulkan implementation on this device is hardware accelerated, and the Vulkan native API will enumerate at least oneVkPhysicalDevice, and the feature version will indicate what level of optional compute features that device supports beyond the Vulkan 1.0 requirements.  Compute level 0 indicates:   
                          The VK_KHR_variable_pointersextension andVkPhysicalDeviceVariablePointerFeaturesKHR::variablePointersfeature are supported.VkPhysicalDeviceLimits::maxPerStageDescriptorStorageBuffersis at least 16. | 
                  
                    | String | FEATURE_VULKAN_HARDWARE_LEVEL
                         Feature for getSystemAvailableFeaturesandhasSystemFeature(java.lang.String,int): If this feature is supported, the Vulkan implementation on this device is hardware accelerated, and the Vulkan native API will enumerate at least oneVkPhysicalDevice, and the feature version will indicate what level of optional hardware features limits it supports.  Level 0 includes the base Vulkan requirements as well as:  
                          VkPhysicalDeviceFeatures::textureCompressionETC2  Level 1 additionally includes:   
                          VkPhysicalDeviceFeatures::fullDrawIndexUint32VkPhysicalDeviceFeatures::imageCubeArrayVkPhysicalDeviceFeatures::independentBlendVkPhysicalDeviceFeatures::geometryShaderVkPhysicalDeviceFeatures::tessellationShaderVkPhysicalDeviceFeatures::sampleRateShadingVkPhysicalDeviceFeatures::textureCompressionASTC_LDRVkPhysicalDeviceFeatures::fragmentStoresAndAtomicsVkPhysicalDeviceFeatures::shaderImageGatherExtendedVkPhysicalDeviceFeatures::shaderUniformBufferArrayDynamicIndexingVkPhysicalDeviceFeatures::shaderSampledImageArrayDynamicIndexing | 
                  
                    | String | FEATURE_VULKAN_HARDWARE_VERSION
                         Feature for getSystemAvailableFeaturesandhasSystemFeature(java.lang.String,int): If this feature is supported, the Vulkan implementation on this device is hardware accelerated, and the feature version will indicate the highestVkPhysicalDeviceProperties::apiVersionsupported by the physical devices that support the hardware level indicated byFEATURE_VULKAN_HARDWARE_LEVEL. The feature version uses the same encoding as Vulkan version numbers:  
                            A version of 1.1.0 or higher also indicates:Major version number in bits 31-22Minor version number in bits 21-12Patch version number in bits 11-0  
                            A subset of devices that support Vulkan 1.1 do so via software emulation. For more information, see Vulkan Design Guidelines.The VK_ANDROID_external_memory_android_hardware_bufferextension is supported.SYNC_FDexternal semaphore and fence handles are supported.VkPhysicalDeviceSamplerYcbcrConversionFeatures::samplerYcbcrConversionis supported. | 
                  
                    | String | FEATURE_WALLET_LOCATION_BASED_SUGGESTIONS
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports showing location-based suggestions for wallet cards provided by the default payment app. | 
                  
                    | String | FEATURE_WATCH
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: This is a device dedicated to showing UI on a watch. A watch here is defined to be a device worn on the body, perhaps on the wrist. The user is very close when interacting with the device. | 
                  
                    | String | FEATURE_WEBVIEW
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device has a full implementation of the android.webkit.* APIs. Devices lacking this feature will not have a functioning WebView implementation. | 
                  
                    | String | FEATURE_WIFI
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports WiFi (802.11) networking. | 
                  
                    | String | FEATURE_WIFI_AWARE
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Wi-Fi Aware. | 
                  
                    | String | FEATURE_WIFI_DIRECT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Wi-Fi Direct networking. | 
                  
                    | String | FEATURE_WIFI_PASSPOINT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Wi-Fi Passpoint and all Passpoint related APIs inWifiManagerare supported. Refer toWifiManager.addOrUpdatePasspointConfigurationfor more info. | 
                  
                    | String | FEATURE_WIFI_RTT
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports Wi-Fi RTT (IEEE 802.11mc). | 
                  
                    | String | FEATURE_WINDOW_MAGNIFICATION
                         Feature for getSystemAvailableFeaturesand #hasSystemFeature: The device supports window magnification. | 
                  
                    | Int | FLAG_PERMISSION_WHITELIST_INSTALLER
                         Permission whitelist flag: permissions whitelisted by the installer. Permissions can also be whitelisted by the system, on upgrade, or on role grant.   Note: In retrospect it would have been preferred to use more inclusive terminology when naming this API. Similar APIs added will refrain from using the term "whitelist".  | 
                  
                    | Int | FLAG_PERMISSION_WHITELIST_SYSTEM
                         Permission whitelist flag: permissions whitelisted by the system. Permissions can also be whitelisted by the installer, on upgrade, or on role grant.   Note: In retrospect it would have been preferred to use more inclusive terminology when naming this API. Similar APIs added will refrain from using the term "whitelist".  | 
                  
                    | Int | FLAG_PERMISSION_WHITELIST_UPGRADE
                         Permission whitelist flag: permissions whitelisted by the system when upgrading from an OS version where the permission was not restricted to an OS version where the permission is restricted. Permissions can also be whitelisted by the installer, the system, or on role grant.   Note: In retrospect it would have been preferred to use more inclusive terminology when naming this API. Similar APIs added will refrain from using the term "whitelist".  | 
                  
                    | Int | GET_ACTIVITIES
                         PackageInfoflag: return information about activities in the package inPackageInfo.activities.
 | 
                  
                    | Int | GET_ATTRIBUTIONS | 
                  
                    | Long | GET_ATTRIBUTIONS_LONG
                         PackageInfoflag: return all attributions declared in the package manifest
 | 
                  
                    | Int | GET_CONFIGURATIONS
                         PackageInfoflag: return information about hardware preferences inPackageInfo.configPreferences, and requested features inPackageInfo.reqFeaturesandPackageInfo.featureGroups.
 | 
                  
                    | Int | GET_DISABLED_COMPONENTS | 
                  
                    | Int | GET_DISABLED_UNTIL_USED_COMPONENTS | 
                  
                    | Int | GET_GIDS
                         PackageInfoflag: return thegroup idsthat are associated with an application. This applies for any API returning a PackageInfo class, either directly or nested inside of another.
 | 
                  
                    | Int | GET_INSTRUMENTATION
                         PackageInfoflag: return information about instrumentation in the package inPackageInfo.instrumentation.
 | 
                  
                    | Int | GET_INTENT_FILTERS
                         PackageInfoflag: return information about the intent filters supported by the activity.
 | 
                  
                    | Int | GET_META_DATA
                         ComponentInfoflag: return theComponentInfo.metaDatadataandroid.os.Bundles that are associated with a component. This applies for any API returning a ComponentInfo subclass.
 | 
                  
                    | Int | GET_PERMISSIONS
                         PackageInfoflag: return information about permissions in the package inPackageInfo.permissions.
 | 
                  
                    | Int | GET_PROVIDERS
                         PackageInfoflag: return information about content providers in the package inPackageInfo.providers.
 | 
                  
                    | Int | GET_RECEIVERS
                         PackageInfoflag: return information about intent receivers in the package inPackageInfo.receivers.
 | 
                  
                    | Int | GET_RESOLVED_FILTER
                         ResolveInfoflag: return the IntentFilter that was matched for a particular ResolveInfo inResolveInfo.filter.
 | 
                  
                    | Int | GET_SERVICES
                         PackageInfoflag: return information about services in the package inPackageInfo.services.
 | 
                  
                    | Int | GET_SHARED_LIBRARY_FILES
                         ApplicationInfoflag: return thepaths to the shared librariesthat are associated with an application. This applies for any API returning an ApplicationInfo class, either directly or nested inside of another.
 | 
                  
                    | Int | GET_SIGNATURES
                         PackageInfoflag: return information about the signatures included in the package.
 | 
                  
                    | Int | GET_SIGNING_CERTIFICATES
                         PackageInfoflag: return the signing certificates associated with this package. Each entry is a signing certificate that the package has proven it is authorized to use, usually a past signing certificate from which it has rotated.
 | 
                  
                    | Int | GET_UNINSTALLED_PACKAGES | 
                  
                    | Int | GET_URI_PERMISSION_PATTERNS
                         ProviderInfoflag: return theURI permission patternsthat are associated with a content provider. This applies for any API returning a ProviderInfo class, either directly or nested inside of another.
 | 
                  
                    | Int | INSTALL_REASON_DEVICE_RESTORE
                         Code indicating that this package was installed as part of restoring from another device. | 
                  
                    | Int | INSTALL_REASON_DEVICE_SETUP
                         Code indicating that this package was installed as part of device setup. | 
                  
                    | Int | INSTALL_REASON_POLICY
                         Code indicating that this package was installed due to enterprise policy. | 
                  
                    | Int | INSTALL_REASON_UNKNOWN
                         Code indicating that the reason for installing this package is unknown. | 
                  
                    | Int | INSTALL_REASON_USER
                         Code indicating that the package installation was initiated by the user. | 
                  
                    | Int | INSTALL_SCENARIO_BULK
                         Installation scenario indicating a bulk operation with the desired result of a fully optimized application. If the system is busy or resources are scarce the system will perform less work to avoid impacting system health. Examples of bulk installation scenarios might include device restore, background updates of multiple applications, or user-triggered updates for all applications. The decision to use BULK or BULK_SECONDARY should be based on the desired user experience. BULK_SECONDARY operations may take less time to complete but, when they do, will produce less optimized applications. The device state (e.g. memory usage or battery status) should not be considered when making this decision as those factors are taken into account by the Package Manager when acting on the installation scenario. | 
                  
                    | Int | INSTALL_SCENARIO_BULK_SECONDARY
                         Installation scenario indicating a bulk operation that prioritizes minimal system health impact over application optimization. The application may undergo additional optimization if the system is idle and system resources are abundant. The more elements of a bulk operation that are marked BULK_SECONDARY, the faster the entire bulk operation will be. See the comments for INSTALL_SCENARIO_BULK for more information. | 
                  
                    | Int | INSTALL_SCENARIO_DEFAULT
                         A value to indicate the lack of CUJ information, disabling all installation scenario logic. | 
                  
                    | Int | INSTALL_SCENARIO_FAST
                         Installation scenario providing the fastest "install button to launch" experience possible. | 
                  
                    | Int | MATCH_ALL
                         Querying flag: if set and if the platform is doing any filtering of the results, then the filtering will not happen. This is a synonym for saying that all results should be returned.   This flag should be used with extreme care. | 
                  
                    | Int | MATCH_APEX
                         PackageInfoflag: include APEX packages that are currently installed. In APEX terminology, this corresponds to packages that are currently active, i.e. mounted and available to other processes of the OS. In particular, this flag alone will not match APEX files that are staged for activation at next reboot.
 | 
                  
                    | Long | MATCH_ARCHIVED_PACKAGES
                         Flag parameter to also retrieve some information about archived packages. Packages can be archived through PackageInstaller.requestArchiveand do not have any APKs stored on the device, but do keep the data directory.  Note: Archived apps are a subset of apps returned by MATCH_UNINSTALLED_PACKAGES.  Note: this flag may cause less information about currently installed applications to be returned.   Note: use of this flag requires the android.permission.QUERY_ALL_PACKAGES permission to see uninstalled packages. | 
                  
                    | Int | MATCH_DEFAULT_ONLY
                         Resolution and querying flag: if set, only filters that support the android.content.Intent#CATEGORY_DEFAULTwill be considered for matching. This is a synonym for including the CATEGORY_DEFAULT in your supplied Intent. | 
                  
                    | Int | MATCH_DIRECT_BOOT_AUTO
                         Querying flag: automatically match components based on their Direct Boot awareness and the current user state.   Since the default behavior is to automatically apply the current user state, this is effectively a sentinel value that doesn't change the output of any queries based on its presence or absence.   Instead, this value can be useful in conjunction with android.os.StrictMode.VmPolicy.Builder#detectImplicitDirectBoot()to detect when a caller is relying on implicit automatic matching, instead of confirming the explicit behavior they want, using a combination of these flags: | 
                  
                    | Int | MATCH_DIRECT_BOOT_AWARE
                         Querying flag: match components which are direct boot aware in the returned info, regardless of the current user state.   When neither MATCH_DIRECT_BOOT_AWAREnorMATCH_DIRECT_BOOT_UNAWAREare specified, the default behavior is to match only runnable components based on the user state. For example, when a user is started but credentials have not been presented yet, the user is running "locked" and onlyMATCH_DIRECT_BOOT_AWAREcomponents are returned. Once the user credentials have been presented, the user is running "unlocked" and bothMATCH_DIRECT_BOOT_AWAREandMATCH_DIRECT_BOOT_UNAWAREcomponents are returned. | 
                  
                    | Int | MATCH_DIRECT_BOOT_UNAWARE
                         Querying flag: match components which are direct boot unaware in the returned info, regardless of the current user state.   When neither MATCH_DIRECT_BOOT_AWAREnorMATCH_DIRECT_BOOT_UNAWAREare specified, the default behavior is to match only runnable components based on the user state. For example, when a user is started but credentials have not been presented yet, the user is running "locked" and onlyMATCH_DIRECT_BOOT_AWAREcomponents are returned. Once the user credentials have been presented, the user is running "unlocked" and bothMATCH_DIRECT_BOOT_AWAREandMATCH_DIRECT_BOOT_UNAWAREcomponents are returned. | 
                  
                    | Int | MATCH_DISABLED_COMPONENTS
                         PackageInfoflag: include disabled components in the returned info.
 | 
                  
                    | Int | MATCH_DISABLED_UNTIL_USED_COMPONENTS
                         PackageInfoflag: include disabled components which are in that state only because ofCOMPONENT_ENABLED_STATE_DISABLED_UNTIL_USEDin the returned info. Note that if you set this flag, applications that are in this disabled state will be reported as enabled.
 | 
                  
                    | Int | MATCH_SYSTEM_ONLY
                         Querying flag: include only components from applications that are marked with ApplicationInfo.FLAG_SYSTEM. | 
                  
                    | Int | MATCH_UNINSTALLED_PACKAGES
                         Flag parameter to retrieve some information about all applications (even uninstalled ones) which have data directories. This state could have resulted if applications have been deleted with flag DELETE_KEEP_DATAwith a possibility of being replaced or reinstalled in future.  Note: this flag may cause less information about currently installed applications to be returned.   Note: use of this flag requires the android.permission.QUERY_ALL_PACKAGES permission to see uninstalled packages. | 
                  
                    | Long | MAXIMUM_VERIFICATION_TIMEOUT
                         Can be used as the millisecondsToDelayargument forPackageManager.extendVerificationTimeout. This is the maximum timePackageManagerwaits for the verification agent to return (in milliseconds). | 
                  
                    | Int | PERMISSION_DENIED
                         Permission check result: this is returned by checkPermissionif the permission has not been granted to the given package. | 
                  
                    | Int | PERMISSION_GRANTED
                         Permission check result: this is returned by checkPermissionif the permission has been granted to the given package. | 
                  
                    | String | PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT
                         Application level PackageManagerfor an app to inform the system that the app can be opted-in or opted-out from the compatibility treatment that rotates camera output by 90 degrees on landscape sensors on devices known to have compatibility issues. The treatment is disabled by default but device manufacturers can enable the treatment using their discretion to improve camera compatibility. With this property set to false, the rotation will not be applied. A value oftruewill ensure that rotation is applied, provided it is enabled for the device. In most cases, if rotation is the desired behavior this property need not be set. However, if your app experiences stretching or incorrect rotation on these devices, explicitly setting this totruemay resolve that behavior. Apps should set this tofalseif there is confidence that the app handlesandroid.hardware.camera2.CameraCharacteristics#SENSOR_ORIENTATIONcorrectly. See  the documentation for best practice. Syntax:  <application>
    <property
      android:name="android.camera.PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT"
      android:value="true|false"/>
  </application>
   | 
                  
                    | String | PROPERTY_MEDIA_CAPABILITIES
                         <application> level android.content.pm.PackageManager.Propertytag specifying the XML resource ID containing an application's media capabilities XML file For example: <application> <property android:name="android.media.PROPERTY_MEDIA_CAPABILITIES" android:resource="@xml/media_capabilities"> <application> | 
                  
                    | String | PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES
                         <application> level android.content.pm.PackageManager.Propertytag specifying the XML resource ID containing the declaration of the self-certified network capabilities used by the application.  Starting from Android 14, usage of some network capabilities in android.net.ConnectivityManager#requestNetwork require the application to declare its usage of that particular capability in this resource. Only some capabilities require a declaration. Please look up the specific capability you want to use in android.net.NetworkCapabilitiesto see if it needs declaration in this property. For example: <application> <property android:name="android.net.PROPERTY_SELF_CERTIFIED_NETWORK_CAPABILITIES" android:resource="@xml/self_certified_network_capabilities"> <application>  The detail format of self_certified_network_capabilities.xml is described in android.net.NetworkRequest | 
                  
                    | String | PROPERTY_SPECIAL_USE_FGS_SUBTYPE
                         <service> level android.content.pm.PackageManager.Propertytag specifying the actual use case of the service if it's foreground service with the typeServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE.  For example: <service> <property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" android:value="foo"/> </service> | 
                  
                    | String | PROPERTY_USE_RESTRICTED_BACKUP_MODE
                         <application> level android.content.pm.PackageManager.Propertytag specifying whether the app should be put into the "restricted" backup mode when it's started for backup and restore operations.  See  for information about restricted mode.   Starting with Android 16 apps may not be started in restricted mode based on this property.  Syntax:  <application>
    <property
      android:name="android.app.backup.PROPERTY_USE_RESTRICTED_BACKUP_MODE"
      android:value="true|false"/>
  </application>
  If this property is set, the operating system will respect it for now (see Note below). If it's not set, the behavior depends on the SDK level that the app is targeting. For apps targeting SDK level android.os.Build.VERSION_CODES#VANILLA_ICE_CREAMor lower, the property defaults totrue. For apps targeting SDK levelandroid.os.Build.VERSION_CODES#BAKLAVAor higher, the operating system will make a decision dynamically. Note: It's not recommended to set this property to trueunless absolutely necessary. In a future Android version, this property may be deprecated in favor of removing restricted mode completely. | 
                  
                    | Int | SIGNATURE_FIRST_NOT_SIGNED
                         Signature check result: this is returned by #checkSignatures if the first package is not signed but the second is. | 
                  
                    | Int | SIGNATURE_MATCH
                         Signature check result: this is returned by #checkSignatures if all signatures on the two packages match. | 
                  
                    | Int | SIGNATURE_NEITHER_SIGNED
                         Signature check result: this is returned by #checkSignatures if neither of the two packages is signed. | 
                  
                    | Int | SIGNATURE_NO_MATCH
                         Signature check result: this is returned by #checkSignatures if not all signatures on both packages match. | 
                  
                    | Int | SIGNATURE_SECOND_NOT_SIGNED
                         Signature check result: this is returned by #checkSignatures if the second package is not signed but the first is. | 
                  
                    | Int | SIGNATURE_UNKNOWN_PACKAGE
                         Signature check result: this is returned by #checkSignatures if either of the packages are not valid. | 
                  
                    | Int | SYNCHRONOUS
                         Flag parameter for setComponentEnabledSetting(android.content.ComponentName,int,int)to indicate that the given user's package restrictions state will be serialised to disk after the component state has been updated. Note that this is synchronous disk access, so calls using this flag should be run on a background thread. | 
                  
                    | Int | VERIFICATION_ALLOW
                         Used as the verificationCodeargument forPackageManager.verifyPendingInstallto indicate that the calling package verifier allows the installation to proceed. | 
                  
                    | Int | VERIFICATION_REJECT
                         Used as the verificationCodeargument forPackageManager.verifyPendingInstallto indicate the calling package verifier does not vote to allow the installation to proceed. | 
                  
                    | Int | VERSION_CODE_HIGHEST
                         Constant for specifying the highest installed package version code. |