Added in API level 1
Deprecated in API level 24

MockPackageManager


open class MockPackageManager : PackageManager

A mock android.content.pm.PackageManager class. All methods are non-functional and throw java.lang.UnsupportedOperationException. Override it to provide the operations that you need.

Summary

Inherited constants
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) and setComponentEnabledSetting(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) and setComponentEnabledSetting(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 use GET_DISABLED_UNTIL_USED_COMPONENTS to 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 with setComponentEnabledSetting(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 with setComponentEnabledSetting(android.content.ComponentName,int,int).

Int COMPONENT_ENABLED_STATE_ENABLED

Flag for setApplicationEnabledSetting(java.lang.String,int,int) and setComponentEnabledSetting(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 of PackageInstaller.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, or VERIFICATION_REJECT. Passed to package verifiers after a package is verified.

String FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device supports app widgets.

String FEATURE_AUDIO_LOW_LATENCY

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device has professional audio level of functionality and performance.

String FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device supports autofill of user credentials, addresses, credit cards, etc via integration with autofill.

String FEATURE_AUTOMOTIVE

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device can perform backup and restore operations on installed applications.

String FEATURE_BLUETOOTH

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device is capable of communicating with other devices via Bluetooth.

String FEATURE_BLUETOOTH_LE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device is capable of communicating with other devices via Bluetooth Low Energy radio.

String FEATURE_BLUETOOTH_LE_CHANNEL_SOUNDING

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device is capable of ranging with other devices using channel sounding via Bluetooth Low Energy radio.

String FEATURE_CAMERA

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device has a camera facing away from the screen.

String FEATURE_CAMERA_ANY

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: At least one of the cameras on the device supports the MOTION_TRACKING capability level.

String FEATURE_CAMERA_AUTOFOCUS

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device's camera supports auto-focus.

String FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING

Feature for getSystemAvailableFeatures and #hasSystemFeature: At least one of the cameras on the device supports the manual post-processing capability level.

String FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR

Feature for getSystemAvailableFeatures and #hasSystemFeature: At least one of the cameras on the device supports the manual sensor capability level.

String FEATURE_CAMERA_CAPABILITY_RAW

Feature for getSystemAvailableFeatures and #hasSystemFeature: At least one of the cameras on the device supports the RAW capability level.

String FEATURE_CAMERA_CONCURRENT

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device's main front and back cameras can stream concurrently as described in android.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 at android.hardware.camera2.CameraDevice#createCaptureSession(android.hardware.camera2.params.SessionConfiguration).

String FEATURE_CAMERA_EXTERNAL

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device's camera supports flash.

String FEATURE_CAMERA_FRONT

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device has a front facing camera.

String FEATURE_CAMERA_LEVEL_FULL

Feature for getSystemAvailableFeatures and #hasSystemFeature: At least one of the cameras on the device supports the full hardware capability level.

String FEATURE_CANT_SAVE_STATE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports the android.R.attr#cantSaveState API.

String FEATURE_COMPANION_DEVICE_SETUP

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports android.companion.CompanionDeviceManager#associate with devices via android.companion.CompanionDeviceManager.

String FEATURE_CONNECTION_SERVICE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The Connection Service API is enabled on the device.

String FEATURE_CONSUMER_IR

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device is capable of communicating with consumer IR devices.

String FEATURE_CONTROLS

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device supports retrieval of user credentials, via integration with credential providers.

String FEATURE_DEVICE_ADMIN

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports device policy enforcement via device admins.

String FEATURE_DEVICE_LOCK

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports locking (for example, by a financing provider in case of a missed payment).

String FEATURE_EMBEDDED

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: This device supports ethernet.

String FEATURE_EXPANDED_PICTURE_IN_PICTURE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports expanded picture-in-picture multi-window mode.

String FEATURE_FACE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device has biometric hardware to perform face authentication.

String FEATURE_FAKETOUCH

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #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 of FEATURE_FAKETOUCH for input devices with this capability. Note that unlike a distinct multitouch screen as defined by FEATURE_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 getSystemAvailableFeatures and #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 of FEATURE_FAKETOUCH for input devices with this capability. Note that unlike a multitouch screen as defined by FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND, not all two finger gestures can be detected due to the limitations described for FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT.

String FEATURE_FINGERPRINT

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device has biometric hardware to detect a fingerprint.

String FEATURE_FREEFORM_WINDOW_MANAGEMENT

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports freeform window management. Windows have title bars and can be moved and resized.

String FEATURE_GAMEPAD

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and hasSystemFeature(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:

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.

String FEATURE_HIFI_SENSORS

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports high fidelity sensor processing capabilities.

String FEATURE_HOME_SCREEN

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports a home screen that is replaceable by third party applications.

String FEATURE_IDENTITY_CREDENTIAL_HARDWARE

Feature for getSystemAvailableFeatures and hasSystemFeature(java.lang.String,int): If this feature is supported, the device supports android.security.identity.IdentityCredentialStore implemented 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 getSystemAvailableFeatures and hasSystemFeature(java.lang.String,int): If this feature is supported, the device supports android.security.identity.IdentityCredentialStore implemented in secure hardware with direct access at the given feature version. See FEATURE_IDENTITY_CREDENTIAL_HARDWARE for known feature versions.

String FEATURE_INPUT_METHODS

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports adding new input methods implemented with the android.inputmethodservice.InputMethodService API.

String FEATURE_IPSEC_TUNNELS

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device has biometric hardware to perform iris authentication.

String FEATURE_KEYSTORE_APP_ATTEST_KEY

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device has a Keystore implementation that can create application-specific attestation keys. See android.security.keystore.KeyGenParameterSpec.Builder#setAttestKeyAlias.

String FEATURE_KEYSTORE_LIMITED_USE_KEY

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device supports leanback UI. This is typically used in a living room television experience, but is a software feature unlike FEATURE_TELEVISION. Devices running with this feature will use resources associated with the "television" UI mode.

String FEATURE_LEANBACK_ONLY

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device supports live TV and can display contents from TV inputs implemented with the android.media.tv.TvInputService API.

String FEATURE_LIVE_WALLPAPER

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports live wallpapers.

String FEATURE_LOCATION

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports one or more methods of reporting current location.

String FEATURE_LOCATION_GPS

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device has a Global Positioning System receiver and can report precise location.

String FEATURE_LOCATION_NETWORK

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device can report location with coarse accuracy using a network-based geolocation system.

String FEATURE_MANAGED_USERS

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports creating secondary users and managed profiles via DevicePolicyManager.

String FEATURE_MICROPHONE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device can record audio via a microphone.

String FEATURE_MIDI

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device has a full implementation of the android.media.midi.* APIs.

String FEATURE_NFC

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device can communicate using Near-Field Communications (NFC).

String FEATURE_NFC_BEAM

Feature for getSystemAvailableFeatures and #hasSystemFeature: The Beam API is enabled on the device.

String FEATURE_NFC_HOST_CARD_EMULATION

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports host- based NFC card emulation.

String FEATURE_NFC_HOST_CARD_EMULATION_NFCF

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports host- based NFC-F card emulation.

String FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports eSE- based NFC card emulation.

String FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports uicc- based NFC card emulation.

String FEATURE_OPENGLES_DEQP_LEVEL

Feature for getSystemAvailableFeatures and hasSystemFeature(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-16
  • Month in bits 15-8
  • Day 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 getSystemAvailableFeatures and #hasSystemFeature: The device supports the OpenGL ES Android Extension Pack.

String FEATURE_PC

Feature for getSystemAvailableFeatures and #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 the FEATURE_FREEFORM_WINDOW_MANAGEMENT feature as well.

String FEATURE_PICTURE_IN_PICTURE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports picture-in-picture multi-window mode.

String FEATURE_PRINTING

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports printing.

String FEATURE_RAM_LOW

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device's ActivityManager.isLowRamDevice() method returns true.

String FEATURE_RAM_NORMAL

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device's ActivityManager.isLowRamDevice() method returns false.

String FEATURE_SCREEN_LANDSCAPE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports landscape orientation screens. For backwards compatibility, you can assume that if neither this nor FEATURE_SCREEN_PORTRAIT is set then the device supports both portrait and landscape.

String FEATURE_SCREEN_PORTRAIT

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports portrait orientation screens. For backwards compatibility, you can assume that if neither this nor FEATURE_SCREEN_LANDSCAPE is set then the device supports both portrait and landscape.

String FEATURE_SECURELY_REMOVES_USERS

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device includes an accelerometer.

String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a limited axes accelerometer.

String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes an uncalibrated limited axes accelerometer.

String FEATURE_SENSOR_AMBIENT_TEMPERATURE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes an ambient temperature sensor.

String FEATURE_SENSOR_BAROMETER

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a barometer (air pressure sensor.)

String FEATURE_SENSOR_COMPASS

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a magnetometer (compass).

String FEATURE_SENSOR_DYNAMIC_HEAD_TRACKER

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports exposing head tracker sensors from peripheral devices via the dynamic sensors API.

String FEATURE_SENSOR_GYROSCOPE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a gyroscope.

String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a limited axes gyroscope.

String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes an uncalibrated limited axes gyroscope.

String FEATURE_SENSOR_HEADING

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a heading sensor.

String FEATURE_SENSOR_HEART_RATE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a heart rate monitor.

String FEATURE_SENSOR_HEART_RATE_ECG

Feature for getSystemAvailableFeatures and #hasSystemFeature: The heart rate sensor on this device is an Electrocardiogram.

String FEATURE_SENSOR_HINGE_ANGLE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a hinge angle sensor.

String FEATURE_SENSOR_LIGHT

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a light sensor.

String FEATURE_SENSOR_PROXIMITY

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a proximity sensor.

String FEATURE_SENSOR_RELATIVE_HUMIDITY

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a relative humidity sensor.

String FEATURE_SENSOR_STEP_COUNTER

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a hardware step counter.

String FEATURE_SENSOR_STEP_DETECTOR

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device includes a hardware step detector.

String FEATURE_SE_OMAPI_ESE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Open Mobile API capable eSE-based secure elements.

String FEATURE_SE_OMAPI_SD

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Open Mobile API capable SD-based secure elements.

String FEATURE_SE_OMAPI_UICC

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Open Mobile API capable UICC-based secure elements.

String FEATURE_SIP

Feature for getSystemAvailableFeatures and #hasSystemFeature: The SIP API is enabled on the device.

String FEATURE_SIP_VOIP

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports SIP-based VOIP.

String FEATURE_STRONGBOX_KEYSTORE

Feature for getSystemAvailableFeatures, hasSystemFeature(java.lang.String), and hasSystemFeature(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:

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.

String FEATURE_TELECOM

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Telecom Service APIs.

String FEATURE_TELEPHONY

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device has a telephony radio with data communication support.

String FEATURE_TELEPHONY_CALLING

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Telephony APIs for calling service.

This feature should only be defined if FEATURE_TELEPHONY_RADIO_ACCESS, FEATURE_TELEPHONY_SUBSCRIPTION, and FEATURE_TELECOM have been defined.

String FEATURE_TELEPHONY_CDMA

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device has a CDMA telephony stack.

This feature should only be defined if FEATURE_TELEPHONY has been defined.

String FEATURE_TELEPHONY_DATA

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Telephony APIs for data service.

This feature should only be defined if both FEATURE_TELEPHONY_SUBSCRIPTION and FEATURE_TELEPHONY_RADIO_ACCESS have been defined.

String FEATURE_TELEPHONY_EUICC

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports embedded subscriptions on eUICCs. This feature should only be defined if FEATURE_TELEPHONY_SUBSCRIPTION has been defined.

String FEATURE_TELEPHONY_EUICC_MEP

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports multiple enabled profiles on eUICCs.

Devices declaring this feature must have an implementation of the UiccCardInfo.getPorts, UiccCardInfo.isMultipleEnabledProfilesSupported and android.telephony.euicc.EuiccManager#switchToSubscription. This feature should only be defined if FEATURE_TELEPHONY_EUICC have been defined.

String FEATURE_TELEPHONY_GSM

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device has a GSM telephony stack.

This feature should only be defined if FEATURE_TELEPHONY has been defined.

String FEATURE_TELEPHONY_IMS

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports attaching to IMS implementations using the ImsService API in telephony.

This feature should only be defined if FEATURE_TELEPHONY_DATA has been defined.

String FEATURE_TELEPHONY_MBMS

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports cell-broadcast reception using the MBMS APIs.

This feature should only be defined if both FEATURE_TELEPHONY_SUBSCRIPTION and FEATURE_TELEPHONY_RADIO_ACCESS have been defined.

String FEATURE_TELEPHONY_MESSAGING

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Telephony APIs for SMS and MMS.

This feature should only be defined if both FEATURE_TELEPHONY_SUBSCRIPTION and FEATURE_TELEPHONY_RADIO_ACCESS have been defined.

String FEATURE_TELEPHONY_RADIO_ACCESS

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Telephony APIs for the radio access.

This feature should only be defined if FEATURE_TELEPHONY has been defined.

String FEATURE_TELEPHONY_SUBSCRIPTION

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Telephony APIs for the subscription.

This feature should only be defined if FEATURE_TELEPHONY has been defined.

String FEATURE_TELEVISION

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device is capable of communicating with other devices via Thread networking protocol.

String FEATURE_TOUCHSCREEN

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device's display has a touch screen.

String FEATURE_TOUCHSCREEN_MULTITOUCH

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device's touch screen supports multitouch sufficient for basic two-finger gesture detection.

String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device's touch screen is capable of tracking two or more fingers fully independently.

String FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device supports connecting to USB accessories.

String FEATURE_USB_HOST

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports connecting to USB devices as the USB host.

String FEATURE_UWB

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device is capable of communicating with other devices via ultra wideband.

String FEATURE_VERIFIED_BOOT

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports verified boot.

String FEATURE_VR_HEADTRACKING

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device implements headtracking suitable for a VR device.

String FEATURE_VR_MODE

Feature for getSystemAvailableFeatures and #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 a android.service.vr.VrListenerService that can be targeted by VR applications via android.app.Activity#setVrModeEnabled.

String FEATURE_VR_MODE_HIGH_PERFORMANCE

Feature for getSystemAvailableFeatures and #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 a android.service.vr.VrListenerService that can be targeted by VR applications via android.app.Activity#setVrModeEnabled. and must meet CDD requirements to provide a high-quality VR experience.

String FEATURE_VULKAN_DEQP_LEVEL

Feature for getSystemAvailableFeatures and hasSystemFeature(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-16
  • Month in bits 15-8
  • Day 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 getSystemAvailableFeatures and hasSystemFeature(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 one VkPhysicalDevice, 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_pointers extension and VkPhysicalDeviceVariablePointerFeaturesKHR::variablePointers feature are supported.
  • VkPhysicalDeviceLimits::maxPerStageDescriptorStorageBuffers is at least 16.

String FEATURE_VULKAN_HARDWARE_LEVEL

Feature for getSystemAvailableFeatures and hasSystemFeature(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 one VkPhysicalDevice, 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::fullDrawIndexUint32
  • VkPhysicalDeviceFeatures::imageCubeArray
  • VkPhysicalDeviceFeatures::independentBlend
  • VkPhysicalDeviceFeatures::geometryShader
  • VkPhysicalDeviceFeatures::tessellationShader
  • VkPhysicalDeviceFeatures::sampleRateShading
  • VkPhysicalDeviceFeatures::textureCompressionASTC_LDR
  • VkPhysicalDeviceFeatures::fragmentStoresAndAtomics
  • VkPhysicalDeviceFeatures::shaderImageGatherExtended
  • VkPhysicalDeviceFeatures::shaderUniformBufferArrayDynamicIndexing
  • VkPhysicalDeviceFeatures::shaderSampledImageArrayDynamicIndexing

String FEATURE_VULKAN_HARDWARE_VERSION

Feature for getSystemAvailableFeatures and hasSystemFeature(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 highest VkPhysicalDeviceProperties::apiVersion supported by the physical devices that support the hardware level indicated by FEATURE_VULKAN_HARDWARE_LEVEL. The feature version uses the same encoding as Vulkan version numbers:

  • Major version number in bits 31-22
  • Minor version number in bits 21-12
  • Patch version number in bits 11-0
A version of 1.1.0 or higher also indicates:
  • The VK_ANDROID_external_memory_android_hardware_buffer extension is supported.
  • SYNC_FD external semaphore and fence handles are supported.
  • VkPhysicalDeviceSamplerYcbcrConversionFeatures::samplerYcbcrConversion is supported.
A subset of devices that support Vulkan 1.1 do so via software emulation. For more information, see Vulkan Design Guidelines.

String FEATURE_WALLET_LOCATION_BASED_SUGGESTIONS

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports showing location-based suggestions for wallet cards provided by the default payment app.

String FEATURE_WATCH

Feature for getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #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 getSystemAvailableFeatures and #hasSystemFeature: The device supports WiFi (802.11) networking.

String FEATURE_WIFI_AWARE

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Wi-Fi Aware.

String FEATURE_WIFI_DIRECT

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Wi-Fi Direct networking.

String FEATURE_WIFI_PASSPOINT

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Wi-Fi Passpoint and all Passpoint related APIs in WifiManager are supported. Refer to WifiManager.addOrUpdatePasspointConfiguration for more info.

String FEATURE_WIFI_RTT

Feature for getSystemAvailableFeatures and #hasSystemFeature: The device supports Wi-Fi RTT (IEEE 802.11mc).

String FEATURE_WINDOW_MAGNIFICATION

Feature for getSystemAvailableFeatures and #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

PackageInfo flag: return information about activities in the package in PackageInfo.activities.

Int GET_ATTRIBUTIONS

Long GET_ATTRIBUTIONS_LONG

PackageInfo flag: return all attributions declared in the package manifest

Int GET_CONFIGURATIONS

PackageInfo flag: return information about hardware preferences in PackageInfo.configPreferences, and requested features in PackageInfo.reqFeatures and PackageInfo.featureGroups.

Int GET_DISABLED_COMPONENTS

Int GET_DISABLED_UNTIL_USED_COMPONENTS

Int GET_GIDS

PackageInfo flag: return the group ids that are associated with an application. This applies for any API returning a PackageInfo class, either directly or nested inside of another.

Int GET_INSTRUMENTATION

PackageInfo flag: return information about instrumentation in the package in PackageInfo.instrumentation.

Int GET_INTENT_FILTERS

PackageInfo flag: return information about the intent filters supported by the activity.

Int GET_META_DATA

ComponentInfo flag: return the ComponentInfo.metaData data android.os.Bundles that are associated with a component. This applies for any API returning a ComponentInfo subclass.

Int GET_PERMISSIONS

PackageInfo flag: return information about permissions in the package in PackageInfo.permissions.

Int GET_PROVIDERS

PackageInfo flag: return information about content providers in the package in PackageInfo.providers.

Int GET_RECEIVERS

PackageInfo flag: return information about intent receivers in the package in PackageInfo.receivers.

Int GET_RESOLVED_FILTER

ResolveInfo flag: return the IntentFilter that was matched for a particular ResolveInfo in ResolveInfo.filter.

Int GET_SERVICES

PackageInfo flag: return information about services in the package in PackageInfo.services.

Int GET_SHARED_LIBRARY_FILES

ApplicationInfo flag: return the paths to the shared libraries that are associated with an application. This applies for any API returning an ApplicationInfo class, either directly or nested inside of another.

Int GET_SIGNATURES

PackageInfo flag: return information about the signatures included in the package.

Int GET_SIGNING_CERTIFICATES

PackageInfo flag: 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

ProviderInfo flag: return the URI permission patterns that 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

PackageInfo flag: 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.requestArchive and 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_DEFAULT will 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_AWARE nor MATCH_DIRECT_BOOT_UNAWARE are 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 only MATCH_DIRECT_BOOT_AWARE components are returned. Once the user credentials have been presented, the user is running "unlocked" and both MATCH_DIRECT_BOOT_AWARE and MATCH_DIRECT_BOOT_UNAWARE components 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_AWARE nor MATCH_DIRECT_BOOT_UNAWARE are 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 only MATCH_DIRECT_BOOT_AWARE components are returned. Once the user credentials have been presented, the user is running "unlocked" and both MATCH_DIRECT_BOOT_AWARE and MATCH_DIRECT_BOOT_UNAWARE components are returned.

Int MATCH_DISABLED_COMPONENTS

PackageInfo flag: include disabled components in the returned info.

Int MATCH_DISABLED_UNTIL_USED_COMPONENTS

PackageInfo flag: include disabled components which are in that state only because of COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED in 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_DATA with 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 millisecondsToDelay argument for PackageManager.extendVerificationTimeout. This is the maximum time PackageManager waits for the verification agent to return (in milliseconds).

Int PERMISSION_DENIED

Permission check result: this is returned by checkPermission if the permission has not been granted to the given package.

Int PERMISSION_GRANTED

Permission check result: this is returned by checkPermission if the permission has been granted to the given package.

String PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT

Application level PackageManager for 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 of true will 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 to true may resolve that behavior. Apps should set this to false if there is confidence that the app handles android.hardware.camera2.CameraCharacteristics#SENSOR_ORIENTATION correctly. 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.Property tag 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.Property tag 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.NetworkCapabilities to 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.Property tag specifying the actual use case of the service if it's foreground service with the type ServiceInfo.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.Property tag 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_CREAM or lower, the property defaults to true. For apps targeting SDK level android.os.Build.VERSION_CODES#BAKLAVA or higher, the operating system will make a decision dynamically.

Note: It's not recommended to set this property to true unless 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 verificationCode argument for PackageManager.verifyPendingInstall to indicate that the calling package verifier allows the installation to proceed.

Int VERIFICATION_REJECT

Used as the verificationCode argument for PackageManager.verifyPendingInstall to 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.

Public constructors

Public methods
open Unit

open Boolean

open Boolean

open Unit
addPreferredActivity(filter: IntentFilter, match: Int, set: Array<ComponentName!>?, activity: ComponentName)

open Boolean

open Array<String!>!

open Int
checkPermission(permName: String, pkgName: String)

open Int
checkSignatures(uid1: Int, uid2: Int)

open Int
checkSignatures(pkg1: String, pkg2: String)

open Unit

open Array<String!>!

open Unit
extendVerificationTimeout(id: Int, verificationCodeAtTimeout: Int, millisecondsToDelay: Long)

open Drawable?

open Drawable?

open Drawable

open Drawable

open ActivityInfo
getActivityInfo(className: ComponentName, flags: Int)

open Drawable?

open Drawable?

open MutableList<IntentFilter!>!
getAllIntentFilters(packageName: String!)

open MutableList<PermissionGroupInfo!>

open Drawable?

open Drawable?

open Int

open Drawable

open Drawable
getApplicationIcon(packageName: String)

open ApplicationInfo
getApplicationInfo(packageName: String, flags: Int)

open CharSequence

open Drawable?

open Drawable?
getApplicationLogo(packageName: String)

open Int

open Drawable

open Drawable?
getDrawable(packageName: String, resid: Int, appInfo: ApplicationInfo?)

open MutableList<ApplicationInfo!>

open MutableList<PackageInfo!>

open String?

open InstrumentationInfo

open Intent?

open Intent?

open String?

open PackageInfo?
getPackageArchiveInfo(archiveFilePath: String, flags: Int)

open IntArray!
getPackageGids(packageName: String)

open IntArray!
getPackageGids(packageName: String, flags: Int)

open PackageInfo!
getPackageInfo(versionedPackage: VersionedPackage, flags: Int)

open PackageInfo!
getPackageInfo(packageName: String, flags: Int)

open PackageInstaller

{@hide}

open Int
getPackageUid(packageName: String, flags: Int)

open Array<String!>?

open MutableList<PackageInfo!>
getPackagesHoldingPermissions(permissions: Array<String!>, flags: Int)

open PermissionGroupInfo

open PermissionInfo!
getPermissionInfo(name: String, flags: Int)

open Int
getPreferredActivities(outFilters: MutableList<IntentFilter!>, outActivities: MutableList<ComponentName!>, packageName: String?)

open MutableList<PackageInfo!>

open ProviderInfo
getProviderInfo(className: ComponentName, flags: Int)

open ActivityInfo
getReceiverInfo(className: ComponentName, flags: Int)

open Resources

open Resources

open Resources

open ServiceInfo
getServiceInfo(className: ComponentName, flags: Int)

open MutableList<SharedLibraryInfo!>

Get a list of shared libraries on the device.

open Array<FeatureInfo!>

open Array<String!>?

open CharSequence?
getText(packageName: String, resid: Int, appInfo: ApplicationInfo?)

open Drawable
getUserBadgedDrawableForDensity(drawable: Drawable, user: UserHandle, badgeLocation: Rect?, badgeDensity: Int)

open Drawable

open CharSequence

open XmlResourceParser?
getXml(packageName: String, resid: Int, appInfo: ApplicationInfo?)

open Boolean
hasSigningCertificate(uid: Int, certificate: ByteArray, type: Int)

Searches the set of signing certificates by which the package(s) for the given uid has proven to have been signed.

open Boolean
hasSigningCertificate(packageName: String, certificate: ByteArray, type: Int)

Searches the set of signing certificates by which the given package has proven to have been signed.

open Boolean

open Boolean
hasSystemFeature(name: String, version: Int)

open Boolean

open Boolean

open MutableList<ResolveInfo!>

open MutableList<ProviderInfo!>
queryContentProviders(processName: String?, uid: Int, flags: Int)

open MutableList<InstrumentationInfo!>
queryInstrumentation(targetPackage: String, flags: Int)

open MutableList<ResolveInfo!>
queryIntentActivities(intent: Intent, flags: Int)

open MutableList<ResolveInfo!>
queryIntentActivityOptions(caller: ComponentName?, specifics: Array<Intent!>?, intent: Intent, flags: Int)

open MutableList<ResolveInfo!>

open MutableList<ResolveInfo!>
queryIntentServices(intent: Intent, flags: Int)

open MutableList<PermissionInfo!>

open Unit

open Unit

open ResolveInfo?
resolveActivity(intent: Intent, flags: Int)

open ProviderInfo?

open ResolveInfo?
resolveService(intent: Intent, flags: Int)

open ResolveInfo!
resolveServiceAsUser(intent: Intent!, flags: Int, userId: Int)

open Unit
setApplicationEnabledSetting(packageName: String, newState: Int, flags: Int)

open Unit
setComponentEnabledSetting(componentName: ComponentName, newState: Int, flags: Int)

open Unit
setInstallerPackageName(targetPackage: String, installerPackageName: String?)

open Unit
verifyPendingInstall(id: Int, verificationCode: Int)

Inherited functions
Boolean canPackageQuery(sourcePackageName: String, targetPackageName: String)

Returns true if the source package is able to query for details about the target package. Applications that share details about other applications should use this API to determine if those details should be withheld from callers that do not otherwise have visibility of them.

Note: The caller must be able to query for details about the source and target package. A NameNotFoundException is thrown if it isn't.

BooleanArray canPackageQuery(sourcePackageName: String, targetPackageNames: Array<String!>)

Same as canPackageQuery(java.lang.String,java.lang.String) but accepts an array of target packages to be queried.

ActivityInfo getActivityInfo(component: ComponentName, flags: PackageManager.ComponentInfoFlags)

See getActivityInfo(android.content.ComponentName,int).

ApplicationInfo getApplicationInfo(packageName: String, flags: PackageManager.ApplicationInfoFlags)

See getApplicationInfo(java.lang.String,int).

ArchivedPackageInfo? getArchivedPackage(packageName: String)

Return archived package info for the package or null if the package is not installed.

CharSequence getBackgroundPermissionOptionLabel()

Gets the localized label that corresponds to the option in settings for granting background access.

The intended use is for apps to reference this label in its instruction for users to grant a background permission.

Unit getGroupOfPlatformPermission(permissionName: String, executor: Executor, callback: Consumer<String!>)

Get the platform-defined permission group of a particular permission, if the permission is a platform-defined permission.

InstallSourceInfo getInstallSourceInfo(packageName: String)

Retrieves information about how a package was installed or updated.

If the calling application does not hold the INSTALL_PACKAGES permission then the result will always return null from InstallSourceInfo.getOriginatingPackageName().

If the package that requested the install has been uninstalled, then information about it will only be returned from InstallSourceInfo.getInitiatingPackageName() and InstallSourceInfo.getInitiatingPackageSigningInfo() if the calling package is requesting its own install information and is not an instant app.

MutableList<ApplicationInfo!> getInstalledApplications(flags: PackageManager.ApplicationInfoFlags)

See getInstalledApplications(int)

MutableList<ModuleInfo!> getInstalledModules(flags: Int)

Return a List of all modules that are installed.

MutableList<PackageInfo!> getInstalledPackages(flags: PackageManager.PackageInfoFlags)

See getInstalledPackages(int).

IntentSender getLaunchIntentSenderForPackage(packageName: String)

Returns an IntentSender that can be used to launch a front-door activity in a package. This is used, for example, to implement an "open" button when browsing through packages. The current implementation is the same with getLaunchIntentForPackage(java.lang.String). Instead of returning the Intent, it returns the IntentSender which is not restricted by the package visibility.

The caller can invoke IntentSender.sendIntent(Context, int, Intent, IntentSender.OnFinished, Handler) to launch the activity. An IntentSender.SendIntentException is thrown if the package does not contain such an activity, or if packageName is not recognized.

MutableSet<String!> getMimeGroup(mimeGroup: String)

Gets all MIME types contained by MIME group. Libraries should use a reverse-DNS prefix followed by a ':' character and library-specific group name to avoid namespace collisions, e.g. "com.example:myFeature".

ModuleInfo getModuleInfo(packageName: String, flags: Int)

Retrieve information for a particular module.

PackageInfo? getPackageArchiveInfo(archiveFilePath: String, flags: PackageManager.PackageInfoFlags)

See getPackageArchiveInfo(java.lang.String,int).

IntArray? getPackageGids(packageName: String, flags: PackageManager.PackageInfoFlags)

See getPackageGids(java.lang.String,int).

PackageInfo getPackageInfo(versionedPackage: VersionedPackage, flags: PackageManager.PackageInfoFlags)

See getPackageInfo(android.content.pm.VersionedPackage,int)

PackageInfo getPackageInfo(packageName: String, flags: PackageManager.PackageInfoFlags)

See getPackageInfo(java.lang.String,int)

Int getPackageUid(packageName: String, flags: PackageManager.PackageInfoFlags)

See getPackageUid(java.lang.String,int).

MutableList<PackageInfo!> getPackagesHoldingPermissions(permissions: Array<String!>, flags: PackageManager.PackageInfoFlags)

See getPackagesHoldingPermissions(java.lang.String[],int).

Unit getPlatformPermissionsForGroup(permissionGroupName: String, executor: Executor, callback: Consumer<MutableList<String!>!>)

Get the platform-defined permissions which belong to a particular permission group.

PackageManager.Property getProperty(propertyName: String, component: ComponentName)

Returns the property defined in the given component declaration.

PackageManager.Property getProperty(propertyName: String, packageName: String)

Returns the property defined in the given package's <application> tag.

ProviderInfo getProviderInfo(component: ComponentName, flags: PackageManager.ComponentInfoFlags)

See getProviderInfo(android.content.ComponentName,int).

ActivityInfo getReceiverInfo(component: ComponentName, flags: PackageManager.ComponentInfoFlags)

See getReceiverInfo(android.content.ComponentName,int).

Resources getResourcesForApplication(app: ApplicationInfo, configuration: Configuration?)

Retrieve the resources for an application for the provided configuration.

ServiceInfo getServiceInfo(component: ComponentName, flags: PackageManager.ComponentInfoFlags)

See getServiceInfo(android.content.ComponentName,int).

MutableList<SharedLibraryInfo!> getSharedLibraries(flags: PackageManager.PackageInfoFlags)

See getSharedLibraries(int).

Bundle? getSuspendedPackageAppExtras()

Returns a Bundle of extras that was meant to be sent to the calling app when it was suspended. An app with the permission android.permission.SUSPEND_APPS can supply this to the system at the time of suspending an app.

This is the same Bundle that is sent along with the broadcast Intent.ACTION_MY_PACKAGE_SUSPENDED, whenever the app is suspended. The contents of this Bundle are a contract between the suspended app and the suspending app.

Note: These extras are optional, so if no extras were supplied to the system, this method will return null, even when the calling app has been suspended.

Boolean getSyntheticAppDetailsActivityEnabled(packageName: String)

Return whether a synthetic app details activity will be generated if the app has no enabled launcher activity.

Int getTargetSdkVersion(packageName: String)

SigningInfo getVerifiedSigningInfo(path: String, minAppSigningSchemeVersion: Int)

Verifies and returns the app signing information of the file at the given path. This operation takes a few milliseconds. Unlike getPackageArchiveInfo(java.lang.String,android.content.pm.PackageManager.PackageInfoFlags) with GET_SIGNING_CERTIFICATES, this method does not require the file to be a package archive file.

Boolean isAppArchivable(packageName: String)

Returns true if an app is archivable.

Boolean isAutoRevokeWhitelisted()

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".

Boolean isAutoRevokeWhitelisted(packageName: String)

Checks whether an application is exempt from having its permissions be automatically revoked when the app is unused for an extended period of time. Only the installer on record that installed the given package, or a holder of WHITELIST_AUTO_REVOKE_PERMISSIONS is allowed to call this.

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".

Boolean isDefaultApplicationIcon(drawable: Drawable)

Returns if the provided drawable represents the default activity icon provided by the system. PackageManager silently returns a default application icon for any package/activity if the app itself does not define one or if the system encountered any error when loading the icon. Developers can use this to check implement app specific logic around retrying or caching.

Boolean isPackageStopped(packageName: String)

Query if an app is currently stopped.

Boolean isPackageSuspended()

Apps can query this to know if they have been suspended. A system app with the permission android.permission.SUSPEND_APPS can put any app on the device into a suspended state.

While in this state, the application's notifications will be hidden, any of its started activities will be stopped and it will not be able to show toasts or dialogs or play audio. When the user tries to launch a suspended app, the system will, instead, show a dialog to the user informing them that they cannot use this app while it is suspended.

When an app is put into this state, the broadcast action Intent.ACTION_MY_PACKAGE_SUSPENDED will be delivered to any of its broadcast receivers that included this action in their intent-filters, including manifest receivers. Similarly, a broadcast action Intent.ACTION_MY_PACKAGE_UNSUSPENDED is delivered when a previously suspended app is taken out of this state. Apps are expected to use these to gracefully deal with transitions to and from this state.

Boolean isPackageSuspended(packageName: String)

Query if an app is currently suspended.

T parseAndroidManifest(apkFileDescriptor: ParcelFileDescriptor, parserFunction: Function<XmlResourceParser!, T>)

Similar to parseAndroidManifest(java.io.File,java.util.function.Function), but accepting a file descriptor instead of a File object.
This method may take several seconds to complete, so it should only be called from a worker thread.

T parseAndroidManifest(apkFile: File, parserFunction: Function<XmlResourceParser!, T>)

Retrieve AndroidManifest.xml information for the given application apk file.

Example:

<code>
  Bundle result;
  try {
      result = getContext().getPackageManager().parseAndroidManifest(apkFile,
              xmlResourceParser -&gt; {
                  Bundle bundle = new Bundle();
                  // Search the start tag
                  int type;
                  while ((type = xmlResourceParser.next()) != XmlPullParser.START_TAG
                          &amp;&amp; type != XmlPullParser.END_DOCUMENT) {
                  }
                  if (type != XmlPullParser.START_TAG) {
                      return bundle;
                  }
 
                  // Start to read the tags and attributes from the xmlResourceParser
                  if (!xmlResourceParser.getName().equals("manifest")) {
                      return bundle;
                  }
                  String packageName = xmlResourceParser.getAttributeValue(null, "package");
                  bundle.putString("package", packageName);
 
                  // Continue to read the tags and attributes from the xmlResourceParser
 
                  return bundle;
              });
  } catch (IOException e) {
  }
  </code>
Note: When the parserFunction is invoked, the client can read the AndroidManifest.xml information by the XmlResourceParser object. After leaving the parserFunction, the XmlResourceParser object will be closed. The caller should also handle the exception for calling this method.
This method may take several seconds to complete, so it should only be called from a worker thread.

MutableList<PackageManager.Property!> queryActivityProperty(propertyName: String)

Returns the property definition for all <activity> and <activity-alias> tags.

If the property is not defined with any <activity> and <activity-alias> tag, returns and empty list.

MutableList<PackageManager.Property!> queryApplicationProperty(propertyName: String)

Returns the property definition for all <application> tags.

If the property is not defined with any <application> tag, returns and empty list.

MutableList<ResolveInfo!> queryBroadcastReceivers(intent: Intent, flags: PackageManager.ResolveInfoFlags)

See queryBroadcastReceivers(android.content.Intent,int).

MutableList<ProviderInfo!> queryContentProviders(processName: String?, uid: Int, flags: PackageManager.ComponentInfoFlags)

See queryContentProviders(java.lang.String,int,int).

MutableList<ResolveInfo!> queryIntentActivities(intent: Intent, flags: PackageManager.ResolveInfoFlags)

See queryIntentActivities(android.content.Intent,int).

MutableList<ResolveInfo!> queryIntentActivityOptions(caller: ComponentName?, specifics: MutableList<Intent!>?, intent: Intent, flags: PackageManager.ResolveInfoFlags)

See queryIntentActivityOptions(android.content.ComponentName,android.content.Intent[],android.content.Intent,int).

MutableList<ResolveInfo!> queryIntentContentProviders(intent: Intent, flags: PackageManager.ResolveInfoFlags)

See queryIntentContentProviders(android.content.Intent,int).

MutableList<ResolveInfo!> queryIntentServices(intent: Intent, flags: PackageManager.ResolveInfoFlags)

See queryIntentServices(android.content.Intent,int).

MutableList<PackageManager.Property!> queryProviderProperty(propertyName: String)

Returns the property definition for all <provider> tags.

If the property is not defined with any <provider> tag, returns and empty list.

MutableList<PackageManager.Property!> queryReceiverProperty(propertyName: String)

Returns the property definition for all <receiver> tags.

If the property is not defined with any <receiver> tag, returns and empty list.

MutableList<PackageManager.Property!> queryServiceProperty(propertyName: String)

Returns the property definition for all <service> tags.

If the property is not defined with any <service> tag, returns and empty list.

Unit relinquishUpdateOwnership(targetPackage: String)

Attempt to relinquish the update ownership of the given package. Only the current update owner of the given package can use this API.

Unit requestChecksums(packageName: String, includeSplits: Boolean, required: Int, trustedInstallers: MutableList<Certificate!>, onChecksumsReadyListener: PackageManager.OnChecksumsReadyListener)

Requests the checksums for APKs within a package. The checksums will be returned asynchronously via onChecksumsReadyListener. By default returns all readily available checksums: - enforced by platform, - enforced by installer. If caller needs a specific checksum kind, they can specify it as required. Caution: Android can not verify installer-provided checksums. Make sure you specify trusted installers.

ResolveInfo? resolveActivity(intent: Intent, flags: PackageManager.ResolveInfoFlags)

See resolveActivity(android.content.Intent,int).

ProviderInfo? resolveContentProvider(authority: String, flags: PackageManager.ComponentInfoFlags)

See resolveContentProvider(java.lang.String,int).

ResolveInfo? resolveService(intent: Intent, flags: PackageManager.ResolveInfoFlags)

See resolveService(android.content.Intent,int).

Boolean setAutoRevokeWhitelisted(packageName: String, whitelisted: Boolean)

Marks an application exempt from having its permissions be automatically revoked when the app is unused for an extended period of time. Only the installer on record that installed the given package is allowed to call this. Packages start in whitelisted state, and it is the installer's responsibility to un-whitelist the packages it installs, unless auto-revoking permissions from that package would cause breakages beyond having to re-request the permission(s).

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".

Unit setComponentEnabledSettings(settings: MutableList<PackageManager.ComponentEnabledSetting!>)

Set the enabled settings for package components such as activities, receivers, services and providers. This setting will override any enabled state which may have been set by the component in its manifest.

This api accepts a list of component changes, and applies them all atomically. The application can use this api if components have dependencies and need to be updated atomically.

The permission is not required if target components are running under the same uid with the caller.

Unit setMimeGroup(mimeGroup: String, mimeTypes: MutableSet<String!>)

Sets MIME group's MIME types. Libraries should use a reverse-DNS prefix followed by a ':' character and library-specific group name to avoid namespace collisions, e.g. "com.example:myFeature".

Inherited properties
MutableList<Certificate!> TRUST_ALL

Trust any Installer to provide checksums for the package.

MutableList<Certificate!> TRUST_NONE

Don't trust any Installer to provide checksums for the package. This effectively disables optimized Installer-enforced checksums.

Public constructors

MockPackageManager

MockPackageManager()

Public methods

addPackageToPreferred

Added in API level 1
open fun addPackageToPreferred(packageName: String): Unit

Deprecated: Deprecated in Java.

Parameters
packageName String: This value cannot be null.

addPermission

Added in API level 1
open fun addPermission(info: PermissionInfo): Boolean

Deprecated: Deprecated in Java.

Parameters
info PermissionInfo: Description of the permission to be added. This value cannot be null.
Return
Boolean Returns true if a new permission was created, false if an existing one was updated.
Exceptions
java.lang.SecurityException if you are not allowed to add the given permission name.

addPermissionAsync

Added in API level 8
Deprecated in API level 24
open fun addPermissionAsync(info: PermissionInfo): Boolean

Deprecated: Deprecated in Java.

Parameters
info PermissionInfo: This value cannot be null.

addPreferredActivity

Added in API level 1
open fun addPreferredActivity(
    filter: IntentFilter,
    match: Int,
    set: Array<ComponentName!>?,
    activity: ComponentName
): Unit

Deprecated: Deprecated in Java.

Parameters
filter IntentFilter: The set of intents under which this activity will be made preferred. This value cannot be null.
match Int: The IntentFilter match category that this preference applies to.
set Array<ComponentName!>?: The set of activities that the user was picking from when this preference was made. This value may be null.
activity ComponentName: The component name of the activity that is to be preferred. This value cannot be null.

canRequestPackageInstalls

Added in API level 26
Deprecated in API level 24
open fun canRequestPackageInstalls(): Boolean

Deprecated: Deprecated in Java.

Return
Boolean true if the calling package is trusted by the user to request install packages on the device, false otherwise.

canonicalToCurrentPackageNames

Added in API level 8
Deprecated in API level 24
open fun canonicalToCurrentPackageNames(names: Array<String!>): Array<String!>!

Deprecated: Deprecated in Java.

Parameters
packageNames Array of new names to be mapped. This value cannot be null.
Return
Array<String!>! Returns an array of the same size as the original, containing the current name for each package.

checkPermission

Added in API level 1
open fun checkPermission(
    permName: String,
    pkgName: String
): Int

Deprecated: Deprecated in Java.

Parameters
permName String: The name of the permission you are checking for. This value cannot be null.
packageName The name of the package you are checking against. This value cannot be null.
Return
Int If the package has the permission, PERMISSION_GRANTED is returned. If it does not have the permission, PERMISSION_DENIED is returned. Value is android.content.pm.PackageManager#PERMISSION_GRANTED, or android.content.pm.PackageManager#PERMISSION_DENIED

checkSignatures

Added in API level 5
Deprecated in API level 24
open fun checkSignatures(
    uid1: Int,
    uid2: Int
): Int

Deprecated: Deprecated in Java.

Parameters
uid1 Int: First UID whose signature will be compared.
uid2 Int: Second UID whose signature will be compared.

checkSignatures

Added in API level 1
open fun checkSignatures(
    pkg1: String,
    pkg2: String
): Int

Deprecated: Deprecated in Java.

Parameters
packageName1 First package name whose signature will be compared. This value cannot be null.
packageName2 Second package name whose signature will be compared. This value cannot be null.

clearPackagePreferredActivities

Added in API level 1
open fun clearPackagePreferredActivities(packageName: String): Unit

Deprecated: Deprecated in Java.

Parameters
packageName String: The name of the package whose preferred activity mappings are to be removed. This value cannot be null.

currentToCanonicalPackageNames

Added in API level 8
Deprecated in API level 24
open fun currentToCanonicalPackageNames(names: Array<String!>): Array<String!>!

Deprecated: Deprecated in Java.

Parameters
packageNames Array of current names to be mapped. This value cannot be null.
Return
Array<String!>! Returns an array of the same size as the original, containing the canonical name for each package.

extendVerificationTimeout

Added in API level 17
Deprecated in API level 24
open fun extendVerificationTimeout(
    id: Int,
    verificationCodeAtTimeout: Int,
    millisecondsToDelay: Long
): Unit

Deprecated: Deprecated in Java.

Parameters
id Int: pending package identifier as passed via the PackageManager.EXTRA_VERIFICATION_ID Intent extra.
verificationCodeAtTimeout Int: either PackageManager.VERIFICATION_ALLOW or PackageManager.VERIFICATION_REJECT. If verificationCodeAtTimeout is neither PackageManager.VERIFICATION_ALLOW or PackageManager.VERIFICATION_REJECT, then verificationCodeAtTimeout will default to PackageManager.VERIFICATION_REJECT.
millisecondsToDelay Long: the amount of time requested for the timeout. Must be positive and less than PackageManager.MAXIMUM_VERIFICATION_TIMEOUT. If millisecondsToDelay is out of bounds, millisecondsToDelay will be set to the closest in bounds value; namely, 0 or PackageManager.MAXIMUM_VERIFICATION_TIMEOUT.
Exceptions
java.lang.SecurityException if the caller does not have the PACKAGE_VERIFICATION_AGENT permission.

getActivityBanner

Added in API level 20
Deprecated in API level 24
open fun getActivityBanner(activityName: ComponentName): Drawable?

Deprecated: Deprecated in Java.

Parameters
activityName ComponentName: Name of the activity whose banner is to be retrieved. This value cannot be null.
Return
Drawable? Returns the image of the banner, or null if the activity has no banner specified.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for the given activity could not be loaded.

getActivityBanner

Added in API level 20
Deprecated in API level 24
open fun getActivityBanner(intent: Intent): Drawable?

Deprecated: Deprecated in Java.

Parameters
intent Intent: The intent for which you would like to retrieve a banner. This value cannot be null.
Return
Drawable? Returns the image of the banner, or null if the activity has no banner specified.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for application matching the given intent could not be loaded.

getActivityIcon

Added in API level 1
open fun getActivityIcon(activityName: ComponentName): Drawable

Deprecated: Deprecated in Java.

Parameters
activityName ComponentName: Name of the activity whose icon is to be retrieved. This value cannot be null.
Return
Drawable Returns the image of the icon, or the default activity icon if it could not be found. Does not return null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for the given activity could not be loaded.

getActivityIcon

Added in API level 1
open fun getActivityIcon(intent: Intent): Drawable

Deprecated: Deprecated in Java.

Parameters
intent Intent: The intent for which you would like to retrieve an icon. This value cannot be null.
Return
Drawable Returns the image of the icon, or the default activity icon if it could not be found. Does not return null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for application matching the given intent could not be loaded.

getActivityInfo

Added in API level 1
open fun getActivityInfo(
    className: ComponentName,
    flags: Int
): ActivityInfo

Deprecated: Deprecated in Java.

Parameters
component The full component name (i.e. com.google.apps.contacts/com.google.apps.contacts. ContactsList) of an Activity class. This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
ActivityInfo An ActivityInfo containing information about the activity. This value cannot be null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.
Added in API level 9
Deprecated in API level 24
open fun getActivityLogo(activityName: ComponentName): Drawable?

Deprecated: Deprecated in Java.

Parameters
activityName ComponentName: Name of the activity whose logo is to be retrieved. This value cannot be null.
Return
Drawable? Returns the image of the logo or null if the activity has no logo specified.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for the given activity could not be loaded.

getActivityLogo

Added in API level 9
Deprecated in API level 24
open fun getActivityLogo(intent: Intent): Drawable?

Deprecated: Deprecated in Java.

Parameters
intent Intent: The intent for which you would like to retrieve a logo. This value cannot be null.
Return
Drawable? Returns the image of the logo, or null if the activity has no logo specified.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for application matching the given intent could not be loaded.

getAllIntentFilters

Added in API level 23
Deprecated in API level 24
open fun getAllIntentFilters(packageName: String!): MutableList<IntentFilter!>!

Deprecated: Deprecated in Java.

getAllPermissionGroups

Added in API level 1
open fun getAllPermissionGroups(flags: Int): MutableList<PermissionGroupInfo!>

Deprecated: Deprecated in Java.

Parameters
flags Int: Additional option flags to modify the data returned. Value is either 0 or android.content.pm.PackageManager#GET_META_DATA
Return
MutableList<PermissionGroupInfo!> Returns a list of PermissionGroupInfo containing information about all of the known permission groups. This value cannot be null.

getApplicationBanner

Added in API level 20
Deprecated in API level 24
open fun getApplicationBanner(info: ApplicationInfo): Drawable?

Deprecated: Deprecated in Java.

Parameters
info ApplicationInfo: Information about application being queried. This value cannot be null.
Return
Drawable? Returns the image of the banner or null if the application has no banner specified.

getApplicationBanner

Added in API level 20
Deprecated in API level 24
open fun getApplicationBanner(packageName: String): Drawable?

Deprecated: Deprecated in Java.

Parameters
packageName String: Name of the package whose application banner is to be retrieved. This value cannot be null.
Return
Drawable? Returns the image of the banner or null if the application has no banner specified.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

getApplicationEnabledSetting

Added in API level 1
open fun getApplicationEnabledSetting(packageName: String): Int

Deprecated: Deprecated in Java.

Parameters
packageName String: The package name of the application to retrieve. This value cannot be null.
Exceptions
java.lang.IllegalArgumentException if the named package does not exist.

getApplicationIcon

Added in API level 1
open fun getApplicationIcon(info: ApplicationInfo): Drawable

Deprecated: Deprecated in Java.

Parameters
info ApplicationInfo: Information about application being queried. This value cannot be null.
Return
Drawable Returns the image of the icon, or the default application icon if it could not be found.

getApplicationIcon

Added in API level 1
open fun getApplicationIcon(packageName: String): Drawable

Deprecated: Deprecated in Java.

Parameters
packageName String: Name of the package whose application icon is to be retrieved. This value cannot be null.
Return
Drawable Returns the image of the icon, or the default application icon if it could not be found. Does not return null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

getApplicationInfo

Added in API level 1
open fun getApplicationInfo(
    packageName: String,
    flags: Int
): ApplicationInfo

Deprecated: Deprecated in Java.

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of an application. This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
ApplicationInfo An ApplicationInfo containing information about the package. If flag MATCH_UNINSTALLED_PACKAGES is set and if the package is not found in the list of installed applications, the application information is retrieved from the list of uninstalled applications (which includes installed applications as well as applications with data directory i.e. applications which had been deleted with DELETE_KEEP_DATA flag set). This value cannot be null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

getApplicationLabel

Added in API level 1
open fun getApplicationLabel(info: ApplicationInfo): CharSequence

Deprecated: Deprecated in Java.

Parameters
info ApplicationInfo: The ApplicationInfo of the application to get the label of. This value cannot be null.
Return
CharSequence Returns a CharSequence containing the label associated with this application, or its name the item does not have a label. This value cannot be null.
Added in API level 9
Deprecated in API level 24
open fun getApplicationLogo(info: ApplicationInfo): Drawable?

Deprecated: Deprecated in Java.

Parameters
info ApplicationInfo: Information about application being queried. This value cannot be null.
Return
Drawable? Returns the image of the logo, or null if no logo is specified by the application.

getApplicationLogo

Added in API level 9
Deprecated in API level 24
open fun getApplicationLogo(packageName: String): Drawable?

Deprecated: Deprecated in Java.

Parameters
packageName String: Name of the package whose application logo is to be retrieved. This value cannot be null.
Return
Drawable? Returns the image of the logo, or null if no application logo has been specified.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

getComponentEnabledSetting

Added in API level 1
open fun getComponentEnabledSetting(componentName: ComponentName): Int

Deprecated: Deprecated in Java.

Parameters
componentName ComponentName: The component to retrieve. This value cannot be null.

getDefaultActivityIcon

Added in API level 1
open fun getDefaultActivityIcon(): Drawable

Deprecated: Deprecated in Java.

Return
Drawable Drawable Image of the icon. This value cannot be null.

getDrawable

Added in API level 1
open fun getDrawable(
    packageName: String,
    resid: Int,
    appInfo: ApplicationInfo?
): Drawable?

Deprecated: Deprecated in Java.

Parameters
packageName String: The name of the package that this icon is coming from. Cannot be null.
resid Int: The resource identifier of the desired image. Cannot be 0.
appInfo ApplicationInfo?: Overall information about packageName. This may be null, in which case the application information will be retrieved for you if needed; if you already have this information around, it can be much more efficient to supply it here.
Return
Drawable? Returns a Drawable holding the requested image. Returns null if an image could not be found for any reason.

getInstalledApplications

Added in API level 1
open fun getInstalledApplications(flags: Int): MutableList<ApplicationInfo!>

Deprecated: Deprecated in Java.

Parameters
flags Int: Additional option flags to modify the data returned.
Return
MutableList<ApplicationInfo!> A List of ApplicationInfo objects, one for each installed application. In the unlikely case there are no installed packages, an empty list is returned. If flag MATCH_UNINSTALLED_PACKAGES is set, the application information is retrieved from the list of uninstalled applications (which includes installed applications as well as applications with data directory i.e. applications which had been deleted with DELETE_KEEP_DATA flag set). This value cannot be null.

getInstalledPackages

Added in API level 1
open fun getInstalledPackages(flags: Int): MutableList<PackageInfo!>

Deprecated: Deprecated in Java.

Parameters
flags Int: Additional option flags to modify the data returned.
Return
MutableList<PackageInfo!> A List of PackageInfo objects, one for each installed package, containing information about the package. In the unlikely case there are no installed packages, an empty list is returned. If flag MATCH_UNINSTALLED_PACKAGES is set, the package information is retrieved from the list of uninstalled applications (which includes installed applications as well as applications with data directory i.e. applications which had been deleted with DELETE_KEEP_DATA flag set). This value cannot be null.

getInstallerPackageName

Added in API level 5
Deprecated in API level 24
open fun getInstallerPackageName(packageName: String): String?

Deprecated: Deprecated in Java.

Parameters
packageName String: The name of the package to query This value cannot be null.
Return
String? This value may be null.
Exceptions
java.lang.IllegalArgumentException if the given package name is not installed

getInstrumentationInfo

Added in API level 1
open fun getInstrumentationInfo(
    className: ComponentName,
    flags: Int
): InstrumentationInfo

Deprecated: Deprecated in Java.

Parameters
className ComponentName: The full name (i.e. com.google.apps.contacts.InstrumentList) of an Instrumentation class. This value cannot be null.
flags Int: Additional option flags to modify the data returned. Value is either 0 or android.content.pm.PackageManager#GET_META_DATA
Return
InstrumentationInfo An InstrumentationInfo object containing information about the instrumentation. This value cannot be null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

getLaunchIntentForPackage

Added in API level 3
Deprecated in API level 24
open fun getLaunchIntentForPackage(packageName: String): Intent?

Deprecated: Deprecated in Java.

Parameters
packageName String: The name of the package to inspect. This value cannot be null.
Return
Intent? A fully-qualified Intent that can be used to launch the main activity in the package. Returns null if the package does not contain such an activity, or if packageName is not recognized.

getLeanbackLaunchIntentForPackage

Added in API level 21
Deprecated in API level 24
open fun getLeanbackLaunchIntentForPackage(packageName: String): Intent?

Deprecated: Deprecated in Java.

Parameters
packageName String: The name of the package to inspect. This value cannot be null.
Return
Intent? Returns either a fully-qualified Intent that can be used to launch the main Leanback activity in the package, or null if the package does not contain such an activity.

getNameForUid

Added in API level 1
open fun getNameForUid(uid: Int): String?

Deprecated: Deprecated in Java.

Parameters
uid Int: The uid for which you would like to retrieve a name.
Return
String? Returns a unique name for the given uid, or null if the uid is not currently assigned.

getPackageArchiveInfo

Added in API level 1
open fun getPackageArchiveInfo(
    archiveFilePath: String,
    flags: Int
): PackageInfo?

Deprecated: Deprecated in Java.

Parameters
archiveFilePath String: The path to the archive file This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
PackageInfo? A PackageInfo object containing information about the package archive. If the package could not be parsed, returns null.

getPackageGids

Added in API level 1
open fun getPackageGids(packageName: String): IntArray!

Deprecated: Deprecated in Java.

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of the desired package. This value cannot be null.
Return
IntArray! Returns an int array of the assigned GIDs, or null if there are none.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if no such package is available to the caller.

getPackageGids

Added in API level 24
Deprecated in API level 24
open fun getPackageGids(
    packageName: String,
    flags: Int
): IntArray!

Deprecated: Deprecated in Java.

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of the desired package. This value cannot be null.
Return
IntArray! Returns an int array of the assigned gids, or null if there are none.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if no such package is available to the caller.

getPackageInfo

Added in API level 26
Deprecated in API level 24
open fun getPackageInfo(
    versionedPackage: VersionedPackage,
    flags: Int
): PackageInfo!

Deprecated: Deprecated in Java.

Parameters
versionedPackage VersionedPackage: The versioned package for which to query. This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
PackageInfo! A PackageInfo object containing information about the package. If flag MATCH_UNINSTALLED_PACKAGES is set and if the package is not found in the list of installed applications, the package information is retrieved from the list of uninstalled applications (which includes installed applications as well as applications with data directory i.e. applications which had been deleted with DELETE_KEEP_DATA flag set).
Exceptions
android.content.pm.PackageManager.NameNotFoundException if no such package is available to the caller.

getPackageInfo

Added in API level 1
open fun getPackageInfo(
    packageName: String,
    flags: Int
): PackageInfo!

Deprecated: Deprecated in Java.

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of the desired package. This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
PackageInfo! A PackageInfo object containing information about the package. If flag MATCH_UNINSTALLED_PACKAGES is set and if the package is not found in the list of installed applications, the package information is retrieved from the list of uninstalled applications (which includes installed applications as well as applications with data directory i.e. applications which had been deleted with DELETE_KEEP_DATA flag set).
Exceptions
android.content.pm.PackageManager.NameNotFoundException if no such package is available to the caller.

getPackageInstaller

open fun getPackageInstaller(): PackageInstaller

Deprecated: Deprecated in Java.

{@hide}

Return
PackageInstaller This value cannot be null.

getPackageUid

Added in API level 24
Deprecated in API level 24
open fun getPackageUid(
    packageName: String,
    flags: Int
): Int

Deprecated: Deprecated in Java.

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of the desired package. This value cannot be null.
Return
Int Returns an integer UID who owns the given package name.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if no such package is available to the caller.

getPackagesForUid

Added in API level 1
open fun getPackagesForUid(uid: Int): Array<String!>?

Deprecated: Deprecated in Java.

Parameters
uid Int: The user id for which you would like to retrieve the associated packages.
Return
Array<String!>? Returns an array of one or more packages assigned to the user id, or null if there are no known packages with the given id.

getPackagesHoldingPermissions

Added in API level 18
Deprecated in API level 24
open fun getPackagesHoldingPermissions(
    permissions: Array<String!>,
    flags: Int
): MutableList<PackageInfo!>

Deprecated: Deprecated in Java.

Parameters
flags Int: Additional option flags to modify the data returned.
permissions Array<String!>: This value cannot be null.
Return
MutableList<PackageInfo!> A List of PackageInfo objects, one for each installed package that holds any of the permissions that were provided, containing information about the package. If no installed packages hold any of the permissions, an empty list is returned. If flag MATCH_UNINSTALLED_PACKAGES is set, the package information is retrieved from the list of uninstalled applications (which includes installed applications as well as applications with data directory i.e. applications which had been deleted with DELETE_KEEP_DATA flag set). This value cannot be null.

getPermissionGroupInfo

Added in API level 1
open fun getPermissionGroupInfo(
    name: String,
    flags: Int
): PermissionGroupInfo

Deprecated: Deprecated in Java.

Parameters
groupName The fully qualified name (i.e. com.google.permission_group.APPS) of the permission you are interested in. This value cannot be null.
flags Int: Additional option flags to modify the data returned. Value is either 0 or android.content.pm.PackageManager#GET_META_DATA
Return
PermissionGroupInfo Returns a PermissionGroupInfo containing information about the permission. This value cannot be null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

getPermissionInfo

Added in API level 1
open fun getPermissionInfo(
    name: String,
    flags: Int
): PermissionInfo!

Deprecated: Deprecated in Java.

Parameters
permName The fully qualified name (i.e. com.google.permission.LOGIN) of the permission you are interested in. This value cannot be null.
flags Int: Additional option flags to modify the data returned. Value is either 0 or android.content.pm.PackageManager#GET_META_DATA
Return
PermissionInfo! Returns a PermissionInfo containing information about the permission.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

getPreferredActivities

Added in API level 1
open fun getPreferredActivities(
    outFilters: MutableList<IntentFilter!>,
    outActivities: MutableList<ComponentName!>,
    packageName: String?
): Int

Deprecated: Deprecated in Java.

Parameters
outFilters MutableList<IntentFilter!>: A required list in which to place the filters of all of the preferred activities. This value cannot be null.
outActivities MutableList<ComponentName!>: A required list in which to place the component names of all of the preferred activities. This value cannot be null.
packageName String?: An optional package in which you would like to limit the list. If null, all activities will be returned; if non-null, only those activities in the given package are returned.
Return
Int Returns the total number of registered preferred activities (the number of distinct IntentFilter records, not the number of unique activity components) that were found.

getPreferredPackages

Added in API level 1
open fun getPreferredPackages(flags: Int): MutableList<PackageInfo!>

Deprecated: Deprecated in Java.

Parameters
flags Int: Additional option flags to modify the data returned.
Return
MutableList<PackageInfo!> A List of PackageInfo objects, one for each preferred application, in order of preference. This value cannot be null.

getProviderInfo

Added in API level 9
Deprecated in API level 24
open fun getProviderInfo(
    className: ComponentName,
    flags: Int
): ProviderInfo

Deprecated: Deprecated in Java.

Parameters
component The full component name (i.e. com.google.providers.media/com.google.providers.media. MediaProvider) of a ContentProvider class. This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
ProviderInfo A ProviderInfo object containing information about the provider. This value cannot be null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

getReceiverInfo

Added in API level 1
open fun getReceiverInfo(
    className: ComponentName,
    flags: Int
): ActivityInfo

Deprecated: Deprecated in Java.

Parameters
component The full component name (i.e. com.google.apps.calendar/com.google.apps.calendar. CalendarAlarm) of a Receiver class. This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
ActivityInfo An ActivityInfo containing information about the receiver. This value cannot be null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

getResourcesForActivity

Added in API level 1
open fun getResourcesForActivity(activityName: ComponentName): Resources

Deprecated: Deprecated in Java.

Parameters
activityName ComponentName: Name of the activity whose resources are to be retrieved. This value cannot be null.
Return
Resources Returns the application's Resources. This value cannot be null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

getResourcesForApplication

Added in API level 1
open fun getResourcesForApplication(app: ApplicationInfo): Resources

Deprecated: Deprecated in Java.

Parameters
app ApplicationInfo: Information about the desired application. This value cannot be null.
Return
Resources Returns the application's Resources. This value cannot be null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded (most likely because it was uninstalled).

getResourcesForApplication

Added in API level 1
open fun getResourcesForApplication(appPackageName: String): Resources

Deprecated: Deprecated in Java.

Parameters
packageName Package name of the application whose resources are to be retrieved. This value cannot be null.
Return
Resources Returns the application's Resources. This value cannot be null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

getServiceInfo

Added in API level 1
open fun getServiceInfo(
    className: ComponentName,
    flags: Int
): ServiceInfo

Deprecated: Deprecated in Java.

Parameters
component The full component name (i.e. com.google.apps.media/com.google.apps.media. BackgroundPlayback) of a Service class. This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
ServiceInfo A ServiceInfo object containing information about the service. This value cannot be null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if the component cannot be found on the system.

getSharedLibraries

Added in API level 26
Deprecated in API level 24
open fun getSharedLibraries(flags: Int): MutableList<SharedLibraryInfo!>

Deprecated: Deprecated in Java.

Get a list of shared libraries on the device. Use getSharedLibraries(android.content.pm.PackageManager.PackageInfoFlags) when long flags are needed.

Parameters
flags Int: To filter the libraries to return.
Return
MutableList<SharedLibraryInfo!> This value cannot be null.

getSystemAvailableFeatures

Added in API level 5
Deprecated in API level 24
open fun getSystemAvailableFeatures(): Array<FeatureInfo!>

Deprecated: Deprecated in Java.

Return
Array<FeatureInfo!> An array of FeatureInfo classes describing the features that are available on the system, or null if there are none(!!).

getSystemSharedLibraryNames

Added in API level 3
Deprecated in API level 24
open fun getSystemSharedLibraryNames(): Array<String!>?

Deprecated: Deprecated in Java.

Return
Array<String!>? An array of shared library names that are available on the system, or null if none are installed.

getText

Added in API level 1
open fun getText(
    packageName: String,
    resid: Int,
    appInfo: ApplicationInfo?
): CharSequence?

Deprecated: Deprecated in Java.

Parameters
packageName String: The name of the package that this text is coming from. Cannot be null.
resid Int: The resource identifier of the desired text. Cannot be 0.
appInfo ApplicationInfo?: Overall information about packageName. This may be null, in which case the application information will be retrieved for you if needed; if you already have this information around, it can be much more efficient to supply it here.
Return
CharSequence? Returns a CharSequence holding the requested text. Returns null if the text could not be found for any reason.

getUserBadgedDrawableForDensity

Added in API level 21
Deprecated in API level 24
open fun getUserBadgedDrawableForDensity(
    drawable: Drawable,
    user: UserHandle,
    badgeLocation: Rect?,
    badgeDensity: Int
): Drawable

Deprecated: Deprecated in Java.

Parameters
drawable Drawable: The drawable to badge. This value cannot be null.
user UserHandle: The target user. This value cannot be null.
badgeLocation Rect?: Where in the bounds of the badged drawable to place the badge. If it's null, the badge is applied on top of the entire drawable being badged.
badgeDensity Int: The optional desired density for the badge as per android.util.DisplayMetrics#densityDpi. If it's not positive, the density of the display is used.
Return
Drawable A drawable that combines the original drawable and a badge as determined by the system. This value cannot be null.

getUserBadgedIcon

Added in API level 21
Deprecated in API level 24
open fun getUserBadgedIcon(
    icon: Drawable,
    user: UserHandle
): Drawable

Deprecated: Deprecated in Java.

Parameters
drawable The drawable to badge. This value cannot be null.
user UserHandle: The target user. This value cannot be null.
Return
Drawable A drawable that combines the original icon and a badge as determined by the system. This value cannot be null.

getUserBadgedLabel

Added in API level 21
Deprecated in API level 24
open fun getUserBadgedLabel(
    label: CharSequence,
    user: UserHandle
): CharSequence

Deprecated: Deprecated in Java.

Parameters
label CharSequence: The label to change. This value cannot be null.
user UserHandle: The target user. This value cannot be null.
Return
CharSequence A label that combines the original label and a badge as determined by the system. This value cannot be null.

getXml

Added in API level 1
open fun getXml(
    packageName: String,
    resid: Int,
    appInfo: ApplicationInfo?
): XmlResourceParser?

Deprecated: Deprecated in Java.

Parameters
packageName String: The name of the package that this xml is coming from. Cannot be null.
resid Int: The resource identifier of the desired xml. Cannot be 0.
appInfo ApplicationInfo?: Overall information about packageName. This may be null, in which case the application information will be retrieved for you if needed; if you already have this information around, it can be much more efficient to supply it here.
Return
XmlResourceParser? Returns an XmlPullParser allowing you to parse out the XML data. Returns null if the xml resource could not be found for any reason.

hasSigningCertificate

Added in API level 28
Deprecated in API level 24
open fun hasSigningCertificate(
    uid: Int,
    certificate: ByteArray,
    type: Int
): Boolean

Deprecated: Deprecated in Java.

Searches the set of signing certificates by which the package(s) for the given uid has proven to have been signed. For multiple packages sharing the same uid, this will return the signing certificates found in the signing history of the "newest" package, where "newest" indicates the package with the newest signing certificate in the shared uid group. This method should be used instead of getPackageInfo with GET_SIGNATURES since it takes into account the possibility of signing certificate rotation, except in the case of packages that are signed by multiple certificates, for which signing certificate rotation is not supported. This method is analogous to using getPackagesForUid followed by getPackageInfo with GET_SIGNING_CERTIFICATES, selecting the PackageInfo of the newest-signed bpackage , and finally searching through the resulting signingInfo field to see if the desired certificate is there.

Parameters
uid Int: uid whose signing certificates to check
certificate ByteArray: signing certificate for which to search This value cannot be null.
type Int: Value is android.content.pm.PackageManager#CERT_INPUT_RAW_X509, or android.content.pm.PackageManager#CERT_INPUT_SHA256
Return
Boolean true if this package was or is signed by exactly the certificate certificate

hasSigningCertificate

Added in API level 28
Deprecated in API level 24
open fun hasSigningCertificate(
    packageName: String,
    certificate: ByteArray,
    type: Int
): Boolean

Deprecated: Deprecated in Java.

Searches the set of signing certificates by which the given package has proven to have been signed. This should be used instead of getPackageInfo with GET_SIGNATURES since it takes into account the possibility of signing certificate rotation, except in the case of packages that are signed by multiple certificates, for which signing certificate rotation is not supported. This method is analogous to using getPackageInfo with GET_SIGNING_CERTIFICATES and then searching through the resulting signingInfo field to see if the desired certificate is present.

Parameters
packageName String: package whose signing certificates to check This value cannot be null.
certificate ByteArray: signing certificate for which to search This value cannot be null.
type Int: Value is android.content.pm.PackageManager#CERT_INPUT_RAW_X509, or android.content.pm.PackageManager#CERT_INPUT_SHA256
Return
Boolean true if this package was or is signed by exactly the certificate certificate

hasSystemFeature

Added in API level 5
Deprecated in API level 24
open fun hasSystemFeature(name: String): Boolean

Deprecated: Deprecated in Java.

Parameters
featureName This value cannot be null.
Return
Boolean Returns true if the devices supports the feature, else false.

hasSystemFeature

Added in API level 24
Deprecated in API level 24
open fun hasSystemFeature(
    name: String,
    version: Int
): Boolean

Deprecated: Deprecated in Java.

Parameters
featureName This value cannot be null.
Return
Boolean Returns true if the devices supports the feature, else false.

isPermissionRevokedByPolicy

Added in API level 23
Deprecated in API level 24
open fun isPermissionRevokedByPolicy(
    permName: String,
    pkgName: String
): Boolean

Deprecated: Deprecated in Java.

Parameters
permName String: The name of the permission you are checking for. This value cannot be null.
packageName The name of the package you are checking against. This value cannot be null.
Return
Boolean Whether the permission is restricted by policy.

isSafeMode

Added in API level 3
Deprecated in API level 24
open fun isSafeMode(): Boolean

Deprecated: Deprecated in Java.

queryBroadcastReceivers

Added in API level 1
open fun queryBroadcastReceivers(
    intent: Intent,
    flags: Int
): MutableList<ResolveInfo!>

Deprecated: Deprecated in Java.

Parameters
intent Intent: The desired intent as per resolveActivity(). This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
MutableList<ResolveInfo!> Returns a List of ResolveInfo objects containing one entry for each matching receiver, ordered from best to worst. If there are no matching receivers, an empty list or null is returned.

queryContentProviders

Added in API level 1
open fun queryContentProviders(
    processName: String?,
    uid: Int,
    flags: Int
): MutableList<ProviderInfo!>

Deprecated: Deprecated in Java.

Parameters
processName String?: If non-null, limits the returned providers to only those that are hosted by the given process. If null, all content providers are returned.
uid Int: If processName is non-null, this is the required uid owning the requested content providers.
flags Int: Additional option flags to modify the data returned.
Return
MutableList<ProviderInfo!> A list of ProviderInfo objects containing one entry for each provider either matching processName or, if processName is null, all known content providers. If there are no matching providers, null is returned.

queryInstrumentation

Added in API level 1
open fun queryInstrumentation(
    targetPackage: String,
    flags: Int
): MutableList<InstrumentationInfo!>

Deprecated: Deprecated in Java.

Parameters
targetPackage String: If null, all instrumentation is returned; only the instrumentation targeting this package name is returned.
flags Int: Additional option flags to modify the data returned. Value is either 0 or android.content.pm.PackageManager#GET_META_DATA
Return
MutableList<InstrumentationInfo!> A list of InstrumentationInfo objects containing one entry for each matching instrumentation. If there are no instrumentation available, returns an empty list. This value cannot be null.

queryIntentActivities

Added in API level 1
open fun queryIntentActivities(
    intent: Intent,
    flags: Int
): MutableList<ResolveInfo!>

Deprecated: Deprecated in Java.

Parameters
intent Intent: The desired intent as per resolveActivity(). This value cannot be null.
flags Int: Additional option flags to modify the data returned. The most important is MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the android.content.Intent#CATEGORY_DEFAULT. Or, set MATCH_ALL to prevent any filtering of the results.
Return
MutableList<ResolveInfo!> Returns a List of ResolveInfo objects containing one entry for each matching activity, ordered from best to worst. In other words, the first item is what would be returned by #resolveActivity. If there are no matching activities, an empty list is returned. This value cannot be null.

queryIntentActivityOptions

Added in API level 1
open fun queryIntentActivityOptions(
    caller: ComponentName?,
    specifics: Array<Intent!>?,
    intent: Intent,
    flags: Int
): MutableList<ResolveInfo!>

Deprecated: Deprecated in Java.

Parameters
caller ComponentName?: The class name of the activity that is making the request. This activity will never appear in the output list. Can be null.
specifics Array<Intent!>?: An array of Intents that should be resolved to the first specific results. Can be null.
intent Intent: The desired intent as per resolveActivity(). This value cannot be null.
flags Int: Additional option flags to modify the data returned. The most important is MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the android.content.Intent#CATEGORY_DEFAULT.
Return
MutableList<ResolveInfo!> Returns a List of ResolveInfo objects containing one entry for each matching activity. The list is ordered first by all of the intents resolved in specifics and then any additional activities that can handle intent but did not get included by one of the specifics intents. If there are no matching activities, an empty list is returned. This value cannot be null.

queryIntentContentProviders

Added in API level 19
Deprecated in API level 24
open fun queryIntentContentProviders(
    intent: Intent,
    flags: Int
): MutableList<ResolveInfo!>

Deprecated: Deprecated in Java.

Parameters
intent Intent: An intent containing all of the desired specification (action, data, type, category, and/or component). This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
MutableList<ResolveInfo!> Returns a List of ResolveInfo objects containing one entry for each matching provider, ordered from best to worst. If there are no matching services, an empty list or null is returned.

queryIntentServices

Added in API level 1
open fun queryIntentServices(
    intent: Intent,
    flags: Int
): MutableList<ResolveInfo!>

Deprecated: Deprecated in Java.

Parameters
intent Intent: The desired intent as per resolveService(). This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
MutableList<ResolveInfo!> Returns a List of ResolveInfo objects containing one entry for each matching service, ordered from best to worst. In other words, the first item is what would be returned by #resolveService. If there are no matching services, an empty list or null is returned.

queryPermissionsByGroup

Added in API level 1
open fun queryPermissionsByGroup(
    group: String?,
    flags: Int
): MutableList<PermissionInfo!>

Deprecated: Deprecated in Java.

Parameters
permissionGroup The fully qualified name (i.e. com.google.permission.LOGIN) of the permission group you are interested in. Use null to find all of the permissions not associated with a group.
flags Int: Additional option flags to modify the data returned. Value is either 0 or android.content.pm.PackageManager#GET_META_DATA
Return
MutableList<PermissionInfo!> Returns a list of PermissionInfo containing information about all of the permissions in the given group. This value cannot be null.
Exceptions
android.content.pm.PackageManager.NameNotFoundException if a group with the given name cannot be found on the system.

removePackageFromPreferred

Added in API level 1
open fun removePackageFromPreferred(packageName: String): Unit

Deprecated: Deprecated in Java.

Parameters
packageName String: This value cannot be null.

removePermission

Added in API level 1
open fun removePermission(name: String): Unit

Deprecated: Deprecated in Java.

Parameters
permName The name of the permission to remove. This value cannot be null.
Exceptions
java.lang.SecurityException if you are not allowed to remove the given permission name.

resolveActivity

Added in API level 1
open fun resolveActivity(
    intent: Intent,
    flags: Int
): ResolveInfo?

Deprecated: Deprecated in Java.

Parameters
intent Intent: An intent containing all of the desired specification (action, data, type, category, and/or component). This value cannot be null.
flags Int: Additional option flags to modify the data returned. The most important is MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the android.content.Intent#CATEGORY_DEFAULT.
Return
ResolveInfo? Returns a ResolveInfo object containing the final activity intent that was determined to be the best action. Returns null if no matching activity was found. If multiple matching activities are found and there is no default set, returns a ResolveInfo object containing something else, such as the activity resolver.

resolveContentProvider

Added in API level 1
open fun resolveContentProvider(
    name: String,
    flags: Int
): ProviderInfo?

Deprecated: Deprecated in Java.

Parameters
authority The authority of the provider to find. This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
ProviderInfo? A ProviderInfo object containing information about the provider. If a provider was not found, returns null.

resolveService

Added in API level 1
open fun resolveService(
    intent: Intent,
    flags: Int
): ResolveInfo?

Deprecated: Deprecated in Java.

Parameters
intent Intent: An intent containing all of the desired specification (action, data, type, category, and/or component). This value cannot be null.
flags Int: Additional option flags to modify the data returned.
Return
ResolveInfo? Returns a ResolveInfo object containing the final service intent that was determined to be the best action. Returns null if no matching service was found.

resolveServiceAsUser

Added in API level Baklava
Deprecated in API level 24
open fun resolveServiceAsUser(
    intent: Intent!,
    flags: Int,
    userId: Int
): ResolveInfo!

Deprecated: Deprecated in Java.

setApplicationEnabledSetting

Added in API level 1
open fun setApplicationEnabledSetting(
    packageName: String,
    newState: Int,
    flags: Int
): Unit

Deprecated: Deprecated in Java.

setComponentEnabledSetting

Added in API level 1
open fun setComponentEnabledSetting(
    componentName: ComponentName,
    newState: Int,
    flags: Int
): Unit

Deprecated: Deprecated in Java.

setInstallerPackageName

Added in API level 11
Deprecated in API level 24
open fun setInstallerPackageName(
    targetPackage: String,
    installerPackageName: String?
): Unit

Deprecated: Deprecated in Java.

Parameters
targetPackage String: The installed package whose installer will be changed. This value cannot be null.
installerPackageName String?: The package name of the new installer. May be null to clear the association.

verifyPendingInstall

Added in API level 14
Deprecated in API level 24
open fun verifyPendingInstall(
    id: Int,
    verificationCode: Int
): Unit

Deprecated: Deprecated in Java.

Parameters
id Int: pending package identifier as passed via the PackageManager.EXTRA_VERIFICATION_ID Intent extra.
verificationCode Int: either PackageManager.VERIFICATION_ALLOW or PackageManager.VERIFICATION_REJECT.
Exceptions
java.lang.SecurityException if the caller does not have the PACKAGE_VERIFICATION_AGENT permission.