public abstract class

PackageManager

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

Class Overview

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 can not be found. 
Constants
int COMPONENT_ENABLED_STATE_DEFAULT
int COMPONENT_ENABLED_STATE_DISABLED
int COMPONENT_ENABLED_STATE_ENABLED
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 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_BLUETOOTH Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device is capable of communicating with other devices via Bluetooth.
String FEATURE_CAMERA Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device has a camera facing away from the screen.
String FEATURE_CAMERA_AUTOFOCUS Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device's camera supports auto-focus.
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_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_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_MICROPHONE Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device can record audio via a microphone.
String FEATURE_NFC Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device can communicate using Near-Field Communications (NFC).
String FEATURE_SENSOR_ACCELEROMETER Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device includes an accelerometer.
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_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_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_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_WIFI Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device supports WiFi (802.11) 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 PackageInfo.reqFeatures.
int GET_DISABLED_COMPONENTS PackageInfo flag: include disabled components in the returned info.
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 Flag parameter to retrieve all applications(even uninstalled ones) with data directories.
int GET_URI_PERMISSION_PATTERNS ProviderInfo flag: return the URI permission patterns that are associated with a content provider.
int MATCH_DEFAULT_ONLY Resolution and querying flag: if set, only filters that support the CATEGORY_DEFAULT will be considered for matching.
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.
Public Constructors
PackageManager()
Public Methods
abstract void addPackageToPreferred(String packageName)
This method is deprecated. This function no longer does anything; it was an old approach to managing preferred activities, which has been superceeded (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 is deprecated. 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 can not 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(int uid1, int uid2)
Like checkSignatures(String, String), but takes UIDs of the two packages to be checked.
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 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 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 int getApplicationEnabledSetting(String packageName)
Return the 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 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)
Return a "good" intent to launch a front-door 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 secondary group-ids that have been assigned to a package.
abstract PackageInfo getPackageInfo(String packageName, int flags)
Retrieve overall information about an application package that is installed on the system.
abstract String[] getPackagesForUid(int uid)
Retrieve the names of all packages that are associated with a particular user id.
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 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 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> 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 is deprecated. This function no longer does anything; it was an old approach to managing preferred activities, which has been superceeded (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.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int COMPONENT_ENABLED_STATE_DEFAULT

Since: API Level 1

Constant Value: 0 (0x00000000)

public static final int COMPONENT_ENABLED_STATE_DISABLED

Since: API Level 1

Constant Value: 2 (0x00000002)

public static final int COMPONENT_ENABLED_STATE_ENABLED

Since: API Level 1

Constant Value: 1 (0x00000001)

public static final int DONT_KILL_APP

Since: API Level 1

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)

public static final String FEATURE_AUDIO_LOW_LATENCY

Since: API Level 9

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"

public static final String FEATURE_BLUETOOTH

Since: API Level 8

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

Constant Value: "android.hardware.bluetooth"

public static final String FEATURE_CAMERA

Since: API Level 7

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

Constant Value: "android.hardware.camera"

public static final String FEATURE_CAMERA_AUTOFOCUS

Since: API Level 7

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

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

public static final String FEATURE_CAMERA_FLASH

Since: API Level 7

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

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

public static final String FEATURE_CAMERA_FRONT

Since: API Level 9

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

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

public static final String FEATURE_FAKETOUCH

Since: API Level 11

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"

public static final String FEATURE_LIVE_WALLPAPER

Since: API Level 7

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

Constant Value: "android.software.live_wallpaper"

public static final String FEATURE_LOCATION

Since: API Level 8

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

Constant Value: "android.hardware.location"

public static final String FEATURE_LOCATION_GPS

Since: API Level 8

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"

public static final String FEATURE_LOCATION_NETWORK

Since: API Level 8

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"

public static final String FEATURE_MICROPHONE

Since: API Level 8

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

Constant Value: "android.hardware.microphone"

public static final String FEATURE_NFC

Since: API Level 9

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

Constant Value: "android.hardware.nfc"

public static final String FEATURE_SENSOR_ACCELEROMETER

Since: API Level 8

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

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

public static final String FEATURE_SENSOR_BAROMETER

Since: API Level 9

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

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

public static final String FEATURE_SENSOR_COMPASS

Since: API Level 8

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

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

public static final String FEATURE_SENSOR_GYROSCOPE

Since: API Level 9

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

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

public static final String FEATURE_SENSOR_LIGHT

Since: API Level 7

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

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

public static final String FEATURE_SENSOR_PROXIMITY

Since: API Level 7

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

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

public static final String FEATURE_SIP

Since: API Level 9

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

Constant Value: "android.software.sip"

public static final String FEATURE_SIP_VOIP

Since: API Level 9

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

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

public static final String FEATURE_TELEPHONY

Since: API Level 7

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

Constant Value: "android.hardware.telephony"

public static final String FEATURE_TELEPHONY_CDMA

Since: API Level 7

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

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

public static final String FEATURE_TELEPHONY_GSM

Since: API Level 7

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

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

public static final String FEATURE_TOUCHSCREEN

Since: API Level 8

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

Constant Value: "android.hardware.touchscreen"

public static final String FEATURE_TOUCHSCREEN_MULTITOUCH

Since: API Level 7

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"

public static final String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT

Since: API Level 8

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"

public static final String FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND

Since: API Level 9

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"

public static final String FEATURE_WIFI

Since: API Level 8

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

Constant Value: "android.hardware.wifi"

public static final int GET_ACTIVITIES

Since: API Level 1

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

Constant Value: 1 (0x00000001)

public static final int GET_CONFIGURATIONS

Since: API Level 3

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

Constant Value: 16384 (0x00004000)

public static final int GET_DISABLED_COMPONENTS

Since: API Level 1

PackageInfo flag: include disabled components in the returned info.

Constant Value: 512 (0x00000200)

public static final int GET_GIDS

Since: API Level 1

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

Constant Value: 256 (0x00000100)

public static final int GET_INSTRUMENTATION

Since: API Level 1

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

Constant Value: 16 (0x00000010)

public static final int GET_INTENT_FILTERS

Since: API Level 1

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

Constant Value: 32 (0x00000020)

public static final int GET_META_DATA

Since: API Level 1

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)

public static final int GET_PERMISSIONS

Since: API Level 1

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

Constant Value: 4096 (0x00001000)

public static final int GET_PROVIDERS

Since: API Level 1

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

Constant Value: 8 (0x00000008)

public static final int GET_RECEIVERS

Since: API Level 1

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

Constant Value: 2 (0x00000002)

public static final int GET_RESOLVED_FILTER

Since: API Level 1

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

Constant Value: 64 (0x00000040)

public static final int GET_SERVICES

Since: API Level 1

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

Constant Value: 4 (0x00000004)

public static final int GET_SHARED_LIBRARY_FILES

Since: API Level 1

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)

public static final int GET_SIGNATURES

Since: API Level 1

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

Constant Value: 64 (0x00000040)

public static final int GET_UNINSTALLED_PACKAGES

Since: API Level 3

Flag parameter to retrieve all applications(even uninstalled ones) with 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

Constant Value: 8192 (0x00002000)

public static final int GET_URI_PERMISSION_PATTERNS

Since: API Level 1

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

Constant Value: 2048 (0x00000800)

public static final int MATCH_DEFAULT_ONLY

Since: API Level 1

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)

public static final int PERMISSION_DENIED

Since: API Level 1

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)

public static final int PERMISSION_GRANTED

Since: API Level 1

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

Constant Value: 0 (0x00000000)

public static final int SIGNATURE_FIRST_NOT_SIGNED

Since: API Level 1

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)

public static final int SIGNATURE_MATCH

Since: API Level 1

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

Constant Value: 0 (0x00000000)

public static final int SIGNATURE_NEITHER_SIGNED

Since: API Level 1

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

Constant Value: 1 (0x00000001)

public static final int SIGNATURE_NO_MATCH

Since: API Level 1

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

Constant Value: -3 (0xfffffffd)

public static final int SIGNATURE_SECOND_NOT_SIGNED

Since: API Level 1

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)

public static final int SIGNATURE_UNKNOWN_PACKAGE

Since: API Level 1

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

Constant Value: -4 (0xfffffffc)

Public Constructors

public PackageManager ()

Since: API Level 1

Public Methods

public abstract void addPackageToPreferred (String packageName)

Since: API Level 1

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

public abstract boolean addPermission (PermissionInfo info)

Since: API Level 1

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 Description of the permission to be added.
Returns
  • 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.

public abstract boolean addPermissionAsync (PermissionInfo info)

Since: API Level 8

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.

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

Since: API Level 1

This method is deprecated.
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 can not 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 The set of intents under which this activity will be made preferred.
match The IntentFilter match category that this preference applies to.
set The set of activities that the user was picking from when this preference was made.
activity The component name of the activity that is to be preferred.

public abstract String[] canonicalToCurrentPackageNames (String[] names)

Since: API Level 8

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

Parameters
names Array of new names to be mapped.
Returns
  • Returns an array of the same size as the original, containing the current name for each package.

public abstract int checkPermission (String permName, String pkgName)

Since: API Level 1

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

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

public abstract int checkSignatures (int uid1, int uid2)

Since: API Level 5

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 First UID whose signature will be compared.
uid2 Second UID whose signature will be compared.
Returns

public abstract int checkSignatures (String pkg1, String pkg2)

Since: API Level 1

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 First package name whose signature will be compared.
pkg2 Second package name whose signature will be compared.
Returns

public abstract void clearPackagePreferredActivities (String packageName)

Since: API Level 1

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 The name of the package whose preferred activity mappings are to be removed.

public abstract String[] currentToCanonicalPackageNames (String[] names)

Since: API Level 8

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

Parameters
names Array of current names to be mapped.
Returns
  • Returns an array of the same size as the original, containing the canonical name for each package.

public abstract Drawable getActivityIcon (Intent intent)

Since: API Level 1

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() can not be found or the Intent can not be resolved to a component, NameNotFoundException is thrown.

Parameters
intent The intent for which you would like to retrieve an icon.
Returns
  • 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.

public abstract Drawable getActivityIcon (ComponentName activityName)

Since: API Level 1

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 can not be found, NameNotFoundException is thrown.

Parameters
activityName Name of the activity whose icon is to be retrieved.
Returns
  • 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.

public abstract ActivityInfo getActivityInfo (ComponentName component, int flags)

Since: API Level 1

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

Throws PackageManager.NameNotFoundException if an activity with the given class name can not be found on the system.

Parameters
component The full component name (i.e. com.google.apps.contacts/com.google.apps.contacts.ContactsList) of an Activity class.
flags Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, to modify the data (in ApplicationInfo) returned.
Returns

public abstract Drawable getActivityLogo (Intent intent)

Since: API Level 9

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() can not be found or the Intent can not be resolved to a component, NameNotFoundException is thrown.

Parameters
intent The intent for which you would like to retrieve a logo.
Returns
  • 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.

public abstract Drawable getActivityLogo (ComponentName activityName)

Since: API Level 9

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 can not be found, NameNotFoundException is thrown.

Parameters
activityName Name of the activity whose logo is to be retrieved.
Returns
  • 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.

public abstract List<PermissionGroupInfo> getAllPermissionGroups (int flags)

Since: API Level 1

Retrieve all of the known permission groups in the system.

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

public abstract int getApplicationEnabledSetting (String packageName)

Since: API Level 1

Return the 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 The component to retrieve.
Returns

public abstract Drawable getApplicationIcon (String packageName)

Since: API Level 1

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 can not be found, NameNotFoundException is thrown.

Parameters
packageName Name of the package whose application icon is to be retrieved.
Returns
  • 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.

public abstract Drawable getApplicationIcon (ApplicationInfo info)

Since: API Level 1

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 Information about application being queried.
Returns
  • Returns the image of the icon, or the default application icon if it could not be found.

public abstract ApplicationInfo getApplicationInfo (String packageName, int flags)

Since: API Level 1

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

Throws PackageManager.NameNotFoundException if an application with the given package name can not be found on the system.

Parameters
packageName The full name (i.e. com.google.apps.contacts) of an application.
flags Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, GET_UNINSTALLED_PACKAGES to modify the data returned.
Returns
  • ApplicationInfo Returns ApplicationInfo object containing information about the package. If flag GET_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 ie applications which had been deleted with DONT_DELTE_DATA flag set).

public abstract CharSequence getApplicationLabel (ApplicationInfo info)

Since: API Level 1

Return the label to use for this application.

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

public abstract Drawable getApplicationLogo (String packageName)

Since: API Level 9

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 can not be found, NameNotFoundException is thrown.

Parameters
packageName Name of the package whose application logo is to be retrieved.
Returns
  • 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.

public abstract Drawable getApplicationLogo (ApplicationInfo info)

Since: API Level 9

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

Parameters
info Information about application being queried.
Returns
  • Returns the image of the logo, or null if no logo is specified by the application.

public abstract int getComponentEnabledSetting (ComponentName componentName)

Since: API Level 1

Return the 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 The component to retrieve.
Returns

public abstract Drawable getDefaultActivityIcon ()

Since: API Level 1

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

Returns
  • Drawable Image of the icon.

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

Since: API Level 1

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 The name of the package that this icon is coming from. Can not be null.
resid The resource identifier of the desired image. Can not be 0.
appInfo 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
  • Returns a Drawable holding the requested image. Returns null if an image could not be found for any reason.

public abstract List<ApplicationInfo> getInstalledApplications (int flags)

Since: API Level 1

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 Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, {link #GET_UNINSTALLED_PACKAGES} to modify the data returned.
Returns
  • A List of ApplicationInfo objects, one for each application that is installed on the device. In the unlikely case of there being no installed applications, an empty list is returned. If flag GET_UNINSTALLED_PACKAGES is set, a list of all applications including those deleted with DONT_DELETE_DATA (partially installed apps with data directory) will be returned.

public abstract List<PackageInfo> getInstalledPackages (int flags)

Since: API Level 1

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

Parameters
flags Additional option flags. Use any combination of GET_ACTIVITIES, GET_GIDS, GET_CONFIGURATIONS, GET_INSTRUMENTATION, GET_PERMISSIONS, GET_PROVIDERS, GET_RECEIVERS, GET_SERVICES, GET_SIGNATURES, GET_UNINSTALLED_PACKAGES to modify the data returned.
Returns
  • A List of PackageInfo objects, one for each package that is installed on the device. In the unlikely case of there being no installed packages, an empty list is returned. If flag GET_UNINSTALLED_PACKAGES is set, a list of all applications including those deleted with DONT_DELETE_DATA (partially installed apps with data directory) will be returned.

public abstract String getInstallerPackageName (String packageName)

Since: API Level 5

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

Parameters
packageName The name of the package to query

public abstract InstrumentationInfo getInstrumentationInfo (ComponentName className, int flags)

Since: API Level 1

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

Throws PackageManager.NameNotFoundException if instrumentation with the given class name can not be found on the system.

Parameters
className The full name (i.e. com.google.apps.contacts.InstrumentList) of an Instrumentation class.
flags Additional option flags. Currently should always be 0.
Returns
  • InstrumentationInfo containing information about the instrumentation.

public abstract Intent getLaunchIntentForPackage (String packageName)

Since: API Level 3

Return a "good" intent to launch a front-door activity in a package, for use for example to implement an "open" button when browsing through packages. The current implementation will look first for a main activity in the category CATEGORY_INFO, next for a main activity in the category CATEGORY_LAUNCHER, or return null if neither are found.

Throws PackageManager.NameNotFoundException if a package with the given name can not be found on the system.

Parameters
packageName The name of the package to inspect.
Returns
  • Returns either a fully-qualified Intent that can be used to launch the main activity in the package, or null if the package does not contain such an activity.

public abstract String getNameForUid (int uid)

Since: API Level 1

Retrieve the official name associated with a user id. This name is guaranteed to never change, though it is possibly 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 The user id for which you would like to retrieve a name.
Returns
  • Returns a unique name for the given user id, or null if the user id is not currently assigned.

public PackageInfo getPackageArchiveInfo (String archiveFilePath, int flags)

Since: API Level 1

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

Parameters
archiveFilePath The path to the archive file
flags Additional option flags. Use any combination of GET_ACTIVITIES, GET_GIDS, GET_CONFIGURATIONS, GET_INSTRUMENTATION, GET_PERMISSIONS, GET_PROVIDERS, GET_RECEIVERS, GET_SERVICES, GET_SIGNATURES, to modify the data returned.
Returns
  • Returns the information about the package. Returns null if the package could not be successfully parsed.

public abstract int[] getPackageGids (String packageName)

Since: API Level 1

Return an array of all of the secondary group-ids that have been assigned to a package.

Throws PackageManager.NameNotFoundException if a package with the given name can not be found on the system.

Parameters
packageName The full name (i.e. com.google.apps.contacts) of the desired package.
Returns
  • Returns an int array of the assigned gids, or null if there are none.

public abstract PackageInfo getPackageInfo (String packageName, int flags)

Since: API Level 1

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

Throws PackageManager.NameNotFoundException if a package with the given name can not be found on the system.

Parameters
packageName The full name (i.e. com.google.apps.contacts) of the desired package.
flags Additional option flags. Use any combination of GET_ACTIVITIES, GET_GIDS, GET_CONFIGURATIONS, GET_INSTRUMENTATION, GET_PERMISSIONS, GET_PROVIDERS, GET_RECEIVERS, GET_SERVICES, GET_SIGNATURES, GET_UNINSTALLED_PACKAGES to modify the data returned.
Returns
  • Returns a PackageInfo object containing information about the package. If flag GET_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 ie applications which had been deleted with DONT_DELTE_DATA flag set).

public abstract String[] getPackagesForUid (int uid)

Since: API Level 1

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 The user id for which you would like to retrieve the associated packages.
Returns
  • 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.

public abstract PermissionGroupInfo getPermissionGroupInfo (String name, int flags)

Since: API Level 1

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

Throws PackageManager.NameNotFoundException if a permission group with the given name can not be found on the system.

Parameters
name The fully qualified name (i.e. com.google.permission_group.APPS) of the permission you are interested in.
flags Additional option flags. Use GET_META_DATA to retrieve any meta-data associated with the permission group.
Returns

public abstract PermissionInfo getPermissionInfo (String name, int flags)

Since: API Level 1

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

Throws PackageManager.NameNotFoundException if a permission with the given name can not be found on the system.

Parameters
name The fully qualified name (i.e. com.google.permission.LOGIN) of the permission you are interested in.
flags Additional option flags. Use GET_META_DATA to retrieve any meta-data associated with the permission.
Returns
  • Returns a PermissionInfo containing information about the permission.

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

Since: API Level 1

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

Parameters
outFilters A list in which to place the filters of all of the preferred activities, or null for none.
outActivities A list in which to place the component names of all of the preferred activities, or null for none.
packageName An option 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
  • Returns the total number of registered preferred activities (the number of distinct IntentFilter records, not the number of unique activity components) that were found.

public abstract List<PackageInfo> getPreferredPackages (int flags)

Since: API Level 1

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 Additional option flags. Use any combination of GET_ACTIVITIES, GET_GIDS, GET_CONFIGURATIONS, GET_INSTRUMENTATION, GET_PERMISSIONS, GET_PROVIDERS, GET_RECEIVERS, GET_SERVICES, GET_SIGNATURES, to modify the data returned.
Returns
  • Returns a list of PackageInfo objects describing each preferred application, in order of preference.

public abstract ProviderInfo getProviderInfo (ComponentName component, int flags)

Since: API Level 9

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

Throws PackageManager.NameNotFoundException if a provider with the given class name can not be found on the system.

Parameters
component The full component name (i.e. com.google.providers.media/com.google.providers.media.MediaProvider) of a ContentProvider class.
flags Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, to modify the data returned.
Returns
  • ProviderInfo containing information about the service.

public abstract ActivityInfo getReceiverInfo (ComponentName component, int flags)

Since: API Level 1

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

Throws PackageManager.NameNotFoundException if a receiver with the given class name can not be found on the system.

Parameters
component The full component name (i.e. com.google.apps.calendar/com.google.apps.calendar.CalendarAlarm) of a Receiver class.
flags Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, to modify the data returned.
Returns

public abstract Resources getResourcesForActivity (ComponentName activityName)

Since: API Level 1

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 can not be found, NameNotFoundException is thrown.

Parameters
activityName Name of the activity whose resources are to be retrieved.
Returns
  • Returns the application's Resources.
Throws
PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

public abstract Resources getResourcesForApplication (String appPackageName)

Since: API Level 1

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 can not be found, NameNotFoundException is thrown.

Parameters
appPackageName Package name of the application whose resources are to be retrieved.
Returns
  • Returns the application's Resources.
Throws
PackageManager.NameNotFoundException Thrown if the resources for the given application could not be loaded.

public abstract Resources getResourcesForApplication (ApplicationInfo app)

Since: API Level 1

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

Parameters
app Information about the desired application.
Returns
  • 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).

public abstract ServiceInfo getServiceInfo (ComponentName component, int flags)

Since: API Level 1

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

Throws PackageManager.NameNotFoundException if a service with the given class name can not be found on the system.

Parameters
component The full component name (i.e. com.google.apps.media/com.google.apps.media.BackgroundPlayback) of a Service class.
flags Additional option flags. Use any combination of GET_META_DATA, GET_SHARED_LIBRARY_FILES, to modify the data returned.
Returns
  • ServiceInfo containing information about the service.

public abstract FeatureInfo[] getSystemAvailableFeatures ()

Since: API Level 5

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

Returns
  • An array of FeatureInfo classes describing the features that are available on the system, or null if there are none(!!).

public abstract String[] getSystemSharedLibraryNames ()

Since: API Level 3

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

Returns
  • An array of shared library names that are available on the system, or null if none are installed.

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

Since: API Level 1

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 The name of the package that this text is coming from. Can not be null.
resid The resource identifier of the desired text. Can not be 0.
appInfo 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
  • Returns a CharSequence holding the requested text. Returns null if the text could not be found for any reason.

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

Since: API Level 1

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

Parameters
packageName The name of the package that this xml is coming from. Can not be null.
resid The resource identifier of the desired xml. Can not be 0.
appInfo 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
  • Returns an XmlPullParser allowing you to parse out the XML data. Returns null if the xml resource could not be found for any reason.

public abstract boolean hasSystemFeature (String name)

Since: API Level 5

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

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

public abstract boolean isSafeMode ()

Since: API Level 3

Return whether the device has been booted into safe mode.

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

Since: API Level 1

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

Parameters
intent The desired intent as per resolveActivity().
flags Additional option flags.
Returns
  • A List<ResolveInfo> containing one entry for each matching Receiver. These are ordered from first to last in priority. If there are no matching receivers, an empty list is returned.

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

Since: API Level 1

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 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 If processName is non-null, this is the required uid owning the requested content providers.
flags Additional option flags. Currently should always be 0.
Returns
  • A List<ContentProviderInfo> containing one entry for each content provider either patching processName or, if processName is null, all known content providers. If there are no matching providers, null is returned.

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

Since: API Level 1

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 If null, all instrumentation is returned; only the instrumentation targeting this package name is returned.
flags Additional option flags. Currently should always be 0.
Returns
  • A List<InstrumentationInfo> containing one entry for each matching available Instrumentation. Returns an empty list if there is no instrumentation available for the given package.

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

Since: API Level 1

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

Parameters
intent The desired intent as per resolveActivity().
flags Additional option flags. The most important is MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the CATEGORY_DEFAULT.
Returns
  • A List<ResolveInfo> containing one entry for each matching Activity. These are ordered from best to worst match -- that is, the first item in the list is what is returned by resolveActivity(Intent, int). If there are no matching activities, an empty list is returned.

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

Since: API Level 1

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 The class name of the activity that is making the request. This activity will never appear in the output list. Can be null.
specifics An array of Intents that should be resolved to the first specific results. Can be null.
intent The desired intent as per resolveActivity().
flags Additional option flags. The most important is MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the CATEGORY_DEFAULT.
Returns
  • A List<ResolveInfo> containing one entry for each matching Activity. These are 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.

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

Since: API Level 1

Retrieve all services that can match the given intent.

Parameters
intent The desired intent as per resolveService().
flags Additional option flags.
Returns
  • A List<ResolveInfo> containing one entry for each matching ServiceInfo. These are ordered from best to worst match -- that is, the first item in the list is what is returned by resolveService(). If there are no matching services, an empty list is returned.

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

Since: API Level 1

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

Throws PackageManager.NameNotFoundException if the given group does not exist.

Parameters
group 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 Additional option flags. Use GET_META_DATA to retrieve any meta-data associated with the permissions.
Returns
  • Returns a list of PermissionInfo containing information about all of the permissions in the given group.

public abstract void removePackageFromPreferred (String packageName)

Since: API Level 1

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

public abstract void removePermission (String name)

Since: API Level 1

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 The name of the permission to remove.
Throws
SecurityException if you are not allowed to remove the given permission name.

public abstract ResolveInfo resolveActivity (Intent intent, int flags)

Since: API Level 1

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 An intent containing all of the desired specification (action, data, type, category, and/or component).
flags Additional option flags. The most important is MATCH_DEFAULT_ONLY, to limit the resolution to only those activities that support the CATEGORY_DEFAULT.
Returns
  • Returns a ResolveInfo 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 containing something else, such as the activity resolver.

public abstract ProviderInfo resolveContentProvider (String name, int flags)

Since: API Level 1

Find a single content provider by its base path name.

Parameters
name The name of the provider to find.
flags Additional option flags. Currently should always be 0.
Returns
  • ContentProviderInfo Information about the provider, if found, else null.

public abstract ResolveInfo resolveService (Intent intent, int flags)

Since: API Level 1

Determine the best service to handle for a given Intent.

Parameters
intent An intent containing all of the desired specification (action, data, type, category, and/or component).
flags Additional option flags.
Returns
  • Returns a ResolveInfo containing the final service intent that was determined to be the best action. Returns null if no matching service was found.

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

Since: API Level 1

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 The package name of the application to enable
newState 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 Optional behavior flags: DONT_KILL_APP or 0.

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

Since: API Level 1

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 The component to enable
newState 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 Optional behavior flags: DONT_KILL_APP or 0.

public abstract void setInstallerPackageName (String targetPackage, String installerPackageName)

Since: API Level 11

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 The installed package whose installer will be changed.
installerPackageName The package name of the new installer. May be null to clear the association.