Most visited

Recently visited

Added in API level 1

PackageManager

public abstract class PackageManager
extends Object

java.lang.Object
   ↳ android.content.pm.PackageManager
Known Direct Subclasses


Class for retrieving various kinds of information related to the application packages that are currently installed on the device. You can find this class through getPackageManager().

Summary

Nested classes

class PackageManager.NameNotFoundException

This exception is thrown when a given package, application, or component name cannot be found. 

Constants

int COMPONENT_ENABLED_STATE_DEFAULT

Flag for setApplicationEnabledSetting(String, int, int) and setComponentEnabledSetting(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(String, int, int) and setComponentEnabledSetting(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(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(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(String, int, int) and setComponentEnabledSetting(ComponentName, int, int): This component or application has been explictily enabled, regardless of what it has specified in its manifest.

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_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, such as speakers, audio jack or streaming over bluetooth

String FEATURE_AUDIO_PRO

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has professional audio level of functionality and performance.

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_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_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_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_CONNECTION_SERVICE

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

String FEATURE_CONSUMER_IR

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

String FEATURE_DEVICE_ADMIN

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

String FEATURE_ETHERNET

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

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_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_INPUT_METHODS

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

String FEATURE_LEANBACK

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

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

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_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_SENSOR_ACCELEROMETER

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes an 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_GYROSCOPE

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

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_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_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_TELEPHONY

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

String FEATURE_TELEPHONY_CDMA

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

String FEATURE_TELEPHONY_GSM

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

String FEATURE_TELEVISION

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

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_VERIFIED_BOOT

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

String FEATURE_VR_MODE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device implements an optimized mode for virtual reality (VR) applications that handles stereoscopic rendering of notifications, and disables most monocular system UI components while a VR application has user focus.

String FEATURE_VR_MODE_HIGH_PERFORMANCE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device implements FEATURE_VR_MODE but additionally meets extra CDD requirements to provide a high-quality VR experience.

String FEATURE_VULKAN_HARDWARE_LEVEL

Feature for getSystemAvailableFeatures() and hasSystemFeature(String, int): If this feature is supported, 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(String, int): The version of this feature indicates the highest VkPhysicalDeviceProperties::apiVersion supported by the physical devices that support the hardware level indicated by FEATURE_VULKAN_HARDWARE_LEVEL.

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_DIRECT

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

int GET_ACTIVITIES

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

int GET_CONFIGURATIONS

PackageInfo flag: return information about hardware preferences in PackageInfo.configPreferences, and requested features in reqFeatures and 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 instrumentation.

int GET_INTENT_FILTERS

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

int GET_META_DATA

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

int GET_PERMISSIONS

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

int GET_PROVIDERS

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

int GET_RECEIVERS

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

int GET_RESOLVED_FILTER

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

int GET_SERVICES

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

int GET_SHARED_LIBRARY_FILES

ApplicationInfo flag: return the paths to the shared libraries that are associated with an application.

int GET_SIGNATURES

PackageInfo flag: return information about the signatures included in the 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 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_DEFAULT_ONLY

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

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 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 extendVerificationTimeout(int, int, long).

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.

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 VERIFICATION_ALLOW

Used as the verificationCode argument for verifyPendingInstall(int, int) to indicate that the calling package verifier allows the installation to proceed.

int VERIFICATION_REJECT

Used as the verificationCode argument for verifyPendingInstall(int, int) to indicate the calling package verifier does not vote to allow the installation to proceed.

Public constructors

PackageManager()

Public methods

abstract void addPackageToPreferred(String packageName)

This method was deprecated in API level 7. This function no longer does anything; it was an old approach to managing preferred activities, which has been superseded by (and conflicts with) the modern activity-based preferences.

abstract boolean addPermission(PermissionInfo info)

Add a new dynamic permission to the system.

abstract boolean addPermissionAsync(PermissionInfo info)

Like addPermission(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 8. This is a protected API that should not have been available to third party applications. It is the platform's responsibility for assigning preferred activities and this cannot be directly modified. 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.

abstract String[] canonicalToCurrentPackageNames(String[] names)

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

abstract int checkPermission(String permName, String pkgName)

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

abstract int checkSignatures(String pkg1, String pkg2)

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(String, String), but takes UIDs of the two packages to be checked.

abstract void clearPackagePreferredActivities(String packageName)

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.

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

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

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

abstract Drawable getActivityBanner(Intent intent)

Retrieve the banner associated with an Intent.

abstract Drawable getActivityBanner(ComponentName activityName)

Retrieve the banner associated with an activity.

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.

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(ApplicationInfo info)

Retrieve the banner associated with an application.

abstract Drawable getApplicationBanner(String packageName)

Retrieve the banner associated with an application.

abstract int getApplicationEnabledSetting(String packageName)

Return the enabled setting for an application.

abstract Drawable getApplicationIcon(String packageName)

Retrieve the icon associated with an application.

abstract Drawable getApplicationIcon(ApplicationInfo info)

Retrieve the icon associated with an application.

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.

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.

abstract List<ApplicationInfo> getInstalledApplications(int flags)

Return a List of all application packages that are installed on the device.

abstract List<PackageInfo> getInstalledPackages(int flags)

Return a List of all packages that are installed on the device.

abstract String getInstallerPackageName(String packageName)

Retrieve the package name of the application that installed a package.

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.

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.

abstract String getNameForUid(int uid)

Retrieve the official name associated with a user id.

PackageInfo getPackageArchiveInfo(String archiveFilePath, int flags)

Retrieve overall information about an application package defined in a package archive file

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.

abstract PackageInfo getPackageInfo(String packageName, 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.

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.

abstract PermissionGroupInfo getPermissionGroupInfo(String name, int flags)

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

abstract PermissionInfo getPermissionInfo(String name, int flags)

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

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

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

abstract List<PackageInfo> getPreferredPackages(int flags)

Retrieve the list of all currently configured preferred packages.

abstract ProviderInfo getProviderInfo(ComponentName component, int flags)

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

abstract ActivityInfo getReceiverInfo(ComponentName component, int flags)

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

abstract Resources getResourcesForActivity(ComponentName activityName)

Retrieve the resources associated with an activity.

abstract Resources getResourcesForApplication(String appPackageName)

Retrieve the resources associated with an application.

abstract Resources getResourcesForApplication(ApplicationInfo app)

Retrieve the resources for an application.

abstract ServiceInfo getServiceInfo(ComponentName component, int flags)

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

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.

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

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.

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

Retrieve an XML file from a package.

abstract boolean hasSystemFeature(String name)

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

abstract boolean hasSystemFeature(String name, int version)

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

abstract boolean isPermissionRevokedByPolicy(String permName, String pkgName)

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.

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.

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

Retrieve information about available instrumentation code.

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.

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.

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

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

abstract void removePackageFromPreferred(String packageName)

This method was deprecated in API level 7. This function no longer does anything; it was an old approach to managing preferred activities, which has been superseded by (and conflicts with) the modern activity-based preferences.

abstract void removePermission(String name)

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

abstract ResolveInfo resolveActivity(Intent intent, int flags)

Determine the best action to perform for a given Intent.

abstract ProviderInfo resolveContentProvider(String name, int flags)

Find a single content provider by its base path name.

abstract ResolveInfo resolveService(Intent intent, int flags)

Determine the best service to handle for a given Intent.

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.

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

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

abstract void setInstallerPackageName(String targetPackage, String installerPackageName)

Change the installer associated with a given package.

abstract void verifyPendingInstall(int id, int verificationCode)

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

Inherited methods

From class java.lang.Object

Constants

COMPONENT_ENABLED_STATE_DEFAULT

Added in API level 1
int COMPONENT_ENABLED_STATE_DEFAULT

Flag for setApplicationEnabledSetting(String, int, int) and setComponentEnabledSetting(ComponentName, int, int): This component or application is in its default enabled state (as specified in its manifest).

Constant Value: 0 (0x00000000)

COMPONENT_ENABLED_STATE_DISABLED

Added in API level 1
int COMPONENT_ENABLED_STATE_DISABLED

Flag for setApplicationEnabledSetting(String, int, int) and setComponentEnabledSetting(ComponentName, int, int): This component or application has been explicitly disabled, regardless of what it has specified in its manifest.

Constant Value: 2 (0x00000002)

COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED

Added in API level 18
int COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED

Flag for setApplicationEnabledSetting(String, int, int) only: This application should be considered, until the point where the user actually wants to use it. This means that it will not normally show up to the user (such as in the launcher), but various parts of the user interface can use GET_DISABLED_UNTIL_USED_COMPONENTS to still see it and allow the user to select it (as for example an IME, device admin, etc). Such code, once the user has selected the app, should at that point also make it enabled. This option currently can not be used with setComponentEnabledSetting(ComponentName, int, int).

Constant Value: 4 (0x00000004)

COMPONENT_ENABLED_STATE_DISABLED_USER

Added in API level 14
int COMPONENT_ENABLED_STATE_DISABLED_USER

Flag for setApplicationEnabledSetting(String, int, int) only: The user has explicitly disabled the application, regardless of what it has specified in its manifest. Because this is due to the user's request, they may re-enable it if desired through the appropriate system UI. This option currently cannot be used with setComponentEnabledSetting(ComponentName, int, int).

Constant Value: 3 (0x00000003)

COMPONENT_ENABLED_STATE_ENABLED

Added in API level 1
int COMPONENT_ENABLED_STATE_ENABLED

Flag for setApplicationEnabledSetting(String, int, int) and setComponentEnabledSetting(ComponentName, int, int): This component or application has been explictily enabled, regardless of what it has specified in its manifest.

Constant Value: 1 (0x00000001)

DONT_KILL_APP

Added in API level 1
int DONT_KILL_APP

Flag parameter for setComponentEnabledSetting(android.content.ComponentName, int, int) to indicate that you don't want to kill the app containing the component. Be careful when you set this since changing component states can make the containing application's behavior unpredictable.

Constant Value: 1 (0x00000001)

EXTRA_VERIFICATION_ID

Added in API level 14
String EXTRA_VERIFICATION_ID

Extra field name for the ID of a package pending verification. Passed to a package verifier and is used to call back to verifyPendingInstall(int, int)

Constant Value: "android.content.pm.extra.VERIFICATION_ID"

EXTRA_VERIFICATION_RESULT

Added in API level 17
String EXTRA_VERIFICATION_RESULT

Extra field name for the result of a verification, either VERIFICATION_ALLOW, or VERIFICATION_REJECT. Passed to package verifiers after a package is verified.

Constant Value: "android.content.pm.extra.VERIFICATION_RESULT"

FEATURE_APP_WIDGETS

Added in API level 18
String FEATURE_APP_WIDGETS

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

Constant Value: "android.software.app_widgets"

FEATURE_AUDIO_LOW_LATENCY

Added in API level 9
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.

Constant Value: "android.hardware.audio.low_latency"

FEATURE_AUDIO_OUTPUT

Added in API level 21
String FEATURE_AUDIO_OUTPUT

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes at least one form of audio output, such as speakers, audio jack or streaming over bluetooth

Constant Value: "android.hardware.audio.output"

FEATURE_AUDIO_PRO

Added in API level 23
String FEATURE_AUDIO_PRO

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has professional audio level of functionality and performance.

Constant Value: "android.hardware.audio.pro"

FEATURE_AUTOMOTIVE

Added in API level 23
String FEATURE_AUTOMOTIVE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): This is a device dedicated to showing UI on a vehicle headunit. A headunit here is defined to be inside a vehicle that may or may not be moving. A headunit uses either a primary display in the center console and/or additional displays in the instrument cluster or elsewhere in the vehicle. Headunit display(s) have limited size and resolution. The user will likely be focused on driving so limiting driver distraction is a primary concern. User input can be a variety of hard buttons, touch, rotary controllers and even mouse- like interfaces.

Constant Value: "android.hardware.type.automotive"

FEATURE_BACKUP

Added in API level 20
String FEATURE_BACKUP

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

Constant Value: "android.software.backup"

FEATURE_BLUETOOTH

Added in API level 8
String FEATURE_BLUETOOTH

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

Constant Value: "android.hardware.bluetooth"

FEATURE_BLUETOOTH_LE

Added in API level 18
String FEATURE_BLUETOOTH_LE

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

Constant Value: "android.hardware.bluetooth_le"

FEATURE_CAMERA

Added in API level 7
String FEATURE_CAMERA

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

Constant Value: "android.hardware.camera"

FEATURE_CAMERA_ANY

Added in API level 17
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.

Constant Value: "android.hardware.camera.any"

FEATURE_CAMERA_AUTOFOCUS

Added in API level 7
String FEATURE_CAMERA_AUTOFOCUS

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

Constant Value: "android.hardware.camera.autofocus"

FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING

Added in API level 21
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.

Constant Value: "android.hardware.camera.capability.manual_post_processing"

FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR

Added in API level 21
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.

Constant Value: "android.hardware.camera.capability.manual_sensor"

FEATURE_CAMERA_CAPABILITY_RAW

Added in API level 21
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.

Constant Value: "android.hardware.camera.capability.raw"

FEATURE_CAMERA_EXTERNAL

Added in API level 20
String FEATURE_CAMERA_EXTERNAL

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device can support having an external camera connected to it. The external camera may not always be connected or available to applications to use.

Constant Value: "android.hardware.camera.external"

FEATURE_CAMERA_FLASH

Added in API level 7
String FEATURE_CAMERA_FLASH

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

Constant Value: "android.hardware.camera.flash"

FEATURE_CAMERA_FRONT

Added in API level 9
String FEATURE_CAMERA_FRONT

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

Constant Value: "android.hardware.camera.front"

FEATURE_CAMERA_LEVEL_FULL

Added in API level 21
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.

Constant Value: "android.hardware.camera.level.full"

FEATURE_CONNECTION_SERVICE

Added in API level 21
String FEATURE_CONNECTION_SERVICE

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

Constant Value: "android.software.connectionservice"

FEATURE_CONSUMER_IR

Added in API level 19
String FEATURE_CONSUMER_IR

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

Constant Value: "android.hardware.consumerir"

FEATURE_DEVICE_ADMIN

Added in API level 19
String FEATURE_DEVICE_ADMIN

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

Constant Value: "android.software.device_admin"

FEATURE_ETHERNET

Added in API level 24
String FEATURE_ETHERNET

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

Constant Value: "android.hardware.ethernet"

FEATURE_FAKETOUCH

Added in API level 11
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. For instance, the device might use a mouse or remote control to drive a cursor, and emulate basic touch pointer events like down, up, drag, etc. All devices that support android.hardware.touchscreen or a sub-feature are presumed to also support faketouch.

Constant Value: "android.hardware.faketouch"

FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT

Added in API level 13
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. This is an extension of FEATURE_FAKETOUCH for input devices with this capability. Note that unlike a distinct multitouch screen as defined by FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT, these kinds of input devices will not actually provide full two-finger gestures since the input is being transformed to cursor movement on the screen. That is, single finger gestures will move a cursor; two-finger swipes will result in single-finger touch events; other two-finger gestures will result in the corresponding two-finger touch event.

Constant Value: "android.hardware.faketouch.multitouch.distinct"

FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND

Added in API level 13
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. This is an extension of FEATURE_FAKETOUCH for input devices with this capability. Note that unlike a multitouch screen as defined by FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND, not all two finger gestures can be detected due to the limitations described for FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT.

Constant Value: "android.hardware.faketouch.multitouch.jazzhand"

FEATURE_FINGERPRINT

Added in API level 23
String FEATURE_FINGERPRINT

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

Constant Value: "android.hardware.fingerprint"

FEATURE_FREEFORM_WINDOW_MANAGEMENT

Added in API level 24
String FEATURE_FREEFORM_WINDOW_MANAGEMENT

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

Constant Value: "android.software.freeform_window_management"

FEATURE_GAMEPAD

Added in API level 21
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.

Constant Value: "android.hardware.gamepad"

FEATURE_HIFI_SENSORS

Added in API level 23
String FEATURE_HIFI_SENSORS

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

Constant Value: "android.hardware.sensor.hifi_sensors"

FEATURE_HOME_SCREEN

Added in API level 18
String FEATURE_HOME_SCREEN

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

Constant Value: "android.software.home_screen"

FEATURE_INPUT_METHODS

Added in API level 18
String FEATURE_INPUT_METHODS

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

Constant Value: "android.software.input_methods"

FEATURE_LEANBACK

Added in API level 21
String FEATURE_LEANBACK

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports leanback UI. This is typically used in a living room television experience, but is a software feature unlike FEATURE_TELEVISION. Devices running with this feature will use resources associated with the "television" UI mode.

Constant Value: "android.software.leanback"

FEATURE_LIVE_TV

Added in API level 21
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.

Constant Value: "android.software.live_tv"

FEATURE_LIVE_WALLPAPER

Added in API level 7
String FEATURE_LIVE_WALLPAPER

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

Constant Value: "android.software.live_wallpaper"

FEATURE_LOCATION

Added in API level 8
String FEATURE_LOCATION

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

Constant Value: "android.hardware.location"

FEATURE_LOCATION_GPS

Added in API level 8
String FEATURE_LOCATION_GPS

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

Constant Value: "android.hardware.location.gps"

FEATURE_LOCATION_NETWORK

Added in API level 8
String FEATURE_LOCATION_NETWORK

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

Constant Value: "android.hardware.location.network"

FEATURE_MANAGED_USERS

Added in API level 21
String FEATURE_MANAGED_USERS

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

Constant Value: "android.software.managed_users"

FEATURE_MICROPHONE

Added in API level 8
String FEATURE_MICROPHONE

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

Constant Value: "android.hardware.microphone"

FEATURE_MIDI

Added in API level 23
String FEATURE_MIDI

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

Constant Value: "android.software.midi"

FEATURE_NFC

Added in API level 9
String FEATURE_NFC

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

Constant Value: "android.hardware.nfc"

FEATURE_NFC_HOST_CARD_EMULATION

Added in API level 19
String FEATURE_NFC_HOST_CARD_EMULATION

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

Constant Value: "android.hardware.nfc.hce"

FEATURE_NFC_HOST_CARD_EMULATION_NFCF

Added in API level 24
String FEATURE_NFC_HOST_CARD_EMULATION_NFCF

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

Constant Value: "android.hardware.nfc.hcef"

FEATURE_OPENGLES_EXTENSION_PACK

Added in API level 21
String FEATURE_OPENGLES_EXTENSION_PACK

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

Constant Value: "android.hardware.opengles.aep"

FEATURE_PICTURE_IN_PICTURE

Added in API level 24
String FEATURE_PICTURE_IN_PICTURE

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

Constant Value: "android.software.picture_in_picture"

FEATURE_PRINTING

Added in API level 20
String FEATURE_PRINTING

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

Constant Value: "android.software.print"

FEATURE_SCREEN_LANDSCAPE

Added in API level 13
String FEATURE_SCREEN_LANDSCAPE

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

Constant Value: "android.hardware.screen.landscape"

FEATURE_SCREEN_PORTRAIT

Added in API level 13
String FEATURE_SCREEN_PORTRAIT

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

Constant Value: "android.hardware.screen.portrait"

FEATURE_SECURELY_REMOVES_USERS

Added in API level 21
String FEATURE_SECURELY_REMOVES_USERS

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports secure removal of users. When a user is deleted the data associated with that user is securely deleted and no longer available.

Constant Value: "android.software.securely_removes_users"

FEATURE_SENSOR_ACCELEROMETER

Added in API level 8
String FEATURE_SENSOR_ACCELEROMETER

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

Constant Value: "android.hardware.sensor.accelerometer"

FEATURE_SENSOR_AMBIENT_TEMPERATURE

Added in API level 21
String FEATURE_SENSOR_AMBIENT_TEMPERATURE

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

Constant Value: "android.hardware.sensor.ambient_temperature"

FEATURE_SENSOR_BAROMETER

Added in API level 9
String FEATURE_SENSOR_BAROMETER

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

Constant Value: "android.hardware.sensor.barometer"

FEATURE_SENSOR_COMPASS

Added in API level 8
String FEATURE_SENSOR_COMPASS

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

Constant Value: "android.hardware.sensor.compass"

FEATURE_SENSOR_GYROSCOPE

Added in API level 9
String FEATURE_SENSOR_GYROSCOPE

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

Constant Value: "android.hardware.sensor.gyroscope"

FEATURE_SENSOR_HEART_RATE

Added in API level 20
String FEATURE_SENSOR_HEART_RATE

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

Constant Value: "android.hardware.sensor.heartrate"

FEATURE_SENSOR_HEART_RATE_ECG

Added in API level 21
String FEATURE_SENSOR_HEART_RATE_ECG

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

Constant Value: "android.hardware.sensor.heartrate.ecg"

FEATURE_SENSOR_LIGHT

Added in API level 7
String FEATURE_SENSOR_LIGHT

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

Constant Value: "android.hardware.sensor.light"

FEATURE_SENSOR_PROXIMITY

Added in API level 7
String FEATURE_SENSOR_PROXIMITY

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

Constant Value: "android.hardware.sensor.proximity"

FEATURE_SENSOR_RELATIVE_HUMIDITY

Added in API level 21
String FEATURE_SENSOR_RELATIVE_HUMIDITY

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

Constant Value: "android.hardware.sensor.relative_humidity"

FEATURE_SENSOR_STEP_COUNTER

Added in API level 19
String FEATURE_SENSOR_STEP_COUNTER

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

Constant Value: "android.hardware.sensor.stepcounter"

FEATURE_SENSOR_STEP_DETECTOR

Added in API level 19
String FEATURE_SENSOR_STEP_DETECTOR

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

Constant Value: "android.hardware.sensor.stepdetector"

FEATURE_SIP

Added in API level 9
String FEATURE_SIP

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

Constant Value: "android.software.sip"

FEATURE_SIP_VOIP

Added in API level 9
String FEATURE_SIP_VOIP

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports SIP-based VOIP.

Constant Value: "android.software.sip.voip"

FEATURE_TELEPHONY

Added in API level 7
String FEATURE_TELEPHONY

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

Constant Value: "android.hardware.telephony"

FEATURE_TELEPHONY_CDMA

Added in API level 7
String FEATURE_TELEPHONY_CDMA

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

Constant Value: "android.hardware.telephony.cdma"

FEATURE_TELEPHONY_GSM

Added in API level 7
String FEATURE_TELEPHONY_GSM

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

Constant Value: "android.hardware.telephony.gsm"

FEATURE_TELEVISION

Added in API level 16
String FEATURE_TELEVISION

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

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): This is a device dedicated to showing UI on a television. Television here is defined to be a typical living room television experience: displayed on a big screen, where the user is sitting far away from it, and the dominant form of input will be something like a DPAD, not through touch or mouse.

Constant Value: "android.hardware.type.television"

FEATURE_TOUCHSCREEN

Added in API level 8
String FEATURE_TOUCHSCREEN

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

Constant Value: "android.hardware.touchscreen"

FEATURE_TOUCHSCREEN_MULTITOUCH

Added in API level 7
String FEATURE_TOUCHSCREEN_MULTITOUCH

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

Constant Value: "android.hardware.touchscreen.multitouch"

FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT

Added in API level 8
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.

Constant Value: "android.hardware.touchscreen.multitouch.distinct"

FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND

Added in API level 9
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.

Constant Value: "android.hardware.touchscreen.multitouch.jazzhand"

FEATURE_USB_ACCESSORY

Added in API level 12
String FEATURE_USB_ACCESSORY

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports connecting to USB accessories.

Constant Value: "android.hardware.usb.accessory"

FEATURE_USB_HOST

Added in API level 12
String FEATURE_USB_HOST

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

Constant Value: "android.hardware.usb.host"

FEATURE_VERIFIED_BOOT

Added in API level 21
String FEATURE_VERIFIED_BOOT

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

Constant Value: "android.software.verified_boot"

FEATURE_VR_MODE

Added in API level 24
String FEATURE_VR_MODE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device implements an optimized mode for virtual reality (VR) applications that handles stereoscopic rendering of notifications, and disables most monocular system UI components while a VR application has user focus. Devices declaring this feature must include an application implementing a VrListenerService that can be targeted by VR applications via setVrModeEnabled(boolean, ComponentName).

Constant Value: "android.software.vr.mode"

FEATURE_VR_MODE_HIGH_PERFORMANCE

Added in API level 24
String FEATURE_VR_MODE_HIGH_PERFORMANCE

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device implements FEATURE_VR_MODE but additionally meets extra CDD requirements to provide a high-quality VR experience. In general, devices declaring this feature will additionally:

  • Deliver consistent performance at a high framerate over an extended period of time for typical VR application CPU/GPU workloads with a minimal number of frame drops for VR applications that have called setSustainedPerformanceMode(boolean).
  • Implement FEATURE_HIFI_SENSORS and have a low sensor latency.
  • Include optimizations to lower display persistence while running VR applications.
  • Implement an optimized render path to minimize latency to draw to the device's main display.
  • Include the following EGL extensions: EGL_ANDROID_create_native_client_buffer, EGL_ANDROID_front_buffer_auto_refresh, EGL_EXT_protected_content, EGL_KHR_mutable_render_buffer, EGL_KHR_reusable_sync, and EGL_KHR_wait_sync.
  • Provide at least one CPU core that is reserved for use solely by the top, foreground VR application process for critical render threads while such an application is running.

Constant Value: "android.hardware.vr.high_performance"

FEATURE_VULKAN_HARDWARE_LEVEL

Added in API level 24
String FEATURE_VULKAN_HARDWARE_LEVEL

Feature for getSystemAvailableFeatures() and hasSystemFeature(String, int): If this feature is supported, the Vulkan native API will enumerate at least one VkPhysicalDevice, and the feature version will indicate what level of optional hardware features limits it supports.

Level 0 includes the base Vulkan requirements as well as:

  • VkPhysicalDeviceFeatures::textureCompressionETC2

Level 1 additionally includes:

  • VkPhysicalDeviceFeatures::fullDrawIndexUint32
  • VkPhysicalDeviceFeatures::imageCubeArray
  • VkPhysicalDeviceFeatures::independentBlend
  • VkPhysicalDeviceFeatures::geometryShader
  • VkPhysicalDeviceFeatures::tessellationShader
  • VkPhysicalDeviceFeatures::sampleRateShading
  • VkPhysicalDeviceFeatures::textureCompressionASTC_LDR
  • VkPhysicalDeviceFeatures::fragmentStoresAndAtomics
  • VkPhysicalDeviceFeatures::shaderImageGatherExtended
  • VkPhysicalDeviceFeatures::shaderUniformBufferArrayDynamicIndexing
  • VkPhysicalDeviceFeatures::shaderSampledImageArrayDynamicIndexing

Constant Value: "android.hardware.vulkan.level"

FEATURE_VULKAN_HARDWARE_VERSION

Added in API level 24
String FEATURE_VULKAN_HARDWARE_VERSION

Feature for getSystemAvailableFeatures() and hasSystemFeature(String, int): The version of this feature indicates the highest VkPhysicalDeviceProperties::apiVersion supported by the physical devices that support the hardware level indicated by FEATURE_VULKAN_HARDWARE_LEVEL. The feature version uses the same encoding as Vulkan version numbers:

  • Major version number in bits 31-22
  • Minor version number in bits 21-12
  • Patch version number in bits 11-0

Constant Value: "android.hardware.vulkan.version"

FEATURE_WATCH

Added in API level 20
String FEATURE_WATCH

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): This is a device dedicated to showing UI on a watch. A watch here is defined to be a device worn on the body, perhaps on the wrist. The user is very close when interacting with the device.

Constant Value: "android.hardware.type.watch"

FEATURE_WEBVIEW

Added in API level 20
String FEATURE_WEBVIEW

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has a full implementation of the android.webkit.* APIs. Devices lacking this feature will not have a functioning WebView implementation.

Constant Value: "android.software.webview"

FEATURE_WIFI

Added in API level 8
String FEATURE_WIFI

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

Constant Value: "android.hardware.wifi"

FEATURE_WIFI_DIRECT

Added in API level 14
String FEATURE_WIFI_DIRECT

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

Constant Value: "android.hardware.wifi.direct"

GET_ACTIVITIES

Added in API level 1
int GET_ACTIVITIES

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

Constant Value: 1 (0x00000001)

GET_CONFIGURATIONS

Added in API level 3
int GET_CONFIGURATIONS

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

Constant Value: 16384 (0x00004000)

GET_DISABLED_COMPONENTS

Added in API level 1
int GET_DISABLED_COMPONENTS

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

Constant Value: 512 (0x00000200)

GET_DISABLED_UNTIL_USED_COMPONENTS

Added in API level 18
int GET_DISABLED_UNTIL_USED_COMPONENTS

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

Constant Value: 32768 (0x00008000)

GET_GIDS

Added in API level 1
int GET_GIDS

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

Constant Value: 256 (0x00000100)

GET_INSTRUMENTATION

Added in API level 1
int GET_INSTRUMENTATION

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

Constant Value: 16 (0x00000010)

GET_INTENT_FILTERS

Added in API level 1
int GET_INTENT_FILTERS

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

Constant Value: 32 (0x00000020)

GET_META_DATA

Added in API level 1
int GET_META_DATA

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

Constant Value: 128 (0x00000080)

GET_PERMISSIONS

Added in API level 1
int GET_PERMISSIONS

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

Constant Value: 4096 (0x00001000)

GET_PROVIDERS

Added in API level 1
int GET_PROVIDERS

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

Constant Value: 8 (0x00000008)

GET_RECEIVERS

Added in API level 1
int GET_RECEIVERS

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

Constant Value: 2 (0x00000002)

GET_RESOLVED_FILTER

Added in API level 1
int GET_RESOLVED_FILTER

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

Constant Value: 64 (0x00000040)

GET_SERVICES

Added in API level 1
int GET_SERVICES

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

Constant Value: 4 (0x00000004)

GET_SHARED_LIBRARY_FILES

Added in API level 1
int GET_SHARED_LIBRARY_FILES

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

Constant Value: 1024 (0x00000400)

GET_SIGNATURES

Added in API level 1
int GET_SIGNATURES

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

Constant Value: 64 (0x00000040)

GET_UNINSTALLED_PACKAGES

Added in API level 3
int GET_UNINSTALLED_PACKAGES

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

Constant Value: 8192 (0x00002000)

GET_URI_PERMISSION_PATTERNS

Added in API level 1
int GET_URI_PERMISSION_PATTERNS

ProviderInfo flag: return the URI permission patterns that are associated with a content provider. This applies for any API returning a ProviderInfo class, either directly or nested inside of another.

Constant Value: 2048 (0x00000800)

MATCH_ALL

Added in API level 23
int MATCH_ALL

Querying flag: if set and if the platform is doing any filtering of the results, then the filtering will not happen. This is a synonym for saying that all results should be returned.

This flag should be used with extreme care.

Constant Value: 131072 (0x00020000)

MATCH_DEFAULT_ONLY

Added in API level 1
int MATCH_DEFAULT_ONLY

Resolution and querying flag: if set, only filters that support the CATEGORY_DEFAULT will be considered for matching. This is a synonym for including the CATEGORY_DEFAULT in your supplied Intent.

Constant Value: 65536 (0x00010000)

MATCH_DIRECT_BOOT_AWARE

Added in API level 24
int MATCH_DIRECT_BOOT_AWARE

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

When neither MATCH_DIRECT_BOOT_AWARE nor MATCH_DIRECT_BOOT_UNAWARE are specified, the default behavior is to match only runnable components based on the user state. For example, when a user is started but credentials have not been presented yet, the user is running "locked" and only MATCH_DIRECT_BOOT_AWARE components are returned. Once the user credentials have been presented, the user is running "unlocked" and both MATCH_DIRECT_BOOT_AWARE and MATCH_DIRECT_BOOT_UNAWARE components are returned.

See also:

Constant Value: 524288 (0x00080000)

MATCH_DIRECT_BOOT_UNAWARE

Added in API level 24
int MATCH_DIRECT_BOOT_UNAWARE

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

When neither MATCH_DIRECT_BOOT_AWARE nor MATCH_DIRECT_BOOT_UNAWARE are specified, the default behavior is to match only runnable components based on the user state. For example, when a user is started but credentials have not been presented yet, the user is running "locked" and only MATCH_DIRECT_BOOT_AWARE components are returned. Once the user credentials have been presented, the user is running "unlocked" and both MATCH_DIRECT_BOOT_AWARE and MATCH_DIRECT_BOOT_UNAWARE components are returned.

See also:

Constant Value: 262144 (0x00040000)

MATCH_DISABLED_COMPONENTS

Added in API level 24
int MATCH_DISABLED_COMPONENTS

PackageInfo flag: include disabled components in the returned info.

Constant Value: 512 (0x00000200)

MATCH_DISABLED_UNTIL_USED_COMPONENTS

Added in API level 24
int MATCH_DISABLED_UNTIL_USED_COMPONENTS

PackageInfo flag: include disabled components which are in that state only because of COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED in the returned info. Note that if you set this flag, applications that are in this disabled state will be reported as enabled.

Constant Value: 32768 (0x00008000)

MATCH_SYSTEM_ONLY

Added in API level 24
int MATCH_SYSTEM_ONLY

Querying flag: include only components from applications that are marked with FLAG_SYSTEM.

Constant Value: 1048576 (0x00100000)

MATCH_UNINSTALLED_PACKAGES

Added in API level 24
int MATCH_UNINSTALLED_PACKAGES

Flag parameter to retrieve some information about all applications (even uninstalled ones) which have data directories. This state could have resulted if applications have been deleted with flag DONT_DELETE_DATA with a possibility of being replaced or reinstalled in future.

Note: this flag may cause less information about currently installed applications to be returned.

Constant Value: 8192 (0x00002000)

MAXIMUM_VERIFICATION_TIMEOUT

Added in API level 17
long MAXIMUM_VERIFICATION_TIMEOUT

Can be used as the millisecondsToDelay argument for extendVerificationTimeout(int, int, long). This is the maximum time PackageManager waits for the verification agent to return (in milliseconds).

Constant Value: 3600000 (0x000000000036ee80)

PERMISSION_DENIED

Added in API level 1
int PERMISSION_DENIED

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

Constant Value: -1 (0xffffffff)

PERMISSION_GRANTED

Added in API level 1
int PERMISSION_GRANTED

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

Constant Value: 0 (0x00000000)

SIGNATURE_FIRST_NOT_SIGNED

Added in API level 1
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.

Constant Value: -1 (0xffffffff)

SIGNATURE_MATCH

Added in API level 1
int SIGNATURE_MATCH

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

Constant Value: 0 (0x00000000)

SIGNATURE_NEITHER_SIGNED

Added in API level 1
int SIGNATURE_NEITHER_SIGNED

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

Constant Value: 1 (0x00000001)

SIGNATURE_NO_MATCH

Added in API level 1
int SIGNATURE_NO_MATCH

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

Constant Value: -3 (0xfffffffd)

SIGNATURE_SECOND_NOT_SIGNED

Added in API level 1
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.

Constant Value: -2 (0xfffffffe)

SIGNATURE_UNKNOWN_PACKAGE

Added in API level 1
int SIGNATURE_UNKNOWN_PACKAGE

Signature check result: this is returned by checkSignatures(int, int) if either of the packages are not valid.

Constant Value: -4 (0xfffffffc)

VERIFICATION_ALLOW

Added in API level 14
int VERIFICATION_ALLOW

Used as the verificationCode argument for verifyPendingInstall(int, int) to indicate that the calling package verifier allows the installation to proceed.

Constant Value: 1 (0x00000001)

VERIFICATION_REJECT

Added in API level 14
int VERIFICATION_REJECT

Used as the verificationCode argument for verifyPendingInstall(int, int) to indicate the calling package verifier does not vote to allow the installation to proceed.

Constant Value: -1 (0xffffffff)

Public constructors

PackageManager

Added in API level 1
PackageManager ()

Public methods

addPackageToPreferred

Added in API level 1
void addPackageToPreferred (String packageName)

This method was deprecated in API level 7.
This function no longer does anything; it was an old approach to managing preferred activities, which has been superseded by (and conflicts with) the modern activity-based preferences.

Parameters
packageName String

addPermission

Added in API level 1
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.
Returns
boolean Returns true if a new permission was created, false if an existing one was updated.
Throws
SecurityException if you are not allowed to add the given permission name.

See also:

addPermissionAsync

Added in API level 8
boolean addPermissionAsync (PermissionInfo info)

Like addPermission(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
Returns
boolean

addPreferredActivity

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

This method was deprecated in API level 8.
This is a protected API that should not have been available to third party applications. It is the platform's responsibility for assigning preferred activities and this cannot be directly modified. 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.
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.
activity ComponentName: The component name of the activity that is to be preferred.

canonicalToCurrentPackageNames

Added in API level 8
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.
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
int checkPermission (String permName, 
                String pkgName)

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

Parameters
permName String: The name of the permission you are checking for.
pkgName String: The name of the package you are checking against.
Returns
int If the package has the permission, PERMISSION_GRANTED is returned. If it does not have the permission, PERMISSION_DENIED is returned.

See also:

checkSignatures

Added in API level 1
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.
pkg2 String: Second package name 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).

See also:

checkSignatures

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

Like checkSignatures(String, 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).

See also:

clearPackagePreferredActivities

Added in API level 1
void clearPackagePreferredActivities (String packageName)

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.

currentToCanonicalPackageNames

Added in API level 8
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.
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
void extendVerificationTimeout (int id, 
                int verificationCodeAtTimeout, 
                long millisecondsToDelay)

Allows a package listening to the package verification 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 VERIFICATION_ALLOW or 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 EXTRA_VERIFICATION_ID Intent extra.
verificationCodeAtTimeout int: either VERIFICATION_ALLOW or VERIFICATION_REJECT. If verificationCodeAtTimeout is neither VERIFICATION_ALLOW or VERIFICATION_REJECT, then verificationCodeAtTimeout will default to VERIFICATION_REJECT.
millisecondsToDelay long: the amount of time requested for the timeout. Must be positive and less than MAXIMUM_VERIFICATION_TIMEOUT. If millisecondsToDelay is out of bounds, millisecondsToDelay will be set to the closest in bounds value; namely, 0 or MAXIMUM_VERIFICATION_TIMEOUT.
Throws
SecurityException if the caller does not have the PACKAGE_VERIFICATION_AGENT permission.

getActivityBanner

Added in API level 20
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.
Returns
Drawable Returns the image of the banner, or null if the activity has no banner specified.
Throws
PackageManager.NameNotFoundException Thrown if the resources for application matching the given intent could not be loaded.

See also:

getActivityBanner

Added in API level 20
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.
Returns
Drawable Returns the image of the banner, or null if the activity has no banner specified.
Throws
PackageManager.NameNotFoundException Thrown if the resources for the given activity could not be loaded.

See also:

getActivityIcon

Added in API level 1
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.
Returns
Drawable Returns the image of the icon, or the default activity icon if it could not be found. Does not return null.
Throws
PackageManager.NameNotFoundException Thrown if the resources for application matching the given intent could not be loaded.

See also:

getActivityIcon

Added in API level 1
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.
Returns
Drawable Returns the image of the icon, or the default activity icon if it could not be found. Does not return null.
Throws
PackageManager.NameNotFoundException Thrown if the resources for the given activity could not be loaded.

See also:

getActivityInfo

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

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

Parameters
component ComponentName: The full component name (i.e. com.google.apps.contacts/com.google.apps.contacts. ContactsList) of an Activity class.
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DEFAULT_ONLY, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY MATCH_UNINSTALLED_PACKAGES to modify the data returned.
Returns
ActivityInfo An ActivityInfo containing information about the activity.
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

See also:

getActivityLogo

Added in API level 9
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.
Returns
Drawable Returns the image of the logo, or null if the activity has no logo specified.
Throws
PackageManager.NameNotFoundException Thrown if the resources for application matching the given intent could not be loaded.

See also:

getActivityLogo

Added in API level 9
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.
Returns
Drawable Returns the image of the logo or null if the activity has no logo specified.
Throws
PackageManager.NameNotFoundException Thrown if the resources for the given activity could not be loaded.

See also:

getAllPermissionGroups

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

Retrieve all of the known permission groups in the system.

Parameters
flags int: Additional option flags. Use GET_META_DATA to retrieve any meta-data associated with the permission group.
Returns
List<PermissionGroupInfo> Returns a list of PermissionGroupInfo containing information about all of the known permission groups.

See also:

getApplicationBanner

Added in API level 20
Drawable getApplicationBanner (ApplicationInfo info)

Retrieve the banner associated with an application.

Parameters
info ApplicationInfo: Information about application being queried.
Returns
Drawable Returns the image of the banner or null if the application has no banner specified.

See also:

getApplicationBanner

Added in API level 20
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.
Returns
Drawable Returns the image of the banner or null if the application has no banner specified.
Throws
PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

See also:

getApplicationEnabledSetting

Added in API level 1
int getApplicationEnabledSetting (String packageName)

Return the enabled setting for an application. This returns the last value set by setApplicationEnabledSetting(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.
Returns
int Returns the current enabled state for the application. May be one of COMPONENT_ENABLED_STATE_ENABLED, COMPONENT_ENABLED_STATE_DISABLED, or COMPONENT_ENABLED_STATE_DEFAULT. The last one means the application's enabled state is based on the original information in the manifest as found in ComponentInfo.
Throws
IllegalArgumentException if the named package does not exist.

getApplicationIcon

Added in API level 1
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.
Returns
Drawable Returns the image of the icon, or the default application icon if it could not be found. Does not return null.
Throws
PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

See also:

getApplicationIcon

Added in API level 1
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.
Returns
Drawable Returns the image of the icon, or the default application icon if it could not be found.

See also:

getApplicationInfo

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

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

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of an application.
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, MATCH_SYSTEM_ONLY, MATCH_UNINSTALLED_PACKAGES 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 DONT_DELETE_DATA flag set).
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

See also:

getApplicationLabel

Added in API level 1
CharSequence getApplicationLabel (ApplicationInfo info)

Return the label to use for this application.

Parameters
info ApplicationInfo: The application to get the label of.
Returns
CharSequence Returns the label associated with this application, or null if it could not be found for any reason.

getApplicationLogo

Added in API level 9
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.
Returns
Drawable Returns the image of the logo, or null if no application logo has been specified.
Throws
PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

See also:

getApplicationLogo

Added in API level 9
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.
Returns
Drawable Returns the image of the logo, or null if no logo is specified by the application.

See also:

getComponentEnabledSetting

Added in API level 1
int getComponentEnabledSetting (ComponentName componentName)

Return the enabled setting for a package component (activity, receiver, service, provider). This returns the last value set by setComponentEnabledSetting(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.
Returns
int Returns the current enabled state for the component. May be one of COMPONENT_ENABLED_STATE_ENABLED, COMPONENT_ENABLED_STATE_DISABLED, or COMPONENT_ENABLED_STATE_DEFAULT. The last one means the component's enabled state is based on the original information in the manifest as found in ComponentInfo.

getDefaultActivityIcon

Added in API level 1
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.

getDrawable

Added in API level 1
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
List<ApplicationInfo> getInstalledApplications (int flags)

Return a List of all application packages that are installed on the device. If flag GET_UNINSTALLED_PACKAGES has been set, a list of all applications including those deleted with DONT_DELETE_DATA (partially installed apps with data directory) will be returned.

Parameters
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, MATCH_SYSTEM_ONLY, MATCH_UNINSTALLED_PACKAGES 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 DONT_DELETE_DATA flag set).

See also:

getInstalledPackages

Added in API level 1
List<PackageInfo> getInstalledPackages (int flags)

Return a List of all packages that are installed on the device.

Parameters
flags int: Additional option flags. Use any combination of GET_ACTIVITIES, GET_CONFIGURATIONS, GET_GIDS, GET_INSTRUMENTATION, GET_INTENT_FILTERS, GET_META_DATA, GET_PERMISSIONS, GET_PROVIDERS, GET_RECEIVERS, GET_SERVICES, GET_SHARED_LIBRARY_FILES, GET_SIGNATURES, GET_URI_PERMISSION_PATTERNS, GET_UNINSTALLED_PACKAGES, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_UNINSTALLED_PACKAGES 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 DONT_DELETE_DATA flag set).

See also:

getInstallerPackageName

Added in API level 5
String getInstallerPackageName (String packageName)

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

getInstrumentationInfo

Added in API level 1
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.
flags int: Additional option flags. Use any combination of GET_META_DATA to modify the data returned.
Returns
InstrumentationInfo An InstrumentationInfo object containing information about the instrumentation.
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

See also:

getLaunchIntentForPackage

Added in API level 3
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 CATEGORY_INFO, and next for a main activity in the category CATEGORY_LAUNCHER. Returns null if neither are found.

Parameters
packageName String: The name of the package to inspect.
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
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 CATEGORY_LEANBACK_LAUNCHER, or return null if no main leanback activities are found.

Parameters
packageName String: The name of the package to inspect.
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
String getNameForUid (int uid)

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

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

getPackageArchiveInfo

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

Retrieve overall information about an application package defined in a package archive file

Parameters
archiveFilePath String: The path to the archive file
flags int: Additional option flags. Use any combination of GET_ACTIVITIES, GET_CONFIGURATIONS, GET_GIDS, GET_INSTRUMENTATION, GET_INTENT_FILTERS, GET_META_DATA, GET_PERMISSIONS, GET_PROVIDERS, GET_RECEIVERS, GET_SERVICES, GET_SHARED_LIBRARY_FILES, GET_SIGNATURES, GET_URI_PERMISSION_PATTERNS, GET_UNINSTALLED_PACKAGES, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_UNINSTALLED_PACKAGES 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.

See also:

getPackageGids

Added in API level 1
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.
Returns
int[] Returns an int array of the assigned GIDs, or null if there are none.
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

getPackageGids

Added in API level 24
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.

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of the desired package.
flags int
Returns
int[] Returns an int array of the assigned gids, or null if there are none.
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

getPackageInfo

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

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

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of the desired package.
flags int: Additional option flags. Use any combination of GET_ACTIVITIES, GET_CONFIGURATIONS, GET_GIDS, GET_INSTRUMENTATION, GET_INTENT_FILTERS, GET_META_DATA, GET_PERMISSIONS, GET_PROVIDERS, GET_RECEIVERS, GET_SERVICES, GET_SHARED_LIBRARY_FILES, GET_SIGNATURES, GET_URI_PERMISSION_PATTERNS, GET_UNINSTALLED_PACKAGES, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_UNINSTALLED_PACKAGES 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 DONT_DELETE_DATA flag set).
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

See also:

getPackageInstaller

Added in API level 21
PackageInstaller getPackageInstaller ()

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

Returns
PackageInstaller

getPackageUid

Added in API level 24
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.

Parameters
packageName String: The full name (i.e. com.google.apps.contacts) of the desired package.
flags int
Returns
int Returns an integer UID who owns the given package name.
Throws
PackageManager.NameNotFoundException if a package with the given name can not be found on the system.

getPackagesForUid

Added in API level 1
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
List<PackageInfo> getPackagesHoldingPermissions (String[] permissions, 
                int flags)

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

Parameters
permissions String
flags int: Additional option flags. Use any combination of GET_ACTIVITIES, GET_CONFIGURATIONS, GET_GIDS, GET_INSTRUMENTATION, GET_INTENT_FILTERS, GET_META_DATA, GET_PERMISSIONS, GET_PROVIDERS, GET_RECEIVERS, GET_SERVICES, GET_SHARED_LIBRARY_FILES, GET_SIGNATURES, GET_URI_PERMISSION_PATTERNS, GET_UNINSTALLED_PACKAGES, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_UNINSTALLED_PACKAGES 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 DONT_DELETE_DATA flag set).

See also:

getPermissionGroupInfo

Added in API level 1
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.
flags int: Additional option flags. Use GET_META_DATA to retrieve any meta-data associated with the permission group.
Returns
PermissionGroupInfo Returns a PermissionGroupInfo containing information about the permission.
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

See also:

getPermissionInfo

Added in API level 1
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.
flags int: Additional option flags. Use GET_META_DATA to retrieve any meta-data associated with the permission.
Returns
PermissionInfo Returns a PermissionInfo containing information about the permission.
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

See also:

getPreferredActivities

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

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.
outActivities List: A required list in which to place the component names of all of the preferred activities.
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
List<PackageInfo> getPreferredPackages (int flags)

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. Use any combination of GET_ACTIVITIES, GET_CONFIGURATIONS, GET_GIDS, GET_INSTRUMENTATION, GET_INTENT_FILTERS, GET_META_DATA, GET_PERMISSIONS, GET_PROVIDERS, GET_RECEIVERS, GET_SERVICES, GET_SHARED_LIBRARY_FILES, GET_SIGNATURES, GET_URI_PERMISSION_PATTERNS, GET_UNINSTALLED_PACKAGES, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_UNINSTALLED_PACKAGES to modify the data returned.
Returns
List<PackageInfo> A List of PackageInfo objects, one for each preferred application, in order of preference.

See also:

getProviderInfo

Added in API level 9
ProviderInfo getProviderInfo (ComponentName component, 
                int flags)

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

Parameters
component ComponentName: The full component name (i.e. com.google.providers.media/com.google.providers.media. MediaProvider) of a ContentProvider class.
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DEFAULT_ONLY, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY MATCH_UNINSTALLED_PACKAGES to modify the data returned.
Returns
ProviderInfo A ProviderInfo object containing information about the provider.
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

See also:

getReceiverInfo

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

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

Parameters
component ComponentName: The full component name (i.e. com.google.apps.calendar/com.google.apps.calendar. CalendarAlarm) of a Receiver class.
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DEFAULT_ONLY, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY MATCH_UNINSTALLED_PACKAGES to modify the data returned.
Returns
ActivityInfo An ActivityInfo containing information about the receiver.
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

See also:

getResourcesForActivity

Added in API level 1
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.
Returns
Resources Returns the application's Resources.
Throws
PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

See also:

getResourcesForApplication

Added in API level 1
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.
Returns
Resources Returns the application's Resources.
Throws
PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

See also:

getResourcesForApplication

Added in API level 1
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.
Returns
Resources Returns the application's Resources.
Throws
PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded (most likely because it was uninstalled).

getServiceInfo

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

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

Parameters
component ComponentName: The full component name (i.e. com.google.apps.media/com.google.apps.media. BackgroundPlayback) of a Service class.
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DEFAULT_ONLY, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY MATCH_UNINSTALLED_PACKAGES to modify the data returned.
Returns
ServiceInfo A ServiceInfo object containing information about the service.
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

See also:

getSystemAvailableFeatures

Added in API level 5
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
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
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
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 isMutable(), the badging is performed in place and the original drawable is returned.

Parameters
drawable Drawable: The drawable to badge.
user UserHandle: The target user.
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 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.

getUserBadgedIcon

Added in API level 21
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, UserHandle, android.graphics.Rect, int).

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

Parameters
icon Drawable: The icon to badge.
user UserHandle: The target user.
Returns
Drawable A drawable that combines the original icon and a badge as determined by the system.

getUserBadgedLabel

Added in API level 21
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.
user UserHandle: The target user.
Returns
CharSequence A label that combines the original label and a badge as determined by the system.

getXml

Added in API level 1
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.

hasSystemFeature

Added in API level 5
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(String, int) to check for a minimum version.

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

hasSystemFeature

Added in API level 24
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
version int
Returns
boolean Returns true if the devices supports the feature, else false.

isPermissionRevokedByPolicy

Added in API level 23
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.
pkgName String: The name of the package you are checking against.
Returns
boolean Whether the permission is restricted by policy.

isSafeMode

Added in API level 3
boolean isSafeMode ()

Return whether the device has been booted into safe mode.

Returns
boolean

queryBroadcastReceivers

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

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

Parameters
intent Intent: The desired intent as per resolveActivity().
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_RESOLVED_FILTER, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DEFAULT_ONLY, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY or MATCH_UNINSTALLED_PACKAGES 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.

See also:

queryContentProviders

Added in API level 1
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.

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. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DEFAULT_ONLY, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY or MATCH_UNINSTALLED_PACKAGES 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.

See also:

queryInstrumentation

Added in API level 1
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. Use any combination of GET_META_DATA to modify the data returned.
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.

See also:

queryIntentActivities

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

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

Parameters
intent Intent: The desired intent as per resolveActivity().
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_RESOLVED_FILTER, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DEFAULT_ONLY, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY or MATCH_UNINSTALLED_PACKAGES to modify the data returned. The most important is MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the CATEGORY_DEFAULT. Or, set 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, int). If there are no matching activities, an empty list is returned.

See also:

queryIntentActivityOptions

Added in API level 1
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, int), 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.

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().
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_RESOLVED_FILTER, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DEFAULT_ONLY, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY or MATCH_UNINSTALLED_PACKAGES to modify the data returned. The most important is MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the 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.

See also:

queryIntentContentProviders

Added in API level 19
List<ResolveInfo> queryIntentContentProviders (Intent intent, 
                int flags)

Retrieve all providers that can match the given intent.

Parameters
intent Intent: An intent containing all of the desired specification (action, data, type, category, and/or component).
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_RESOLVED_FILTER, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DEFAULT_ONLY, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY or MATCH_UNINSTALLED_PACKAGES 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.

See also:

queryIntentServices

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

Retrieve all services that can match the given intent.

Parameters
intent Intent: The desired intent as per resolveService().
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_RESOLVED_FILTER, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DEFAULT_ONLY, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY or MATCH_UNINSTALLED_PACKAGES 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, int). If there are no matching services, an empty list or null is returned.

See also:

queryPermissionsByGroup

Added in API level 1
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. Use GET_META_DATA to retrieve any meta-data associated with the permissions.
Returns
List<PermissionInfo> Returns a list of PermissionInfo containing information about all of the permissions in the given group.
Throws
PackageManager.NameNotFoundException if a package with the given name cannot be found on the system.

See also:

removePackageFromPreferred

Added in API level 1
void removePackageFromPreferred (String packageName)

This method was deprecated in API level 7.
This function no longer does anything; it was an old approach to managing preferred activities, which has been superseded by (and conflicts with) the modern activity-based preferences.

Parameters
packageName String

removePermission

Added in API level 1
void removePermission (String name)

Removes a permission that was previously added with addPermission(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.
Throws
SecurityException if you are not allowed to remove the given permission name.

See also:

resolveActivity

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

Determine the best action to perform for a given Intent. This is how resolveActivity(PackageManager) 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 startActivity(Intent) and Intent.resolveActivity(PackageManager) do.

Parameters
intent Intent: An intent containing all of the desired specification (action, data, type, category, and/or component).
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_RESOLVED_FILTER, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DEFAULT_ONLY, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY or MATCH_UNINSTALLED_PACKAGES to modify the data returned. The most important is MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the 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.

See also:

resolveContentProvider

Added in API level 1
ProviderInfo resolveContentProvider (String name, 
                int flags)

Find a single content provider by its base path name.

Parameters
name String: The name of the provider to find.
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DEFAULT_ONLY, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY or MATCH_UNINSTALLED_PACKAGES to modify the data returned.
Returns
ProviderInfo A ProviderInfo object containing information about the provider. If a provider was not found, returns null.

See also:

resolveService

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

Determine the best service to handle for a given Intent.

Parameters
intent Intent: An intent containing all of the desired specification (action, data, type, category, and/or component).
flags int: Additional option flags. Use any combination of GET_META_DATA, GET_RESOLVED_FILTER, GET_SHARED_LIBRARY_FILES, MATCH_ALL, MATCH_DISABLED_COMPONENTS, MATCH_DISABLED_UNTIL_USED_COMPONENTS, MATCH_DEFAULT_ONLY, MATCH_DIRECT_BOOT_AWARE, MATCH_DIRECT_BOOT_UNAWARE, MATCH_SYSTEM_ONLY or MATCH_UNINSTALLED_PACKAGES 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.

See also:

setApplicationEnabledSetting

Added in API level 1
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
newState int: The new enabled state for the component. The legal values for this state are: COMPONENT_ENABLED_STATE_ENABLED, COMPONENT_ENABLED_STATE_DISABLED and COMPONENT_ENABLED_STATE_DEFAULT The last one removes the setting, thereby restoring the applications's state to whatever was set in its manifest (or enabled, by default).
flags int: Optional behavior flags: DONT_KILL_APP or 0.

setComponentEnabledSetting

Added in API level 1
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.

Parameters
componentName ComponentName: The component to enable
newState int: The new enabled state for the component. The legal values for this state are: COMPONENT_ENABLED_STATE_ENABLED, COMPONENT_ENABLED_STATE_DISABLED and COMPONENT_ENABLED_STATE_DEFAULT The last one removes the setting, thereby restoring the component's state to whatever was set in it's manifest (or enabled, by default).
flags int: Optional behavior flags: DONT_KILL_APP or 0.

setInstallerPackageName

Added in API level 11
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.
installerPackageName String: The package name of the new installer. May be null to clear the association.

verifyPendingInstall

Added in API level 14
void verifyPendingInstall (int id, 
                int verificationCode)

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

Parameters
id int: pending package identifier as passed via the EXTRA_VERIFICATION_ID Intent extra.
verificationCode int: either VERIFICATION_ALLOW or VERIFICATION_REJECT.
Throws
SecurityException if the caller does not have the PACKAGE_VERIFICATION_AGENT permission.

Hooray!