MockPackageManager


public class MockPackageManager
extends PackageManager

java.lang.Object
   ↳ android.content.pm.PackageManager
     ↳ android.test.mock.MockPackageManager


This class was deprecated in API level 24.
Use a mocking framework like Mockito. New tests should be written using the Android Testing Support Library.

A mock PackageManager class. All methods are non-functional and throw 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).

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.

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.

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.

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.

String EXTRA_VERIFICATION_ID

Extra field name for the ID of a package pending verification.

String EXTRA_VERIFICATION_RESULT

Extra field name for the result of a verification, either VERIFICATION_ALLOW, or VERIFICATION_REJECT.

String FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports running activities on secondary displays.

String FEATURE_APP_WIDGETS

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports app widgets.

String FEATURE_AUDIO_LOW_LATENCY

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

String FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY

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

String FEATURE_AUTOMOTIVE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): This is a device dedicated to showing UI on a vehicle headunit.

String FEATURE_BACKUP

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device can perform backup and restore operations on installed applications.

String FEATURE_BLUETOOTH

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

String FEATURE_BLUETOOTH_LE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): 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(String): 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(String): The device has a camera facing away from the screen.

String FEATURE_CAMERA_ANY

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

String FEATURE_CAMERA_AUTOFOCUS

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

String FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING

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

String FEATURE_CAMERA_CONCURRENT

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device's main front and back cameras can stream concurrently as described in CameraManager.getConcurrentCameraIds().

String FEATURE_CAMERA_EXTERNAL

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device can support having an external camera connected to it.

String FEATURE_CAMERA_FLASH

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device's camera supports flash.

String FEATURE_CAMERA_FRONT

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has a front facing camera.

String FEATURE_CAMERA_LEVEL_FULL

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): 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(String): The device supports the R.attr.cantSaveState API.

String FEATURE_COMPANION_DEVICE_SETUP

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports associating with devices via CompanionDeviceManager.

String FEATURE_CONNECTION_SERVICE

This constant was deprecated in API level 33. use FEATURE_TELECOM instead.

String FEATURE_CONSUMER_IR

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

String FEATURE_CONTROLS

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

String FEATURE_DEVICE_ADMIN

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports device policy enforcement via device admins.

String FEATURE_DEVICE_LOCK

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

String FEATURE_EMBEDDED

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): This is a device for IoT and may not have an UI.

String FEATURE_ETHERNET

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): This device supports ethernet.

String FEATURE_EXPANDED_PICTURE_IN_PICTURE

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

String FEATURE_FACE

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

String FEATURE_FAKETOUCH

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device does not have a touch screen, but does support touch emulation for basic events.

String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT

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

String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND

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

String FEATURE_FINGERPRINT

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

String FEATURE_FREEFORM_WINDOW_MANAGEMENT

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports freeform window management.

String FEATURE_GAMEPAD

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

String FEATURE_HIFI_SENSORS

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports high fidelity sensor processing capabilities.

String FEATURE_HOME_SCREEN

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): 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 IdentityCredentialStore implemented in secure hardware at the given feature version.

String FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS

Feature for getSystemAvailableFeatures() and hasSystemFeature(java.lang.String, int): If this feature is supported, the device supports IdentityCredentialStore implemented in secure hardware with direct access at the given feature version.

String FEATURE_INPUT_METHODS

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports adding new input methods implemented with the InputMethodService API.

String FEATURE_IPSEC_TUNNELS

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has the requisite kernel support for multinetworking-capable IPsec tunnels.

String FEATURE_IPSEC_TUNNEL_MIGRATION

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has the requisite kernel support for migrating IPsec tunnels to new source/destination addresses.

String FEATURE_IRIS

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has biometric hardware to perform iris authentication.

String FEATURE_KEYSTORE_APP_ATTEST_KEY

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has a Keystore implementation that can create application-specific attestation keys.

String FEATURE_KEYSTORE_LIMITED_USE_KEY

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): 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(String): 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(String): The device supports leanback UI.

String FEATURE_LEANBACK_ONLY

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports only leanback UI.

String FEATURE_LIVE_TV

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports live TV and can display contents from TV inputs implemented with the TvInputService API.

String FEATURE_LIVE_WALLPAPER

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports live wallpapers.

String FEATURE_LOCATION

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

String FEATURE_LOCATION_GPS

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

String FEATURE_LOCATION_NETWORK

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

String FEATURE_MANAGED_USERS

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

String FEATURE_MICROPHONE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device can record audio via a microphone.

String FEATURE_MIDI

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

String FEATURE_NFC

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

String FEATURE_NFC_BEAM

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The Beam API is enabled on the device.

String FEATURE_NFC_HOST_CARD_EMULATION

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

String FEATURE_NFC_HOST_CARD_EMULATION_NFCF

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

String FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE

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

String FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC

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

String FEATURE_OPENGLES_EXTENSION_PACK

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports the OpenGL ES Android Extension Pack.

String FEATURE_PC

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): This is a device dedicated to be primarily used with keyboard, mouse or touchpad.

String FEATURE_PICTURE_IN_PICTURE

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

String FEATURE_PRINTING

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports printing.

String FEATURE_RAM_LOW

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

String FEATURE_RAM_NORMAL

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

String FEATURE_SCREEN_LANDSCAPE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports landscape orientation screens.

String FEATURE_SCREEN_PORTRAIT

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports portrait orientation screens.

String FEATURE_SECURELY_REMOVES_USERS

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports secure removal of users.

String FEATURE_SECURE_LOCK_SCREEN

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): 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(String): The device is compatible with Android\u2019s security model.

String FEATURE_SENSOR_ACCELEROMETER

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes an accelerometer.

String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes a limited axes accelerometer.

String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes an uncalibrated limited axes accelerometer.

String FEATURE_SENSOR_AMBIENT_TEMPERATURE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes an ambient temperature sensor.

String FEATURE_SENSOR_BAROMETER

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

String FEATURE_SENSOR_COMPASS

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

String FEATURE_SENSOR_DYNAMIC_HEAD_TRACKER

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

String FEATURE_SENSOR_GYROSCOPE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes a gyroscope.

String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes a limited axes gyroscope.

String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes an uncalibrated limited axes gyroscope.

String FEATURE_SENSOR_HEADING

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes a heading sensor.

String FEATURE_SENSOR_HEART_RATE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes a heart rate monitor.

String FEATURE_SENSOR_HEART_RATE_ECG

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

String FEATURE_SENSOR_HINGE_ANGLE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes a hinge angle sensor.

String FEATURE_SENSOR_LIGHT

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes a light sensor.

String FEATURE_SENSOR_PROXIMITY

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes a proximity sensor.

String FEATURE_SENSOR_RELATIVE_HUMIDITY

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes a relative humidity sensor.

String FEATURE_SENSOR_STEP_COUNTER

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes a hardware step counter.

String FEATURE_SENSOR_STEP_DETECTOR

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes a hardware step detector.

String FEATURE_SE_OMAPI_ESE

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

String FEATURE_SE_OMAPI_SD

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

String FEATURE_SE_OMAPI_UICC

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

String FEATURE_SIP

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The SIP API is enabled on the device.

String FEATURE_SIP_VOIP

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

String FEATURE_TELECOM

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports Telecom Service APIs.

String FEATURE_TELEPHONY

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

String FEATURE_TELEPHONY_CALLING

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports Telephony APIs for calling service.

String FEATURE_TELEPHONY_CDMA

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has a CDMA telephony stack.

String FEATURE_TELEPHONY_DATA

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports Telephony APIs for data service.

String FEATURE_TELEPHONY_EUICC

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports embedded subscriptions on eUICCs.

String FEATURE_TELEPHONY_EUICC_MEP

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports multiple enabled profiles on eUICCs.

String FEATURE_TELEPHONY_GSM

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has a GSM telephony stack.

String FEATURE_TELEPHONY_IMS

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

String FEATURE_TELEPHONY_MBMS

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

String FEATURE_TELEPHONY_MESSAGING

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports Telephony APIs for SMS and MMS.

String FEATURE_TELEPHONY_RADIO_ACCESS

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports Telephony APIs for the radio access.

String FEATURE_TELEPHONY_SUBSCRIPTION

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports Telephony APIs for the subscription.

String FEATURE_TELEVISION

This constant was deprecated in API level 21. use FEATURE_LEANBACK instead.

String FEATURE_THREAD_NETWORK

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device is capable of communicating with other devices via Thread networking protocol.

String FEATURE_TOUCHSCREEN

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

String FEATURE_TOUCHSCREEN_MULTITOUCH

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

String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT

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

String FEATURE_USB_HOST

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

String FEATURE_UWB

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

String FEATURE_VERIFIED_BOOT

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports verified boot.

String FEATURE_VR_HEADTRACKING

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device implements headtracking suitable for a VR device.

String FEATURE_VR_MODE

This constant was deprecated in API level 28. use FEATURE_VR_MODE_HIGH_PERFORMANCE instead.

String FEATURE_VR_MODE_HIGH_PERFORMANCE

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

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.

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.

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.

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.

String FEATURE_WALLET_LOCATION_BASED_SUGGESTIONS

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

String FEATURE_WATCH

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): This is a device dedicated to showing UI on a watch.

String FEATURE_WEBVIEW

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has a full implementation of the android.webkit.* APIs.

String FEATURE_WIFI

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports WiFi (802.11) networking.

String FEATURE_WIFI_AWARE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports Wi-Fi Aware.

String FEATURE_WIFI_DIRECT

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports Wi-Fi Direct networking.

String FEATURE_WIFI_PASSPOINT

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports Wi-Fi Passpoint and all Passpoint related APIs in WifiManager are supported.

String FEATURE_WIFI_RTT

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

String FEATURE_WINDOW_MAGNIFICATION

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports window magnification.

int FLAG_PERMISSION_WHITELIST_INSTALLER

Permission whitelist flag: permissions whitelisted by the installer.

int FLAG_PERMISSION_WHITELIST_SYSTEM

Permission whitelist flag: permissions whitelisted by the system.

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.

int GET_ACTIVITIES

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

int GET_ATTRIBUTIONS

This constant was deprecated in API level 34. Use GET_ATTRIBUTIONS_LONG to avoid unintended sign extension.

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

This constant was deprecated in API level 24. replaced with MATCH_DISABLED_COMPONENTS

int GET_DISABLED_UNTIL_USED_COMPONENTS

This constant was deprecated in API level 24. replaced with MATCH_DISABLED_UNTIL_USED_COMPONENTS.

int GET_GIDS

PackageInfo flag: return the group ids that are associated with an application.

int GET_INSTRUMENTATION

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

int GET_INTENT_FILTERS

This constant was deprecated in API level 31. The platform does not support getting IntentFilters for the package.

int GET_META_DATA

ComponentInfo flag: return the ComponentInfo.metaData data Bundles that are associated with a component.

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.

int GET_SIGNATURES

This constant was deprecated in API level 28. use GET_SIGNING_CERTIFICATES instead

int GET_SIGNING_CERTIFICATES

PackageInfo flag: return the signing certificates associated with this package.

int GET_UNINSTALLED_PACKAGES

This constant was deprecated in API level 24. replaced with MATCH_UNINSTALLED_PACKAGES

int GET_URI_PERMISSION_PATTERNS

ProviderInfo flag: return the URI permission patterns that are associated with a content provider.

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.

int INSTALL_SCENARIO_BULK_SECONDARY

Installation scenario indicating a bulk operation that prioritizes minimal system health impact over application optimization.

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 \u201cinstall 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.

int MATCH_APEX

PackageInfo flag: include APEX packages that are currently installed.

long MATCH_ARCHIVED_PACKAGES

Flag parameter to also retrieve some information about archived packages.

int MATCH_DEFAULT_ONLY

Resolution and querying flag: if set, only filters that support the Intent.CATEGORY_DEFAULT will be considered for matching.

int MATCH_DIRECT_BOOT_AUTO

Querying flag: automatically match components based on their Direct Boot awareness and the current user state.

int MATCH_DIRECT_BOOT_AWARE

Querying flag: match components which are direct boot aware in the returned info, regardless of the current user state.

int MATCH_DIRECT_BOOT_UNAWARE

Querying flag: match components which are direct boot unaware in the returned info, regardless of the current user state.

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.

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.

long MAXIMUM_VERIFICATION_TIMEOUT

Can be used as the millisecondsToDelay argument for PackageManager.extendVerificationTimeout.

int PERMISSION_DENIED

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

int PERMISSION_GRANTED

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

String PROPERTY_COMPAT_OVERRIDE_LANDSCAPE_TO_PORTRAIT

Application level PackageManager .Property 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.

String PROPERTY_MEDIA_CAPABILITIES

<application> level 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 PackageManager.Property tag specifying the XML resource ID containing the declaration of the self-certified network capabilities used by the application.

String PROPERTY_SPECIAL_USE_FGS_SUBTYPE

<service> level 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.

String PROPERTY_USE_RESTRICTED_BACKUP_MODE

<application> level PackageManager.Property tag specifying whether the app should be put into the "restricted" backup mode when it's started for backup and restore operations.

int SIGNATURE_FIRST_NOT_SIGNED

Signature check result: this is returned by checkSignatures(int, int) if the first package is not signed but the second is.

int SIGNATURE_MATCH

Signature check result: this is returned by checkSignatures(int, int) if all signatures on the two packages match.

int SIGNATURE_NEITHER_SIGNED

Signature check result: this is returned by checkSignatures(int, int) if neither of the two packages is signed.

int SIGNATURE_NO_MATCH

Signature check result: this is returned by checkSignatures(int, int) if not all signatures on both packages match.

int SIGNATURE_SECOND_NOT_SIGNED

Signature check result: this is returned by checkSignatures(int, int) if the second package is not signed but the first is.

int SIGNATURE_UNKNOWN_PACKAGE

Signature check result: this is returned by checkSignatures(int, int) 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.

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.

Inherited fields

public static final List<Certificate> TRUST_ALL

Trust any Installer to provide checksums for the package.

public static final List<Certificate> TRUST_NONE

Don't trust any Installer to provide checksums for the package.

Public constructors

MockPackageManager()

Public methods

void addPackageToPreferred(String packageName)

This method is deprecated. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

boolean addPermission(PermissionInfo info)

Add a new dynamic permission to the system.

boolean addPermissionAsync(PermissionInfo info)

Like addPermission(android.content.pm.PermissionInfo) but asynchronously persists the package manager state after returning from the call, allowing it to return quicker and batch a series of adds at the expense of no guarantee the added permission will be retained if the device is rebooted before it is written.

void addPreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity)

This method is deprecated. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

boolean canRequestPackageInstalls()

Checks whether the calling package is allowed to request package installs through package installer.

String[] canonicalToCurrentPackageNames(String[] names)

Map from a packages canonical name to the current name in use on the device.

int checkPermission(String permName, String pkgName)

Check whether a particular package has been granted a particular permission.

int checkSignatures(String pkg1, String pkg2)

Compare the signatures of two packages to determine if the same signature appears in both of them.

int checkSignatures(int uid1, int uid2)

Like checkSignatures(java.lang.String, java.lang.String), but takes UIDs of the two packages to be checked.

void clearPackagePreferredActivities(String packageName)

This method is deprecated. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

String[] currentToCanonicalPackageNames(String[] names)

Map from the current package names in use on the device to whatever the current canonical name of that package is.

void extendVerificationTimeout(int id, int verificationCodeAtTimeout, long millisecondsToDelay)

Allows a package listening to the broadcast to extend the default timeout for a response and declare what action to perform after the timeout occurs.

Drawable getActivityBanner(Intent intent)

Retrieve the banner associated with an Intent.

Drawable getActivityBanner(ComponentName activityName)

Retrieve the banner associated with an activity.

Drawable getActivityIcon(Intent intent)

Retrieve the icon associated with an Intent.

Drawable getActivityIcon(ComponentName activityName)

Retrieve the icon associated with an activity.

ActivityInfo getActivityInfo(ComponentName className, int flags)

Retrieve all of the information we know about a particular activity class.

Drawable getActivityLogo(Intent intent)

Retrieve the logo associated with an Intent.

Drawable getActivityLogo(ComponentName activityName)

Retrieve the logo associated with an activity.

List<IntentFilter> getAllIntentFilters(String packageName)
List<PermissionGroupInfo> getAllPermissionGroups(int flags)

Retrieve all of the known permission groups in the system.

Drawable getApplicationBanner(ApplicationInfo info)

Retrieve the banner associated with an application.

Drawable getApplicationBanner(String packageName)

Retrieve the banner associated with an application.

int getApplicationEnabledSetting(String packageName)

Return the enabled setting for an application.

Drawable getApplicationIcon(String packageName)

Retrieve the icon associated with an application.

Drawable getApplicationIcon(ApplicationInfo info)

Retrieve the icon associated with an application.

ApplicationInfo getApplicationInfo(String packageName, int flags)

Retrieve all of the information we know about a particular package/application.

CharSequence getApplicationLabel(ApplicationInfo info)

Return the label to use for this application.

Drawable getApplicationLogo(String packageName)

Retrieve the logo associated with an application.

Drawable getApplicationLogo(ApplicationInfo info)

Retrieve the logo associated with an application.

int getComponentEnabledSetting(ComponentName componentName)

Return the enabled setting for a package component (activity, receiver, service, provider).

Drawable getDefaultActivityIcon()

Return the generic icon for an activity that is used when no specific icon is defined.

Drawable getDrawable(String packageName, int resid, ApplicationInfo appInfo)

Retrieve an image from a package.

List<ApplicationInfo> getInstalledApplications(int flags)

Return a List of all application packages that are installed for the current user.

List<PackageInfo> getInstalledPackages(int flags)

Return a List of all packages that are installed for the current user.

String getInstallerPackageName(String packageName)

This method was deprecated in API level 24. use getInstallSourceInfo(java.lang.String) instead

InstrumentationInfo getInstrumentationInfo(ComponentName className, int flags)

Retrieve all of the information we know about a particular instrumentation class.

Intent getLaunchIntentForPackage(String packageName)

Returns a "good" intent to launch a front-door activity in a package.

Intent getLeanbackLaunchIntentForPackage(String packageName)

Return a "good" intent to launch a front-door Leanback activity in a package, for use for example to implement an "open" button when browsing through packages.

String getNameForUid(int uid)

Retrieve the official name associated with a uid.

PackageInfo getPackageArchiveInfo(String archiveFilePath, int flags)

Retrieve overall information about an application package defined in a package archive file Use getPackageArchiveInfo(java.lang.String, android.content.pm.PackageManager.PackageInfoFlags) when long flags are needed.

int[] getPackageGids(String packageName)

Return an array of all of the POSIX secondary group IDs that have been assigned to the given package.

int[] getPackageGids(String packageName, int flags)

Return an array of all of the POSIX secondary group IDs that have been assigned to the given package.

PackageInfo getPackageInfo(String packageName, int flags)

Retrieve overall information about an application package that is installed on the system.

PackageInfo getPackageInfo(VersionedPackage versionedPackage, int flags)

Retrieve overall information about an application package that is installed on the system.

int getPackageUid(String packageName, int flags)

Return the UID associated with the given package name.

String[] getPackagesForUid(int uid)

Retrieve the names of all packages that are associated with a particular user id.

List<PackageInfo> getPackagesHoldingPermissions(String[] permissions, int flags)

Return a List of all installed packages that are currently holding any of the given permissions.

PermissionGroupInfo getPermissionGroupInfo(String name, int flags)

Retrieve all of the information we know about a particular group of permissions.

PermissionInfo getPermissionInfo(String name, int flags)

Retrieve all of the information we know about a particular permission.

int getPreferredActivities(List<IntentFilter> outFilters, List<ComponentName> outActivities, String packageName)

This method is deprecated. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

List<PackageInfo> getPreferredPackages(int flags)

This method is deprecated. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

ProviderInfo getProviderInfo(ComponentName className, int flags)

Retrieve all of the information we know about a particular content provider class.

ActivityInfo getReceiverInfo(ComponentName className, int flags)

Retrieve all of the information we know about a particular receiver class.

Resources getResourcesForActivity(ComponentName activityName)

Retrieve the resources associated with an activity.

Resources getResourcesForApplication(String appPackageName)

Retrieve the resources associated with an application.

Resources getResourcesForApplication(ApplicationInfo app)

Retrieve the resources for an application.

ServiceInfo getServiceInfo(ComponentName className, int flags)

Retrieve all of the information we know about a particular service class.

List<SharedLibraryInfo> getSharedLibraries(int flags)

Get a list of shared libraries on the device.

FeatureInfo[] getSystemAvailableFeatures()

Get a list of features that are available on the system.

String[] getSystemSharedLibraryNames()

Get a list of shared libraries that are available on the system.

CharSequence getText(String packageName, int resid, ApplicationInfo appInfo)

Retrieve text from a package.

Drawable getUserBadgedDrawableForDensity(Drawable drawable, UserHandle user, Rect badgeLocation, int badgeDensity)

If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a badged copy of the given drawable allowing the user to distinguish it from the original drawable.

Drawable getUserBadgedIcon(Drawable icon, UserHandle user)

If the target user is a managed profile, then this returns a badged copy of the given icon to be able to distinguish it from the original icon.

CharSequence getUserBadgedLabel(CharSequence label, UserHandle user)

If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a copy of the label with badging for accessibility services like talkback.

XmlResourceParser getXml(String packageName, int resid, ApplicationInfo appInfo)

Retrieve an XML file from a package.

boolean hasSigningCertificate(int uid, byte[] certificate, int type)

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

boolean hasSigningCertificate(String packageName, byte[] certificate, int type)

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

boolean hasSystemFeature(String name)

Check whether the given feature name is one of the available features as returned by getSystemAvailableFeatures().

boolean hasSystemFeature(String name, int version)

Check whether the given feature name and version is one of the available features as returned by getSystemAvailableFeatures().

boolean isPermissionRevokedByPolicy(String permName, String pkgName)

Checks whether a particular permissions has been revoked for a package by policy.

boolean isSafeMode()

Return whether the device has been booted into safe mode.

List<ResolveInfo> queryBroadcastReceivers(Intent intent, int flags)

Retrieve all receivers that can handle a broadcast of the given intent.

List<ProviderInfo> queryContentProviders(String processName, int uid, int flags)

Retrieve content provider information.

List<InstrumentationInfo> queryInstrumentation(String targetPackage, int flags)

Retrieve information about available instrumentation code.

List<ResolveInfo> queryIntentActivities(Intent intent, int flags)

Retrieve all activities that can be performed for the given intent.

List<ResolveInfo> queryIntentActivityOptions(ComponentName caller, Intent[] specifics, Intent intent, int flags)

Retrieve a set of activities that should be presented to the user as similar options.

List<ResolveInfo> queryIntentContentProviders(Intent intent, int flags)

Retrieve all providers that can match the given intent.

List<ResolveInfo> queryIntentServices(Intent intent, int flags)

Retrieve all services that can match the given intent.

List<PermissionInfo> queryPermissionsByGroup(String group, int flags)

Query for all of the permissions associated with a particular group.

void removePackageFromPreferred(String packageName)

This method is deprecated. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

void removePermission(String name)

Removes a permission that was previously added with addPermission(android.content.pm.PermissionInfo).

ResolveInfo resolveActivity(Intent intent, int flags)

Determine the best action to perform for a given Intent.

ProviderInfo resolveContentProvider(String name, int flags)

Find a single content provider by its authority.

ResolveInfo resolveService(Intent intent, int flags)

Determine the best service to handle for a given Intent.

ResolveInfo resolveServiceAsUser(Intent intent, int flags, int userId)
void setApplicationEnabledSetting(String packageName, int newState, int flags)

Set the enabled setting for an application This setting will override any enabled state which may have been set by the application in its manifest.

void setComponentEnabledSetting(ComponentName componentName, int newState, int flags)

Set the enabled setting for a package component (activity, receiver, service, provider).

void setInstallerPackageName(String targetPackage, String installerPackageName)

Change the installer associated with a given package.

void verifyPendingInstall(int id, int verificationCode)

Allows a package listening to the broadcast to respond to the package manager.

Inherited methods

abstract void addPackageToPreferred(String packageName)

This method was deprecated in API level 15. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

abstract boolean addPermission(PermissionInfo info)

Add a new dynamic permission to the system.

abstract boolean addPermissionAsync(PermissionInfo info)

Like addPermission(android.content.pm.PermissionInfo) but asynchronously persists the package manager state after returning from the call, allowing it to return quicker and batch a series of adds at the expense of no guarantee the added permission will be retained if the device is rebooted before it is written.

abstract void addPreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity)

This method was deprecated in API level 15. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

boolean addWhitelistedRestrictedPermission(String packageName, String permName, int whitelistFlags)

Adds a whitelisted restricted permission for an app.

boolean canPackageQuery(String sourcePackageName, String targetPackageName)

Returns true if the source package is able to query for details about the target package.

boolean[] canPackageQuery(String sourcePackageName, String[] targetPackageNames)

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

abstract boolean canRequestPackageInstalls()

Checks whether the calling package is allowed to request package installs through package installer.

abstract String[] canonicalToCurrentPackageNames(String[] packageNames)

Map from a packages canonical name to the current name in use on the device.

abstract int checkPermission(String permName, String packageName)

Check whether a particular package has been granted a particular permission.

abstract int checkSignatures(String packageName1, String packageName2)

Compare the signatures of two packages to determine if the same signature appears in both of them.

abstract int checkSignatures(int uid1, int uid2)

Like checkSignatures(java.lang.String, java.lang.String), but takes UIDs of the two packages to be checked.

abstract void clearInstantAppCookie()

Clears the instant application cookie for the calling app.

abstract void clearPackagePreferredActivities(String packageName)

This method was deprecated in API level 29. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

abstract String[] currentToCanonicalPackageNames(String[] packageNames)

Map from the current package names in use on the device to whatever the current canonical name of that package is.

abstract void extendVerificationTimeout(int id, int verificationCodeAtTimeout, long millisecondsToDelay)

Allows a package listening to the broadcast to extend the default timeout for a response and declare what action to perform after the timeout occurs.

abstract Drawable getActivityBanner(ComponentName activityName)

Retrieve the banner associated with an activity.

abstract Drawable getActivityBanner(Intent intent)

Retrieve the banner associated with an Intent.

abstract Drawable getActivityIcon(Intent intent)

Retrieve the icon associated with an Intent.

abstract Drawable getActivityIcon(ComponentName activityName)

Retrieve the icon associated with an activity.

abstract ActivityInfo getActivityInfo(ComponentName component, int flags)

Retrieve all of the information we know about a particular activity class.

ActivityInfo getActivityInfo(ComponentName component, PackageManager.ComponentInfoFlags flags)

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

abstract Drawable getActivityLogo(Intent intent)

Retrieve the logo associated with an Intent.

abstract Drawable getActivityLogo(ComponentName activityName)

Retrieve the logo associated with an activity.

abstract List<PermissionGroupInfo> getAllPermissionGroups(int flags)

Retrieve all of the known permission groups in the system.

abstract Drawable getApplicationBanner(String packageName)

Retrieve the banner associated with an application.

abstract Drawable getApplicationBanner(ApplicationInfo info)

Retrieve the banner associated with an application.

abstract int getApplicationEnabledSetting(String packageName)

Return the enabled setting for an application.

abstract Drawable getApplicationIcon(ApplicationInfo info)

Retrieve the icon associated with an application.

abstract Drawable getApplicationIcon(String packageName)

Retrieve the icon associated with an application.

ApplicationInfo getApplicationInfo(String packageName, PackageManager.ApplicationInfoFlags flags)

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

abstract ApplicationInfo getApplicationInfo(String packageName, int flags)

Retrieve all of the information we know about a particular package/application.

abstract CharSequence getApplicationLabel(ApplicationInfo info)

Return the label to use for this application.

abstract Drawable getApplicationLogo(String packageName)

Retrieve the logo associated with an application.

abstract Drawable getApplicationLogo(ApplicationInfo info)

Retrieve the logo associated with an application.

ArchivedPackageInfo getArchivedPackage(String packageName)

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.

abstract ChangedPackages getChangedPackages(int sequenceNumber)

Returns the names of the packages that have been changed [eg.

abstract int getComponentEnabledSetting(ComponentName componentName)

Return the enabled setting for a package component (activity, receiver, service, provider).

abstract Drawable getDefaultActivityIcon()

Return the generic icon for an activity that is used when no specific icon is defined.

abstract Drawable getDrawable(String packageName, int resid, ApplicationInfo appInfo)

Retrieve an image from a package.

void getGroupOfPlatformPermission(String permissionName, Executor executor, Consumer<String> callback)

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

InstallSourceInfo getInstallSourceInfo(String packageName)

Retrieves information about how a package was installed or updated.

abstract List<ApplicationInfo> getInstalledApplications(int flags)

Return a List of all application packages that are installed for the current user.

List<ApplicationInfo> getInstalledApplications(PackageManager.ApplicationInfoFlags flags)

See getInstalledApplications(int)

List<ModuleInfo> getInstalledModules(int flags)

Return a List of all modules that are installed.

abstract List<PackageInfo> getInstalledPackages(int flags)

Return a List of all packages that are installed for the current user.

List<PackageInfo> getInstalledPackages(PackageManager.PackageInfoFlags flags)

See getInstalledPackages(int).

abstract String getInstallerPackageName(String packageName)

This method was deprecated in API level 30. use getInstallSourceInfo(java.lang.String) instead

abstract byte[] getInstantAppCookie()

Gets the instant application cookie for this app.

abstract int getInstantAppCookieMaxBytes()

Gets the maximum size in bytes of the cookie data an instant app can store on the device.

abstract InstrumentationInfo getInstrumentationInfo(ComponentName className, int flags)

Retrieve all of the information we know about a particular instrumentation class.

abstract Intent getLaunchIntentForPackage(String packageName)

Returns a "good" intent to launch a front-door activity in a package.

IntentSender getLaunchIntentSenderForPackage(String packageName)

Returns an IntentSender that can be used to launch a front-door activity in a package.

abstract Intent getLeanbackLaunchIntentForPackage(String packageName)

Return a "good" intent to launch a front-door Leanback activity in a package, for use for example to implement an "open" button when browsing through packages.

Set<String> getMimeGroup(String mimeGroup)

Gets all MIME types contained by MIME group.

ModuleInfo getModuleInfo(String packageName, int flags)

Retrieve information for a particular module.

abstract String getNameForUid(int uid)

Retrieve the official name associated with a uid.

PackageInfo getPackageArchiveInfo(String archiveFilePath, int flags)

Retrieve overall information about an application package defined in a package archive file Use getPackageArchiveInfo(java.lang.String, android.content.pm.PackageManager.PackageInfoFlags) when long flags are needed.

PackageInfo getPackageArchiveInfo(String archiveFilePath, PackageManager.PackageInfoFlags flags)

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

abstract int[] getPackageGids(String packageName)

Return an array of all of the POSIX secondary group IDs that have been assigned to the given package.

abstract int[] getPackageGids(String packageName, int flags)

Return an array of all of the POSIX secondary group IDs that have been assigned to the given package.

int[] getPackageGids(String packageName, PackageManager.PackageInfoFlags flags)

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

abstract PackageInfo getPackageInfo(String packageName, int flags)

Retrieve overall information about an application package that is installed on the system.

PackageInfo getPackageInfo(String packageName, PackageManager.PackageInfoFlags flags)

See getPackageInfo(java.lang.String, int)

PackageInfo getPackageInfo(VersionedPackage versionedPackage, PackageManager.PackageInfoFlags flags)

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

abstract PackageInfo getPackageInfo(VersionedPackage versionedPackage, int flags)

Retrieve overall information about an application package that is installed on the system.

abstract PackageInstaller getPackageInstaller()

Return interface that offers the ability to install, upgrade, and remove applications on the device.

int getPackageUid(String packageName, PackageManager.PackageInfoFlags flags)

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

abstract int getPackageUid(String packageName, int flags)

Return the UID associated with the given package name.

abstract String[] getPackagesForUid(int uid)

Retrieve the names of all packages that are associated with a particular user id.

abstract List<PackageInfo> getPackagesHoldingPermissions(String[] permissions, int flags)

Return a List of all installed packages that are currently holding any of the given permissions.

List<PackageInfo> getPackagesHoldingPermissions(String[] permissions, PackageManager.PackageInfoFlags flags)

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

abstract PermissionGroupInfo getPermissionGroupInfo(String groupName, int flags)

Retrieve all of the information we know about a particular group of permissions.

abstract PermissionInfo getPermissionInfo(String permName, int flags)

Retrieve all of the information we know about a particular permission.

void getPlatformPermissionsForGroup(String permissionGroupName, Executor executor, Consumer<List<String>> callback)

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

abstract int getPreferredActivities(List<IntentFilter> outFilters, List<ComponentName> outActivities, String packageName)

This method was deprecated in API level 29. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

abstract List<PackageInfo> getPreferredPackages(int flags)

This method was deprecated in API level 29. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

PackageManager.Property getProperty(String propertyName, String packageName)

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

PackageManager.Property getProperty(String propertyName, ComponentName component)

Returns the property defined in the given component declaration.

abstract ProviderInfo getProviderInfo(ComponentName component, int flags)

Retrieve all of the information we know about a particular content provider class.

ProviderInfo getProviderInfo(ComponentName component, PackageManager.ComponentInfoFlags flags)

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

abstract ActivityInfo getReceiverInfo(ComponentName component, int flags)

Retrieve all of the information we know about a particular receiver class.

ActivityInfo getReceiverInfo(ComponentName component, PackageManager.ComponentInfoFlags flags)

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

abstract Resources getResourcesForActivity(ComponentName activityName)

Retrieve the resources associated with an activity.

abstract Resources getResourcesForApplication(ApplicationInfo app)

Retrieve the resources for an application.

abstract Resources getResourcesForApplication(String packageName)

Retrieve the resources associated with an application.

Resources getResourcesForApplication(ApplicationInfo app, Configuration configuration)

Retrieve the resources for an application for the provided configuration.

ServiceInfo getServiceInfo(ComponentName component, PackageManager.ComponentInfoFlags flags)

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

abstract ServiceInfo getServiceInfo(ComponentName component, int flags)

Retrieve all of the information we know about a particular service class.

List<SharedLibraryInfo> getSharedLibraries(PackageManager.PackageInfoFlags flags)

See getSharedLibraries(int).

abstract List<SharedLibraryInfo> getSharedLibraries(int flags)

Get a list of shared libraries on the device.

Bundle getSuspendedPackageAppExtras()

Returns a Bundle of extras that was meant to be sent to the calling app when it was suspended.

boolean getSyntheticAppDetailsActivityEnabled(String packageName)

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

abstract FeatureInfo[] getSystemAvailableFeatures()

Get a list of features that are available on the system.

abstract String[] getSystemSharedLibraryNames()

Get a list of shared libraries that are available on the system.

int getTargetSdkVersion(String packageName)
abstract CharSequence getText(String packageName, int resid, ApplicationInfo appInfo)

Retrieve text from a package.

abstract Drawable getUserBadgedDrawableForDensity(Drawable drawable, UserHandle user, Rect badgeLocation, int badgeDensity)

If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a badged copy of the given drawable allowing the user to distinguish it from the original drawable.

abstract Drawable getUserBadgedIcon(Drawable drawable, UserHandle user)

If the target user is a managed profile, then this returns a badged copy of the given icon to be able to distinguish it from the original icon.

abstract CharSequence getUserBadgedLabel(CharSequence label, UserHandle user)

If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a copy of the label with badging for accessibility services like talkback.

static SigningInfo getVerifiedSigningInfo(String path, int minAppSigningSchemeVersion)

Verifies and returns the app signing information of the file at the given path.

Set<String> getWhitelistedRestrictedPermissions(String packageName, int whitelistFlag)

Gets the restricted permissions that have been whitelisted and the app is allowed to have them granted in their full form.

abstract XmlResourceParser getXml(String packageName, int resid, ApplicationInfo appInfo)

Retrieve an XML file from a package.

boolean hasSigningCertificate(int uid, byte[] certificate, int type)

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

boolean hasSigningCertificate(String packageName, byte[] certificate, int type)

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

abstract boolean hasSystemFeature(String featureName)

Check whether the given feature name is one of the available features as returned by getSystemAvailableFeatures().

abstract boolean hasSystemFeature(String featureName, int version)

Check whether the given feature name and version is one of the available features as returned by getSystemAvailableFeatures().

boolean isAppArchivable(String packageName)

Returns true if an app is archivable.

boolean isAutoRevokeWhitelisted(String packageName)

Checks whether an application is exempt from having its permissions be automatically revoked when the app is unused for an extended period of time.

boolean isAutoRevokeWhitelisted()

Note: In retrospect it would have been preferred to use more inclusive terminology when naming this API.

boolean isDefaultApplicationIcon(Drawable drawable)

Returns if the provided drawable represents the default activity icon provided by the system.

boolean isDeviceUpgrading()

Returns true if the device is upgrading, such as first boot after OTA.

abstract boolean isInstantApp()

Gets whether this application is an instant app.

abstract boolean isInstantApp(String packageName)

Gets whether the given package is an instant app.

boolean isPackageStopped(String packageName)

Query if an app is currently stopped.

boolean isPackageSuspended(String packageName)

Query if an app is currently suspended.

boolean isPackageSuspended()

Apps can query this to know if they have been suspended.

abstract boolean isPermissionRevokedByPolicy(String permName, String packageName)

Checks whether a particular permissions has been revoked for a package by policy.

abstract boolean isSafeMode()

Return whether the device has been booted into safe mode.

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

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

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

Similar to parseAndroidManifest(java.io.File, java.util.function.Function), but accepting a file descriptor instead of a File object.

List<PackageManager.Property> queryActivityProperty(String propertyName)

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

List<PackageManager.Property> queryApplicationProperty(String propertyName)

Returns the property definition for all <application> tags.

List<ResolveInfo> queryBroadcastReceivers(Intent intent, PackageManager.ResolveInfoFlags flags)

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

abstract List<ResolveInfo> queryBroadcastReceivers(Intent intent, int flags)

Retrieve all receivers that can handle a broadcast of the given intent.

abstract List<ProviderInfo> queryContentProviders(String processName, int uid, int flags)

Retrieve content provider information.

List<ProviderInfo> queryContentProviders(String processName, int uid, PackageManager.ComponentInfoFlags flags)

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

abstract List<InstrumentationInfo> queryInstrumentation(String targetPackage, int flags)

Retrieve information about available instrumentation code.

List<ResolveInfo> queryIntentActivities(Intent intent, PackageManager.ResolveInfoFlags flags)

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

abstract List<ResolveInfo> queryIntentActivities(Intent intent, int flags)

Retrieve all activities that can be performed for the given intent.

abstract List<ResolveInfo> queryIntentActivityOptions(ComponentName caller, Intent[] specifics, Intent intent, int flags)

Retrieve a set of activities that should be presented to the user as similar options.

List<ResolveInfo> queryIntentActivityOptions(ComponentName caller, List<Intent> specifics, Intent intent, PackageManager.ResolveInfoFlags flags)

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

List<ResolveInfo> queryIntentContentProviders(Intent intent, PackageManager.ResolveInfoFlags flags)

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

abstract List<ResolveInfo> queryIntentContentProviders(Intent intent, int flags)

Retrieve all providers that can match the given intent.

abstract List<ResolveInfo> queryIntentServices(Intent intent, int flags)

Retrieve all services that can match the given intent.

List<ResolveInfo> queryIntentServices(Intent intent, PackageManager.ResolveInfoFlags flags)

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

abstract List<PermissionInfo> queryPermissionsByGroup(String permissionGroup, int flags)

Query for all of the permissions associated with a particular group.

List<PackageManager.Property> queryProviderProperty(String propertyName)

Returns the property definition for all <provider> tags.

List<PackageManager.Property> queryReceiverProperty(String propertyName)

Returns the property definition for all <receiver> tags.

List<PackageManager.Property> queryServiceProperty(String propertyName)

Returns the property definition for all <service> tags.

void relinquishUpdateOwnership(String targetPackage)

Attempt to relinquish the update ownership of the given package.

abstract void removePackageFromPreferred(String packageName)

This method was deprecated in API level 15. This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

abstract void removePermission(String permName)

Removes a permission that was previously added with addPermission(android.content.pm.PermissionInfo).

boolean removeWhitelistedRestrictedPermission(String packageName, String permName, int whitelistFlags)

Removes a whitelisted restricted permission for an app.

void requestChecksums(String packageName, boolean includeSplits, int required, List<Certificate> trustedInstallers, PackageManager.OnChecksumsReadyListener onChecksumsReadyListener)

Requests the checksums for APKs within a package.

ResolveInfo resolveActivity(Intent intent, PackageManager.ResolveInfoFlags flags)

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

abstract ResolveInfo resolveActivity(Intent intent, int flags)

Determine the best action to perform for a given Intent.

ProviderInfo resolveContentProvider(String authority, PackageManager.ComponentInfoFlags flags)

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

abstract ProviderInfo resolveContentProvider(String authority, int flags)

Find a single content provider by its authority.

abstract ResolveInfo resolveService(Intent intent, int flags)

Determine the best service to handle for a given Intent.

ResolveInfo resolveService(Intent intent, PackageManager.ResolveInfoFlags flags)

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

abstract void setApplicationCategoryHint(String packageName, int categoryHint)

Provide a hint of what the ApplicationInfo.category value should be for the given package.

abstract void setApplicationEnabledSetting(String packageName, int newState, int flags)

Set the enabled setting for an application This setting will override any enabled state which may have been set by the application in its manifest.

boolean setAutoRevokeWhitelisted(String packageName, boolean whitelisted)

Marks an application exempt from having its permissions be automatically revoked when the app is unused for an extended period of time.

abstract void setComponentEnabledSetting(ComponentName componentName, int newState, int flags)

Set the enabled setting for a package component (activity, receiver, service, provider).

void setComponentEnabledSettings(List<PackageManager.ComponentEnabledSetting> settings)

Set the enabled settings for package components such as activities, receivers, services and providers.

abstract void setInstallerPackageName(String targetPackage, String installerPackageName)

Change the installer associated with a given package.

void setMimeGroup(String mimeGroup, Set<String> mimeTypes)

Sets MIME group's MIME types.

abstract void updateInstantAppCookie(byte[] cookie)

Updates the instant application cookie for the calling app.

abstract void verifyPendingInstall(int id, int verificationCode)

Allows a package listening to the broadcast to respond to the package manager.

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public constructors

MockPackageManager

public MockPackageManager ()

Public methods

addPackageToPreferred

Added in API level 1
public void addPackageToPreferred (String packageName)

This method is deprecated.
This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

Parameters
packageName String: This value cannot be null.

addPermission

Added in API level 1
public boolean addPermission (PermissionInfo info)

Add a new dynamic permission to the system. For this to work, your package must have defined a permission tree through the <permission-tree> tag in its manifest. A package can only add permissions to trees that were defined by either its own package or another with the same user id; a permission is in a tree if it matches the name of the permission tree + ".": for example, "com.foo.bar" is a member of the permission tree "com.foo".

It is good to make your permission tree name descriptive, because you are taking possession of that entire set of permission names. Thus, it must be under a domain you control, with a suffix that will not match any normal permissions that may be declared in any applications that are part of that domain.

New permissions must be added before any .apks are installed that use those permissions. Permissions you add through this method are remembered across reboots of the device. If the given permission already exists, the info you supply here will be used to update it.

Parameters
info PermissionInfo: Description of the permission to be added. This value cannot be null.

Returns
boolean Returns true if a new permission was created, false if an existing one was updated.

addPermissionAsync

Added in API level 8
Deprecated in API level 24
public boolean addPermissionAsync (PermissionInfo info)

Like addPermission(android.content.pm.PermissionInfo) but asynchronously persists the package manager state after returning from the call, allowing it to return quicker and batch a series of adds at the expense of no guarantee the added permission will be retained if the device is rebooted before it is written.

Parameters
info PermissionInfo: This value cannot be null.

Returns
boolean

addPreferredActivity

Added in API level 1
public void addPreferredActivity (IntentFilter filter, 
                int match, 
                ComponentName[] set, 
                ComponentName activity)

This method is deprecated.
This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

Add a new preferred activity mapping to the system. This will be used to automatically select the given activity component when Context.startActivity() finds multiple matching activities and also matches the given filter.

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 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
public boolean canRequestPackageInstalls ()

Checks whether the calling package is allowed to request package installs through package installer. Apps are encouraged to call this API before launching the package installer via intent Intent.ACTION_INSTALL_PACKAGE. Starting from Android O, the user can explicitly choose what external sources they trust to install apps on the device. If this API returns false, the install request will be blocked by the package installer and a dialog will be shown to the user with an option to launch settings to change their preference. An application must target Android O or higher and declare permission Manifest.permission.REQUEST_INSTALL_PACKAGES in order to use this API.

Returns
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
public String[] canonicalToCurrentPackageNames (String[] names)

Map from a packages canonical name to the current name in use on the device.

Parameters
names String: Array of new names to be mapped. This value cannot be null.

Returns
String[] Returns an array of the same size as the original, containing the current name for each package.

checkPermission

Added in API level 1
public int checkPermission (String permName, 
                String pkgName)

Check whether a particular package has been granted a particular permission.

Note: This API returns the underlying permission state as-is and is mostly intended for permission managing system apps. To perform an access check for a certain app, please use the Context.checkPermission APIs instead.

Parameters
permName String: The name of the permission you are checking for. This value cannot be null.

pkgName String: The name of the package you are checking against. This value cannot be null.

Returns
int If the package has the permission, PERMISSION_GRANTED is returned. If it does not have the permission, PERMISSION_DENIED is returned. Value is PERMISSION_GRANTED, or PERMISSION_DENIED

checkSignatures

Added in API level 1
public int checkSignatures (String pkg1, 
                String pkg2)

Compare the signatures of two packages to determine if the same signature appears in both of them. If they do contain the same signature, then they are allowed special privileges when working with each other: they can share the same user-id, run instrumentation against each other, etc.

Parameters
pkg1 String: First package name whose signature will be compared. This value cannot be null.

pkg2 String: Second package name whose signature will be compared. This value cannot be null.

Returns
int Returns an integer indicating whether all signatures on the two packages match. The value is >= 0 (SIGNATURE_MATCH) if all signatures match or < 0 if there is not a match (SIGNATURE_NO_MATCH or SIGNATURE_UNKNOWN_PACKAGE). Value is SIGNATURE_MATCH, SIGNATURE_NEITHER_SIGNED, SIGNATURE_FIRST_NOT_SIGNED, SIGNATURE_SECOND_NOT_SIGNED, SIGNATURE_NO_MATCH, or SIGNATURE_UNKNOWN_PACKAGE

checkSignatures

Added in API level 5
Deprecated in API level 24
public int checkSignatures (int uid1, 
                int uid2)

Like checkSignatures(java.lang.String, java.lang.String), but takes UIDs of the two packages to be checked. This can be useful, for example, when doing the check in an IPC, where the UID is the only identity available. It is functionally identical to determining the package associated with the UIDs and checking their signatures.

Parameters
uid1 int: First UID whose signature will be compared.

uid2 int: Second UID whose signature will be compared.

Returns
int Returns an integer indicating whether all signatures on the two packages match. The value is >= 0 (SIGNATURE_MATCH) if all signatures match or < 0 if there is not a match (SIGNATURE_NO_MATCH or SIGNATURE_UNKNOWN_PACKAGE). Value is SIGNATURE_MATCH, SIGNATURE_NEITHER_SIGNED, SIGNATURE_FIRST_NOT_SIGNED, SIGNATURE_SECOND_NOT_SIGNED, SIGNATURE_NO_MATCH, or SIGNATURE_UNKNOWN_PACKAGE

clearPackagePreferredActivities

Added in API level 1
public void clearPackagePreferredActivities (String packageName)

This method is deprecated.
This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

Remove all preferred activity mappings, previously added with addPreferredActivity(IntentFilter, int, ComponentName, ComponentName), from the system whose activities are implemented in the given package name. An application can only clear its own package(s).

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
public String[] currentToCanonicalPackageNames (String[] names)

Map from the current package names in use on the device to whatever the current canonical name of that package is.

Parameters
names String: Array of current names to be mapped. This value cannot be null.

Returns
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
public void extendVerificationTimeout (int id, 
                int verificationCodeAtTimeout, 
                long millisecondsToDelay)

Allows a package listening to the broadcast to extend the default timeout for a response and declare what action to perform after the timeout occurs. The response must include the verificationCodeAtTimeout which is one of PackageManager.VERIFICATION_ALLOW or PackageManager.VERIFICATION_REJECT. This method may only be called once per package id. Additional calls will have no effect.

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.

getActivityBanner

Added in API level 20
Deprecated in API level 24
public Drawable getActivityBanner (Intent intent)

Retrieve the banner associated with an Intent. If intent.getClassName() is set, this simply returns the result of getActivityBanner(intent.getClassName()). Otherwise it resolves the intent's component and returns the banner associated with the resolved component. If intent.getClassName() cannot be found or the Intent cannot be resolved to a component, NameNotFoundException is thrown.

Parameters
intent Intent: The intent for which you would like to retrieve a banner. This value cannot be null.

Returns
Drawable Returns the image of the banner, or null if the activity has no banner specified.

getActivityBanner

Added in API level 20
Deprecated in API level 24
public Drawable getActivityBanner (ComponentName activityName)

Retrieve the banner associated with an activity. Given the full name of an activity, retrieves the information about it and calls ComponentInfo.loadIcon() to return its banner. If the activity cannot be found, NameNotFoundException is thrown.

Parameters
activityName ComponentName: Name of the activity whose banner is to be retrieved. This value cannot be null.

Returns
Drawable Returns the image of the banner, or null if the activity has no banner specified.

getActivityIcon

Added in API level 1
public Drawable getActivityIcon (Intent intent)

Retrieve the icon associated with an Intent. If intent.getClassName() is set, this simply returns the result of getActivityIcon(intent.getClassName()). Otherwise it resolves the intent's component and returns the icon associated with the resolved component. If intent.getClassName() cannot be found or the Intent cannot be resolved to a component, NameNotFoundException is thrown.

Parameters
intent Intent: The intent for which you would like to retrieve an icon. This value cannot be null.

Returns
Drawable Returns the image of the icon, or the default activity icon if it could not be found. Does not return null.

getActivityIcon

Added in API level 1
public Drawable getActivityIcon (ComponentName activityName)

Retrieve the icon associated with an activity. Given the full name of an activity, retrieves the information about it and calls ComponentInfo.loadIcon() to return its icon. If the activity cannot be found, NameNotFoundException is thrown.

Parameters
activityName ComponentName: Name of the activity whose icon is to be retrieved. This value cannot be null.

Returns
Drawable Returns the image of the icon, or the default activity icon if it could not be found. Does not return null.

getActivityInfo

Added in API level 1
public ActivityInfo getActivityInfo (ComponentName className, 
                int flags)

Retrieve all of the information we know about a particular activity class. Use getActivityInfo(android.content.ComponentName, android.content.pm.PackageManager.ComponentInfoFlags) when long flags are needed.

Parameters
className ComponentName: 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.

Returns
ActivityInfo An ActivityInfo containing information about the activity. This value cannot be null.

getActivityLogo

Added in API level 9
Deprecated in API level 24
public Drawable getActivityLogo (Intent intent)

Retrieve the logo associated with an Intent. If intent.getClassName() is set, this simply returns the result of getActivityLogo(intent.getClassName()). Otherwise it resolves the intent's component and returns the logo associated with the resolved component. If intent.getClassName() cannot be found or the Intent cannot be resolved to a component, NameNotFoundException is thrown.

Parameters
intent Intent: The intent for which you would like to retrieve a logo. This value cannot be null.

Returns
Drawable Returns the image of the logo, or null if the activity has no logo specified.

getActivityLogo

Added in API level 9
Deprecated in API level 24
public Drawable getActivityLogo (ComponentName activityName)

Retrieve the logo associated with an activity. Given the full name of an activity, retrieves the information about it and calls ComponentInfo.loadLogo() to return its logo. If the activity cannot be found, NameNotFoundException is thrown.

Parameters
activityName ComponentName: Name of the activity whose logo is to be retrieved. This value cannot be null.

Returns
Drawable Returns the image of the logo or null if the activity has no logo specified.

getAllIntentFilters

Added in API level 23
Deprecated in API level 24
public List<IntentFilter> getAllIntentFilters (String packageName)

Parameters
packageName String

Returns
List<IntentFilter>

getAllPermissionGroups

Added in API level 1
public List<PermissionGroupInfo> getAllPermissionGroups (int flags)

Retrieve all of the known permission groups in the system.

Parameters
flags int: Additional option flags to modify the data returned. Value is either 0 or PackageManager.GET_META_DATA

Returns
List<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
public Drawable getApplicationBanner (ApplicationInfo info)

Retrieve the banner associated with an application.

Parameters
info ApplicationInfo: Information about application being queried. This value cannot be null.

Returns
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
public Drawable getApplicationBanner (String packageName)

Retrieve the banner associated with an application. Given the name of the application's package, retrieves the information about it and calls getApplicationIcon() to return its banner. If the application cannot be found, NameNotFoundException is thrown.

Parameters
packageName String: Name of the package whose application banner is to be retrieved. This value cannot be null.

Returns
Drawable Returns the image of the banner or null if the application has no banner specified.

getApplicationEnabledSetting

Added in API level 1
public int getApplicationEnabledSetting (String packageName)

Return the enabled setting for an application. This returns the last value set by setApplicationEnabledSetting(java.lang.String, int, int); in most cases this value will be COMPONENT_ENABLED_STATE_DEFAULT since the value originally specified in the manifest has not been modified.

Parameters
packageName String: The package name of the application to retrieve. This value cannot be null.

getApplicationIcon

Added in API level 1
public Drawable getApplicationIcon (String packageName)

Retrieve the icon associated with an application. Given the name of the application's package, retrieves the information about it and calls getApplicationIcon() to return its icon. If the application cannot be found, NameNotFoundException is thrown.

Parameters
packageName String: Name of the package whose application icon is to be retrieved. This value cannot be null.

Returns
Drawable Returns the image of the icon, or the default application icon if it could not be found. Does not return null.

getApplicationIcon

Added in API level 1
public Drawable getApplicationIcon (ApplicationInfo info)

Retrieve the icon associated with an application. If it has not defined an icon, the default app icon is returned. Does not return null.

Parameters
info ApplicationInfo: Information about application being queried. This value cannot be null.

Returns
Drawable Returns the image of the icon, or the default application icon if it could not be found.

getApplicationInfo

Added in API level 1
public ApplicationInfo getApplicationInfo (String packageName, 
                int flags)

Retrieve all of the information we know about a particular package/application. Use getApplicationInfo(java.lang.String, android.content.pm.PackageManager.ApplicationInfoFlags) when long flags are needed.

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.

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

getApplicationLabel

Added in API level 1
public CharSequence getApplicationLabel (ApplicationInfo info)

Return the label to use for this application.

Parameters
info ApplicationInfo: The ApplicationInfo of the application to get the label of. This value cannot be null.

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

getApplicationLogo

Added in API level 9
Deprecated in API level 24
public Drawable getApplicationLogo (String packageName)

Retrieve the logo associated with an application. Given the name of the application's package, retrieves the information about it and calls getApplicationLogo() to return its logo. If the application cannot be found, NameNotFoundException is thrown.

Parameters
packageName String: Name of the package whose application logo is to be retrieved. This value cannot be null.

Returns
Drawable Returns the image of the logo, or null if no application logo has been specified.

getApplicationLogo

Added in API level 9
Deprecated in API level 24
public Drawable getApplicationLogo (ApplicationInfo info)

Retrieve the logo associated with an application. If it has not specified a logo, this method returns null.

Parameters
info ApplicationInfo: Information about application being queried. This value cannot be null.

Returns
Drawable Returns the image of the logo, or null if no logo is specified by the application.

getComponentEnabledSetting

Added in API level 1
public int getComponentEnabledSetting (ComponentName componentName)

Return the enabled setting for a package component (activity, receiver, service, provider). This returns the last value set by setComponentEnabledSetting(android.content.ComponentName, int, int); in most cases this value will be COMPONENT_ENABLED_STATE_DEFAULT since the value originally specified in the manifest has not been modified.

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

getDefaultActivityIcon

Added in API level 1
public Drawable getDefaultActivityIcon ()

Return the generic icon for an activity that is used when no specific icon is defined.

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

getDrawable

Added in API level 1
public Drawable getDrawable (String packageName, 
                int resid, 
                ApplicationInfo appInfo)

Retrieve an image from a package. This is a low-level API used by the various package manager info structures (such as ComponentInfo to implement retrieval of their associated icon.

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.

Returns
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
public List<ApplicationInfo> getInstalledApplications (int flags)

Return a List of all application packages that are installed for the current user. If flag GET_UNINSTALLED_PACKAGES has been set, a list of all applications including those deleted with DELETE_KEEP_DATA (partially installed apps with data directory) will be returned. Use getInstalledApplications(android.content.pm.PackageManager.ApplicationInfoFlags) when long flags are needed.

Parameters
flags int: Additional option flags to modify the data returned.

Returns
List<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
public List<PackageInfo> getInstalledPackages (int flags)

Return a List of all packages that are installed for the current user. Use getInstalledPackages(android.content.pm.PackageManager.PackageInfoFlags) when long flags are needed.

Parameters
flags int: Additional option flags to modify the data returned.

Returns
List<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
public String getInstallerPackageName (String packageName)

This method was deprecated in API level 24.
use getInstallSourceInfo(java.lang.String) instead

Retrieve the package name of the application that installed a package. This identifies which market the package came from.

Parameters
packageName String: The name of the package to query This value cannot be null.

Returns
String This value may be null.

getInstrumentationInfo

Added in API level 1
public InstrumentationInfo getInstrumentationInfo (ComponentName className, 
                int flags)

Retrieve all of the information we know about a particular instrumentation class.

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 PackageManager.GET_META_DATA

Returns
InstrumentationInfo An InstrumentationInfo object containing information about the instrumentation. This value cannot be null.

getLaunchIntentForPackage

Added in API level 3
Deprecated in API level 24
public Intent getLaunchIntentForPackage (String packageName)

Returns a "good" intent 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 looks first for a main activity in the category Intent.CATEGORY_INFO, and next for a main activity in the category Intent.CATEGORY_LAUNCHER. Returns null if neither are found.

Consider using getLaunchIntentSenderForPackage(java.lang.String) if the caller is not allowed to query for the packageName.

Parameters
packageName String: The name of the package to inspect. This value cannot be null.

Returns
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
public Intent getLeanbackLaunchIntentForPackage (String packageName)

Return a "good" intent to launch a front-door Leanback activity in a package, for use for example to implement an "open" button when browsing through packages. The current implementation will look for a main activity in the category Intent.CATEGORY_LEANBACK_LAUNCHER, or return null if no main leanback activities are found.

Parameters
packageName String: The name of the package to inspect. This value cannot be null.

Returns
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
public String getNameForUid (int uid)

Retrieve the official name associated with a uid. This name is guaranteed to never change, though it is possible for the underlying uid to be changed. That is, if you are storing information about uids in persistent storage, you should use the string returned by this function instead of the raw uid.

Parameters
uid int: The uid for which you would like to retrieve a name.

Returns
String Returns a unique name for the given uid, or null if the uid is not currently assigned.

getPackageArchiveInfo

Added in API level 1
public PackageInfo getPackageArchiveInfo (String archiveFilePath, 
                int flags)

Retrieve overall information about an application package defined in a package archive file Use getPackageArchiveInfo(java.lang.String, android.content.pm.PackageManager.PackageInfoFlags) when long flags are needed.

Parameters
archiveFilePath String: The path to the archive file This value cannot be null.

flags int: Additional option flags to modify the data returned.

Returns
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
public int[] getPackageGids (String packageName)

Return an array of all of the POSIX secondary group IDs that have been assigned to the given package.

Note that the same package may have different GIDs under different UserHandle on the same device.

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of the desired package. This value cannot be null.

Returns
int[] Returns an int array of the assigned GIDs, or null if there are none.

getPackageGids

Added in API level 24
Deprecated in API level 24
public int[] getPackageGids (String packageName, 
                int flags)

Return an array of all of the POSIX secondary group IDs that have been assigned to the given package.

Note that the same package may have different GIDs under different UserHandle on the same device. Use getPackageGids(java.lang.String, android.content.pm.PackageManager.PackageInfoFlags) when long flags are needed.

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of the desired package. This value cannot be null.

flags int

Returns
int[] Returns an int array of the assigned gids, or null if there are none.

getPackageInfo

Added in API level 1
public PackageInfo getPackageInfo (String packageName, 
                int flags)

Retrieve overall information about an application package that is installed on the system. Use getPackageInfo(java.lang.String, android.content.pm.PackageManager.PackageInfoFlags) when long flags are needed.

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.

Returns
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).

getPackageInfo

Added in API level 26
Deprecated in API level 24
public PackageInfo getPackageInfo (VersionedPackage versionedPackage, 
                int flags)

Retrieve overall information about an application package that is installed on the system. This method can be used for retrieving information about packages for which multiple versions can be installed at the time. Currently only packages hosting static shared libraries can have multiple installed versions. The method can also be used to get info for a package that has a single version installed by passing VERSION_CODE_HIGHEST in the VersionedPackage constructor. Use getPackageInfo(android.content.pm.VersionedPackage, android.content.pm.PackageManager.PackageInfoFlags) when long flags are needed.

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.

Returns
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).

getPackageUid

Added in API level 24
Deprecated in API level 24
public int getPackageUid (String packageName, 
                int flags)

Return the UID associated with the given package name.

Note that the same package will have different UIDs under different UserHandle on the same device. Use getPackageUid(java.lang.String, android.content.pm.PackageManager.PackageInfoFlags) when long flags are needed.

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of the desired package. This value cannot be null.

flags int

Returns
int Returns an integer UID who owns the given package name.

getPackagesForUid

Added in API level 1
public String[] getPackagesForUid (int uid)

Retrieve the names of all packages that are associated with a particular user id. In most cases, this will be a single package name, the package that has been assigned that user id. Where there are multiple packages sharing the same user id through the "sharedUserId" mechanism, all packages with that id will be returned.

Parameters
uid int: The user id for which you would like to retrieve the associated packages.

Returns
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
public List<PackageInfo> getPackagesHoldingPermissions (String[] permissions, 
                int flags)

Return a List of all installed packages that are currently holding any of the given permissions. Use getPackagesHoldingPermissions(java.lang.String[], android.content.pm.PackageManager.PackageInfoFlags) when long flags are needed.

Parameters
permissions String: This value cannot be null.

flags int: Additional option flags to modify the data returned.

Returns
List<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
public PermissionGroupInfo getPermissionGroupInfo (String name, 
                int flags)

Retrieve all of the information we know about a particular group of permissions.

Parameters
name String: 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 PackageManager.GET_META_DATA

Returns
PermissionGroupInfo Returns a PermissionGroupInfo containing information about the permission. This value cannot be null.

getPermissionInfo

Added in API level 1
public PermissionInfo getPermissionInfo (String name, 
                int flags)

Retrieve all of the information we know about a particular permission.

Parameters
name String: 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 PackageManager.GET_META_DATA

Returns
PermissionInfo Returns a PermissionInfo containing information about the permission.

getPreferredActivities

Added in API level 1
public int getPreferredActivities (List<IntentFilter> outFilters, 
                List<ComponentName> outActivities, 
                String packageName)

This method is deprecated.
This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

Retrieve all preferred activities, previously added with addPreferredActivity(IntentFilter, int, ComponentName, ComponentName), that are currently registered with the system.

Parameters
outFilters List: A required list in which to place the filters of all of the preferred activities. This value cannot be null.

outActivities List: 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.

Returns
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
public List<PackageInfo> getPreferredPackages (int flags)

This method is deprecated.
This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

Retrieve the list of all currently configured preferred packages. The first package on the list is the most preferred, the last is the least preferred.

Parameters
flags int: Additional option flags to modify the data returned.

Returns
List<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
public ProviderInfo getProviderInfo (ComponentName className, 
                int flags)

Retrieve all of the information we know about a particular content provider class. Use getProviderInfo(android.content.ComponentName, android.content.pm.PackageManager.ComponentInfoFlags) when long flags are needed.

Parameters
className ComponentName: 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.

Returns
ProviderInfo A ProviderInfo object containing information about the provider. This value cannot be null.

getReceiverInfo

Added in API level 1
public ActivityInfo getReceiverInfo (ComponentName className, 
                int flags)

Retrieve all of the information we know about a particular receiver class. Use getReceiverInfo(android.content.ComponentName, android.content.pm.PackageManager.ComponentInfoFlags) when long flags are needed.

Parameters
className ComponentName: 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.

Returns
ActivityInfo An ActivityInfo containing information about the receiver. This value cannot be null.

getResourcesForActivity

Added in API level 1
public Resources getResourcesForActivity (ComponentName activityName)

Retrieve the resources associated with an activity. Given the full name of an activity, retrieves the information about it and calls getResources() to return its application's resources. If the activity cannot be found, NameNotFoundException is thrown.

Parameters
activityName ComponentName: Name of the activity whose resources are to be retrieved. This value cannot be null.

Returns
Resources Returns the application's Resources. This value cannot be null.

getResourcesForApplication

Added in API level 1
public Resources getResourcesForApplication (String appPackageName)

Retrieve the resources associated with an application. Given the full package name of an application, retrieves the information about it and calls getResources() to return its application's resources. If the appPackageName cannot be found, NameNotFoundException is thrown.

Parameters
appPackageName String: Package name of the application whose resources are to be retrieved. This value cannot be null.

Returns
Resources Returns the application's Resources. This value cannot be null.

getResourcesForApplication

Added in API level 1
public Resources getResourcesForApplication (ApplicationInfo app)

Retrieve the resources for an application. Throws NameNotFoundException if the package is no longer installed.

Parameters
app ApplicationInfo: Information about the desired application. This value cannot be null.

Returns
Resources Returns the application's Resources. This value cannot be null.

getServiceInfo

Added in API level 1
public ServiceInfo getServiceInfo (ComponentName className, 
                int flags)

Retrieve all of the information we know about a particular service class. Use getServiceInfo(android.content.ComponentName, android.content.pm.PackageManager.ComponentInfoFlags) when long flags are needed.

Parameters
className ComponentName: 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.

Returns
ServiceInfo A ServiceInfo object containing information about the service. This value cannot be null.

getSharedLibraries

Added in API level 26
Deprecated in API level 24
public List<SharedLibraryInfo> getSharedLibraries (int flags)

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.

Returns
List<SharedLibraryInfo> This value cannot be null.

getSystemAvailableFeatures

Added in API level 5
Deprecated in API level 24
public FeatureInfo[] getSystemAvailableFeatures ()

Get a list of features that are available on the system.

Returns
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
public String[] getSystemSharedLibraryNames ()

Get a list of shared libraries that are available on the system.

Returns
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
public CharSequence getText (String packageName, 
                int resid, 
                ApplicationInfo appInfo)

Retrieve text from a package. This is a low-level API used by the various package manager info structures (such as ComponentInfo to implement retrieval of their associated labels and other text.

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.

Returns
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
public Drawable getUserBadgedDrawableForDensity (Drawable drawable, 
                UserHandle user, 
                Rect badgeLocation, 
                int badgeDensity)

If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a badged copy of the given drawable allowing the user to distinguish it from the original drawable. The caller can specify the location in the bounds of the drawable to be badged where the badge should be applied as well as the density of the badge to be used.

If the original drawable is a BitmapDrawable and the backing bitmap is mutable as per Bitmap.isMutable(), the badging is performed in place and the original drawable is returned.

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 DisplayMetrics.densityDpi. If it's not positive, the density of the display is used.

Returns
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
public Drawable getUserBadgedIcon (Drawable icon, 
                UserHandle user)

If the target user is a managed profile, then this returns a badged copy of the given icon to be able to distinguish it from the original icon. For badging an arbitrary drawable use getUserBadgedDrawableForDensity(android.graphics.drawable.Drawable, android.os.UserHandle, android.graphics.Rect, int).

If the original drawable is a BitmapDrawable and the backing bitmap is mutable as per Bitmap.isMutable(), the badging is performed in place and the original drawable is returned.

Parameters
icon Drawable: The drawable to badge. This value cannot be null.

user UserHandle: The target user. This value cannot be null.

Returns
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
public CharSequence getUserBadgedLabel (CharSequence label, 
                UserHandle user)

If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a copy of the label with badging for accessibility services like talkback. E.g. passing in "Email" and it might return "Work Email" for Email in the work profile.

Parameters
label CharSequence: The label to change. This value cannot be null.

user UserHandle: The target user. This value cannot be null.

Returns
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
public XmlResourceParser getXml (String packageName, 
                int resid, 
                ApplicationInfo appInfo)

Retrieve an XML file from a package. This is a low-level API used to retrieve XML meta data.

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.

Returns
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
public boolean hasSigningCertificate (int uid, 
                byte[] certificate, 
                int type)

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 byte: signing certificate for which to search This value cannot be null.

type int: Value is PackageManager.CERT_INPUT_RAW_X509, or PackageManager.CERT_INPUT_SHA256

Returns
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
public boolean hasSigningCertificate (String packageName, 
                byte[] certificate, 
                int type)

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 byte: signing certificate for which to search This value cannot be null.

type int: Value is PackageManager.CERT_INPUT_RAW_X509, or PackageManager.CERT_INPUT_SHA256

Returns
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
public boolean hasSystemFeature (String name)

Check whether the given feature name is one of the available features as returned by getSystemAvailableFeatures(). This tests for the presence of any version of the given feature name; use hasSystemFeature(java.lang.String, int) to check for a minimum version.

Parameters
name String: This value cannot be null.

Returns
boolean Returns true if the devices supports the feature, else false.

hasSystemFeature

Added in API level 24
Deprecated in API level 24
public boolean hasSystemFeature (String name, 
                int version)

Check whether the given feature name and version is one of the available features as returned by getSystemAvailableFeatures(). Since features are defined to always be backwards compatible, this returns true if the available feature version is greater than or equal to the requested version.

Parameters
name String: This value cannot be null.

version int

Returns
boolean Returns true if the devices supports the feature, else false.

isPermissionRevokedByPolicy

Added in API level 23
Deprecated in API level 24
public boolean isPermissionRevokedByPolicy (String permName, 
                String pkgName)

Checks whether a particular permissions has been revoked for a package by policy. Typically the device owner or the profile owner may apply such a policy. The user cannot grant policy revoked permissions, hence the only way for an app to get such a permission is by a policy change.

Parameters
permName String: The name of the permission you are checking for. This value cannot be null.

pkgName String: The name of the package you are checking against. This value cannot be null.

Returns
boolean Whether the permission is restricted by policy.

isSafeMode

Added in API level 3
Deprecated in API level 24
public boolean isSafeMode ()

Return whether the device has been booted into safe mode.

Returns
boolean

queryBroadcastReceivers

Added in API level 1
public List<ResolveInfo> queryBroadcastReceivers (Intent intent, 
                int flags)

Retrieve all receivers that can handle a broadcast of the given intent. Use queryBroadcastReceivers(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags) when long flags are needed.

Parameters
intent Intent: The desired intent as per resolveActivity(). This value cannot be null.

flags int: Additional option flags to modify the data returned.

Returns
List<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
public List<ProviderInfo> queryContentProviders (String processName, 
                int uid, 
                int flags)

Retrieve content provider information.

Note: unlike most other methods, an empty result set is indicated by a null return instead of an empty list. Use queryContentProviders(java.lang.String, int, android.content.pm.PackageManager.ComponentInfoFlags) when long flags are needed.

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.

Returns
List<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
public List<InstrumentationInfo> queryInstrumentation (String targetPackage, 
                int flags)

Retrieve information about available instrumentation code. May be used to retrieve either all instrumentation code, or only the code targeting a particular package.

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 PackageManager.GET_META_DATA

Returns
List<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
public List<ResolveInfo> queryIntentActivities (Intent intent, 
                int flags)

Retrieve all activities that can be performed for the given intent. Use queryIntentActivities(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags) when long flags are needed.

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 PackageManager.MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the Intent.CATEGORY_DEFAULT. Or, set PackageManager.MATCH_ALL to prevent any filtering of the results.

Returns
List<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(Intent, ResolveInfoFlags). If there are no matching activities, an empty list is returned. This value cannot be null.

queryIntentActivityOptions

Added in API level 1
public List<ResolveInfo> queryIntentActivityOptions (ComponentName caller, 
                Intent[] specifics, 
                Intent intent, 
                int flags)

Retrieve a set of activities that should be presented to the user as similar options. This is like queryIntentActivities(Intent, ResolveInfoFlags), except it also allows you to supply a list of more explicit Intents that you would like to resolve to particular options, and takes care of returning the final ResolveInfo list in a reasonable order, with no duplicates, based on those inputs. Use queryIntentActivityOptions(android.content.ComponentName, java.util.List, android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags) when long flags are needed.

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 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 PackageManager.MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the Intent.CATEGORY_DEFAULT.

Returns
List<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
public List<ResolveInfo> queryIntentContentProviders (Intent intent, 
                int flags)

Retrieve all providers that can match the given intent. Use queryIntentContentProviders(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags) when long flags are needed.

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.

Returns
List<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
public List<ResolveInfo> queryIntentServices (Intent intent, 
                int flags)

Retrieve all services that can match the given intent. Use queryIntentServices(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags) when long flags are needed.

Parameters
intent Intent: The desired intent as per resolveService(). This value cannot be null.

flags int: Additional option flags to modify the data returned.

Returns
List<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(Intent, ResolveInfoFlags). If there are no matching services, an empty list or null is returned.

queryPermissionsByGroup

Added in API level 1
public List<PermissionInfo> queryPermissionsByGroup (String group, 
                int flags)

Query for all of the permissions associated with a particular group.

Parameters
group String: 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 PackageManager.GET_META_DATA

Returns
List<PermissionInfo> Returns a list of PermissionInfo containing information about all of the permissions in the given group. This value cannot be null.

removePackageFromPreferred

Added in API level 1
public void removePackageFromPreferred (String packageName)

This method is deprecated.
This function no longer does anything. It is the platform's responsibility to assign preferred activities and this cannot be modified directly. To determine the activities resolved by the platform, use resolveActivity(Intent, ResolveInfoFlags) or queryIntentActivities(Intent, ResolveInfoFlags). To configure an app to be responsible for a particular role and to check current role holders, see RoleManager.

Parameters
packageName String: This value cannot be null.

removePermission

Added in API level 1
public void removePermission (String name)

Removes a permission that was previously added with addPermission(android.content.pm.PermissionInfo). The same ownership rules apply -- you are only allowed to remove permissions that you are allowed to add.

Parameters
name String: The name of the permission to remove. This value cannot be null.

resolveActivity

Added in API level 1
public ResolveInfo resolveActivity (Intent intent, 
                int flags)

Determine the best action to perform for a given Intent. This is how Intent.resolveActivity finds an activity if a class has not been explicitly specified.

Note: if using an implicit Intent (without an explicit ComponentName specified), be sure to consider whether to set the MATCH_DEFAULT_ONLY only flag. You need to do so to resolve the activity in the same way that Context.startActivity(Intent) and Intent.resolveActivity(PackageManager) do.

Use resolveActivity(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags) when long flags are needed.

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 PackageManager.MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the Intent.CATEGORY_DEFAULT.

Returns
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
public ProviderInfo resolveContentProvider (String name, 
                int flags)

Find a single content provider by its authority.

Example:

 Uri uri = Uri.parse("content://com.example.app.provider/table1");
 ProviderInfo info = packageManager.resolveContentProvider(uri.getAuthority(), flags);
 
Use resolveContentProvider(java.lang.String, android.content.pm.PackageManager.ComponentInfoFlags) when long flags are needed.

Parameters
name String: The authority of the provider to find. This value cannot be null.

flags int: Additional option flags to modify the data returned.

Returns
ProviderInfo A ProviderInfo object containing information about the provider. If a provider was not found, returns null.

resolveService

Added in API level 1
public ResolveInfo resolveService (Intent intent, 
                int flags)

Determine the best service to handle for a given Intent. Use resolveService(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags) when long flags are needed.

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.

Returns
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

public ResolveInfo resolveServiceAsUser (Intent intent, 
                int flags, 
                int userId)

Parameters
intent Intent

flags int

userId int

Returns
ResolveInfo

setApplicationEnabledSetting

Added in API level 1
public void setApplicationEnabledSetting (String packageName, 
                int newState, 
                int flags)

Set the enabled setting for an application This setting will override any enabled state which may have been set by the application in its manifest. It also overrides the enabled state set in the manifest for any of the application's components. It does not override any enabled state set by setComponentEnabledSetting(ComponentName, int, int) for any of the application's components.

Parameters
packageName String: The package name of the application to enable This value cannot be null.

newState int: The new enabled state for the application. Value is PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER, or PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED

flags int: Optional behavior flags. Value is either 0 or a combination of PackageManager.DONT_KILL_APP, and PackageManager.SYNCHRONOUS

setComponentEnabledSetting

Added in API level 1
public void setComponentEnabledSetting (ComponentName componentName, 
                int newState, 
                int flags)

Set the enabled setting for a package component (activity, receiver, service, provider). This setting will override any enabled state which may have been set by the component in its manifest.

Consider using setComponentEnabledSettings(java.util.List) if multiple components need to be updated atomically.

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

newState int: The new enabled state for the component. Value is PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER, or PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED

flags int: Optional behavior flags. Value is either 0 or a combination of PackageManager.DONT_KILL_APP, and PackageManager.SYNCHRONOUS

setInstallerPackageName

Added in API level 11
Deprecated in API level 24
public void setInstallerPackageName (String targetPackage, 
                String installerPackageName)

Change the installer associated with a given package. There are limitations on how the installer package can be changed; in particular:

  • A SecurityException will be thrown if installerPackageName is not signed with the same certificate as the calling application.
  • A SecurityException will be thrown if targetPackage already has an installer package, and that installer package is not signed with the same certificate as the calling application.

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
public void verifyPendingInstall (int id, 
                int verificationCode)

Allows a package listening to the broadcast to respond to the package manager. The response must include the verificationCode which is one of PackageManager.VERIFICATION_ALLOW or PackageManager.VERIFICATION_REJECT.

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.