Android
android.content.pm
public abstract class

android.content.pm.PackageManager

java.lang.Object
android.content.pm.PackageManager

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

Nested Classes
PackageManager.NameNotFoundException This exception is thrown when a given package, application, or component name can not be found. 

Summary

Constants

      Value  
int  COMPONENT_ENABLED_STATE_DEFAULT    0x00000000 
int  COMPONENT_ENABLED_STATE_DISABLED    0x00000002 
int  COMPONENT_ENABLED_STATE_ENABLED    0x00000001 
int  DONT_DELETE_DATA  Flag parameter for deletePackage(String, IPackageDeleteObserver, int) to indicate that you don't want to delete the package's data directory.  0x00000001 
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.  0x00000001 
int  FORWARD_LOCK_PACKAGE  Flag parameter for installPackage(android.net.Uri, IPackageInstallObserver, int) to indicate that this package should be installed as forward locked, i.e.  0x00000001 
int  GET_ACTIVITIES  PackageInfo flag: return information about activities in the package in activities 0x00000001 
int  GET_DISABLED_COMPONENTS  PackageInfo flag: include disabled components in the returned info.  512  0x00000200 
int  GET_GIDS  PackageInfo flag: return the group ids that are associated with an application.  256  0x00000100 
int  GET_INSTRUMENTATION  PackageInfo flag: return information about instrumentation in the package in instrumentation 16  0x00000010 
int  GET_INTENT_FILTERS  PackageInfo flag: return information about the intent filters supported by the activity.  32  0x00000020 
int  GET_META_DATA  ComponentInfo flag: return the metaData data Bundles that are associated with a component.  128  0x00000080 
int  GET_PERMISSIONS  PackageInfo flag: return information about permissions in the package in permissions 4096  0x00001000 
int  GET_PROVIDERS  PackageInfo flag: return information about content providers in the package in providers 0x00000008 
int  GET_RECEIVERS  PackageInfo flag: return information about intent receivers in the package in receivers 0x00000002 
int  GET_RESOLVED_FILTER  ResolveInfo flag: return the IntentFilter that was matched for a particular ResolveInfo in filter 64  0x00000040 
int  GET_SERVICES  PackageInfo flag: return information about services in the package in services 0x00000004 
int  GET_SHARED_LIBRARY_FILES  ApplicationInfo flag: return the paths to the shared libraries that are associated with an application.  1024  0x00000400 
int  GET_SIGNATURES  PackageInfo flag: return information about the signatures included in the package.  64  0x00000040 
int  GET_URI_PERMISSION_PATTERNS  ProviderInfo flag: return the URI permission patterns that are associated with a content provider.  2048  0x00000800 
int  INSTALL_FAILED_ALREADY_EXISTS  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the package is already installed.  -1  0xffffffff 
int  INSTALL_FAILED_DEXOPT  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the new package failed while optimizing and validating its dex files, either because there was not enough storage or the validation failed.  -11  0xfffffff5 
int  INSTALL_FAILED_DUPLICATE_PACKAGE  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if a package is already installed with the same name.  -5  0xfffffffb 
int  INSTALL_FAILED_INSUFFICIENT_STORAGE  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the package manager service found that the device didn't have enough storage space to install the app   -4  0xfffffffc 
int  INSTALL_FAILED_INVALID_APK  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the package archive file is invalid.  -2  0xfffffffe 
int  INSTALL_FAILED_INVALID_URI  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the URI passed in is invalid.  -3  0xfffffffd 
int  INSTALL_FAILED_MISSING_SHARED_LIBRARY  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the new package uses a shared library that is not available.  -9  0xfffffff7 
int  INSTALL_FAILED_NO_SHARED_USER  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the requested shared user does not exist.  -6  0xfffffffa 
int  INSTALL_FAILED_OLDER_SDK  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the new package failed because the current SDK version is older than that required by the package.  -12  0xfffffff4 
int  INSTALL_FAILED_REPLACE_COULDNT_DELETE  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the new package uses a shared library that is not available.  -10  0xfffffff6 
int  INSTALL_FAILED_SHARED_USER_INCOMPATIBLE  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the new package is requested a shared user which is already installed on the device and does not have matching signature.  -8  0xfffffff8 
int  INSTALL_FAILED_UPDATE_INCOMPATIBLE  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if a previously installed package of the same name has a different signature than the new package (and the old package's data was not removed).  -7  0xfffffff9 
int  INSTALL_PARSE_FAILED_BAD_MANIFEST  Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser was unable to retrieve the AndroidManifest.xml file.  -101  0xffffff9b 
int  INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME  Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser encountered a bad or missing package name in the manifest.  -106  0xffffff96 
int  INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID  Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser encountered a bad shared user id name in the manifest.  -107  0xffffff95 
int  INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING  Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser encountered a CertificateEncodingException in one of the files in the .apk.  -105  0xffffff97 
int  INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES  Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser found inconsistent certificates on the files in the .apk.  -104  0xffffff98 
int  INSTALL_PARSE_FAILED_MANIFEST_EMPTY  Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser did not find any actionable tags (instrumentation or application) in the manifest.  -109  0xffffff93 
int  INSTALL_PARSE_FAILED_MANIFEST_MALFORMED  Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser encountered some structural problem in the manifest.  -108  0xffffff94 
int  INSTALL_PARSE_FAILED_NOT_APK  Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser was given a path that is not a file, or does not end with the expected '.apk' extension.  -100  0xffffff9c 
int  INSTALL_PARSE_FAILED_NO_CERTIFICATES  Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser did not find any certificates in the .apk.  -103  0xffffff99 
int  INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION  Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser encountered an unexpected exception.  -102  0xffffff9a 
int  INSTALL_SUCCEEDED  Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) on success.  0x00000001 
int  MATCH_DEFAULT_ONLY  Resolution and querying flag: if set, only filters that support the CATEGORY_DEFAULT will be considered for matching.  65536  0x00010000 
int  PERMISSION_DENIED  Permission check result: this is returned by checkPermission(String, String) if the permission has not been granted to the given package.  -1  0xffffffff 
int  PERMISSION_GRANTED  Permission check result: this is returned by checkPermission(String, String) if the permission has been granted to the given package.  0x00000000 
int  PKG_INSTALL_COMPLETE    0x00000001 
int  PKG_INSTALL_INCOMPLETE  Indicates the state of installation.  0x00000000 
int  REPLACE_EXISTING_PACKAGE  Flag parameter for installPackage(Uri) to indicate that you want to replace an already installed package, if one exists   0x00000002 
int  SIGNATURE_FIRST_NOT_SIGNED  Signature check result: this is returned by checkSignatures(String, String) if the first package is not signed, but the second is.  -1  0xffffffff 
int  SIGNATURE_MATCH  Signature check result: this is returned by checkSignatures(String, String) if the two packages have a matching signature.  0x00000000 
int  SIGNATURE_NEITHER_SIGNED  Signature check result: this is returned by checkSignatures(String, String) if neither of the two packages is signed.  0x00000001 
int  SIGNATURE_NO_MATCH  Signature check result: this is returned by checkSignatures(String, String) if both packages are signed but there is no matching signature.  -3  0xfffffffd 
int  SIGNATURE_SECOND_NOT_SIGNED  Signature check result: this is returned by checkSignatures(String, String) if the second package is not signed, but the first is.  -2  0xfffffffe 
int  SIGNATURE_UNKNOWN_PACKAGE  Signature check result: this is returned by checkSignatures(String, String) if either of the given package names are not valid.  -4  0xfffffffc 

Public Constructors

            PackageManager()

Public Methods

abstract          void  addPackageToPreferred(String packageName)
Add a new package to the list of preferred packages.
abstract          boolean  addPermission(PermissionInfo info)
Add a new dynamic permission to the system.
abstract          void  addPreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity)
Add a new preferred activity mapping to the system.
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          void  clearApplicationUserData(String packageName, IPackageDataObserver observer)
Attempts to clear the user data directory of an application.
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          void  deleteApplicationCacheFiles(String packageName, IPackageDataObserver observer)
Attempts to delete the cache files associated with an application.
abstract          void  deletePackage(String packageName, IPackageDeleteObserver observer, int flags)
Attempts to delete a package.
abstract          void  freeApplicationCache(long freeStorageSize, IPackageDataObserver observer)
Free storage by deleting LRU sorted list of cache files across all applications.
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 className, int flags)
Retrieve all of the information we know about a particular activity class.
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          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          InstrumentationInfo  getInstrumentationInfo(ComponentName className, int flags)
Retrieve all of the information we know about a particular instrumentation class.
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          void  getPackageSizeInfo(String packageName, IPackageStatsObserver observer)
Attempts to delete the cache files associated with an application.
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          ActivityInfo  getReceiverInfo(ComponentName className, 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(ApplicationInfo app)
Retrieve the resources for an application.
abstract          Resources  getResourcesForApplication(String appPackageName)
Retrieve the resources associated with an application.
abstract          ServiceInfo  getServiceInfo(ComponentName className, int flags)
Retrieve all of the information we know about a particular service class.
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          void  installPackage(Uri packageURI, IPackageInstallObserver observer, int flags)
Install a package.
          void  installPackage(Uri packageURI)
Install a package.
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)
Remove a package from the list of preferred packages.
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).
Methods inherited from class java.lang.Object

Details

Constants

public static final int COMPONENT_ENABLED_STATE_DEFAULT

Constant Value: 0 (0x00000000)

public static final int COMPONENT_ENABLED_STATE_DISABLED

Constant Value: 2 (0x00000002)

public static final int COMPONENT_ENABLED_STATE_ENABLED

Constant Value: 1 (0x00000001)

public static final int DONT_DELETE_DATA

Flag parameter for deletePackage(String, IPackageDeleteObserver, int) to indicate that you don't want to delete the package's data directory.
Constant Value: 1 (0x00000001)

public static final 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)

public static final int FORWARD_LOCK_PACKAGE

Flag parameter for installPackage(android.net.Uri, IPackageInstallObserver, int) to indicate that this package should be installed as forward locked, i.e. only the app itself should have access to it's code and non-resource assets.
Constant Value: 1 (0x00000001)

public static final int GET_ACTIVITIES

PackageInfo flag: return information about activities in the package in activities.
Constant Value: 1 (0x00000001)

public static final int GET_DISABLED_COMPONENTS

PackageInfo flag: include disabled components in the returned info.
Constant Value: 512 (0x00000200)

public static final int GET_GIDS

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

PackageInfo flag: return information about instrumentation in the package in instrumentation.
Constant Value: 16 (0x00000010)

public static final int GET_INTENT_FILTERS

PackageInfo flag: return information about the intent filters supported by the activity.
Constant Value: 32 (0x00000020)

public static final 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)

public static final int GET_PERMISSIONS

PackageInfo flag: return information about permissions in the package in permissions.
Constant Value: 4096 (0x00001000)

public static final int GET_PROVIDERS

PackageInfo flag: return information about content providers in the package in providers.
Constant Value: 8 (0x00000008)

public static final int GET_RECEIVERS

PackageInfo flag: return information about intent receivers in the package in receivers.
Constant Value: 2 (0x00000002)

public static final int GET_RESOLVED_FILTER

ResolveInfo flag: return the IntentFilter that was matched for a particular ResolveInfo in filter.
Constant Value: 64 (0x00000040)

public static final int GET_SERVICES

PackageInfo flag: return information about services in the package in services.
Constant Value: 4 (0x00000004)

public static final 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)

public static final int GET_SIGNATURES

PackageInfo flag: return information about the signatures included in the package.
Constant Value: 64 (0x00000040)

public static final 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 an ProviderInfo class, either directly or nested inside of another.
Constant Value: 2048 (0x00000800)

public static final int INSTALL_FAILED_ALREADY_EXISTS

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the package is already installed.
Constant Value: -1 (0xffffffff)

public static final int INSTALL_FAILED_DEXOPT

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the new package failed while optimizing and validating its dex files, either because there was not enough storage or the validation failed.
Constant Value: -11 (0xfffffff5)

public static final int INSTALL_FAILED_DUPLICATE_PACKAGE

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if a package is already installed with the same name.
Constant Value: -5 (0xfffffffb)

public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the package manager service found that the device didn't have enough storage space to install the app
Constant Value: -4 (0xfffffffc)

public static final int INSTALL_FAILED_INVALID_APK

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the package archive file is invalid.
Constant Value: -2 (0xfffffffe)

public static final int INSTALL_FAILED_INVALID_URI

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the URI passed in is invalid.
Constant Value: -3 (0xfffffffd)

public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the new package uses a shared library that is not available.
Constant Value: -9 (0xfffffff7)

public static final int INSTALL_FAILED_NO_SHARED_USER

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the requested shared user does not exist.
Constant Value: -6 (0xfffffffa)

public static final int INSTALL_FAILED_OLDER_SDK

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the new package failed because the current SDK version is older than that required by the package.
Constant Value: -12 (0xfffffff4)

public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the new package uses a shared library that is not available.
Constant Value: -10 (0xfffffff6)

public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the new package is requested a shared user which is already installed on the device and does not have matching signature.
Constant Value: -8 (0xfffffff8)

public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if a previously installed package of the same name has a different signature than the new package (and the old package's data was not removed).
Constant Value: -7 (0xfffffff9)

public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST

Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser was unable to retrieve the AndroidManifest.xml file.
Constant Value: -101 (0xffffff9b)

public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME

Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser encountered a bad or missing package name in the manifest.
Constant Value: -106 (0xffffff96)

public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID

Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser encountered a bad shared user id name in the manifest.
Constant Value: -107 (0xffffff95)

public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING

Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser encountered a CertificateEncodingException in one of the files in the .apk.
Constant Value: -105 (0xffffff97)

public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES

Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser found inconsistent certificates on the files in the .apk.
Constant Value: -104 (0xffffff98)

public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY

Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser did not find any actionable tags (instrumentation or application) in the manifest.
Constant Value: -109 (0xffffff93)

public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser encountered some structural problem in the manifest.
Constant Value: -108 (0xffffff94)

public static final int INSTALL_PARSE_FAILED_NOT_APK

Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser was given a path that is not a file, or does not end with the expected '.apk' extension.
Constant Value: -100 (0xffffff9c)

public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES

Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser did not find any certificates in the .apk.
Constant Value: -103 (0xffffff99)

public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION

Installation parse return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) if the parser encountered an unexpected exception.
Constant Value: -102 (0xffffff9a)

public static final int INSTALL_SUCCEEDED

Installation return code: this is passed to the IPackageInstallObserver by installPackage(android.net.Uri, IPackageInstallObserver, int) on success.
Constant Value: 1 (0x00000001)

public static final 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)

public static final 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)

public static final 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)

public static final int PKG_INSTALL_COMPLETE

Constant Value: 1 (0x00000001)

public static final int PKG_INSTALL_INCOMPLETE

Indicates the state of installation. Used by PackageManager to figure out incomplete installations. Say a package is being installed (the state is set to PKG_INSTALL_INCOMPLETE) and remains so till the package installation is successful or unsuccesful lin which case the PackageManager will no longer maintain state information associated with the package. If some exception(like device freeze or battery being pulled out) occurs during installation of a package, the PackageManager needs this information to clean up the previously failed installation.
Constant Value: 0 (0x00000000)

public static final int REPLACE_EXISTING_PACKAGE

Flag parameter for installPackage(Uri) to indicate that you want to replace an already installed package, if one exists
Constant Value: 2 (0x00000002)

public static final int SIGNATURE_FIRST_NOT_SIGNED

Signature check result: this is returned by checkSignatures(String, String) if the first package is not signed, but the second is.
Constant Value: -1 (0xffffffff)

public static final int SIGNATURE_MATCH

Signature check result: this is returned by checkSignatures(String, String) if the two packages have a matching signature.
Constant Value: 0 (0x00000000)

public static final int SIGNATURE_NEITHER_SIGNED

Signature check result: this is returned by checkSignatures(String, String) if neither of the two packages is signed.
Constant Value: 1 (0x00000001)

public static final int SIGNATURE_NO_MATCH

Signature check result: this is returned by checkSignatures(String, String) if both packages are signed but there is no matching signature.
Constant Value: -3 (0xfffffffd)

public static final int SIGNATURE_SECOND_NOT_SIGNED

Signature check result: this is returned by checkSignatures(String, String) if the second package is not signed, but the first is.
Constant Value: -2 (0xfffffffe)

public static final int SIGNATURE_UNKNOWN_PACKAGE

Signature check result: this is returned by checkSignatures(String, String) if either of the given package names are not valid.
Constant Value: -4 (0xfffffffc)

Public Constructors

public PackageManager()

Public Methods

public abstract void addPackageToPreferred(String packageName)

Add a new package to the list of preferred packages. This new package will be added to the front of the list (removed from its current location if already listed), meaning it will now be preferred over all other packages when resolving conflicts.

Parameters

packageName The package name of the new package to make preferred.

public abstract 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 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 void addPreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity)

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 int checkPermission(String permName, String pkgName)

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

Returns

public abstract void clearApplicationUserData(String packageName, IPackageDataObserver observer)

Attempts to clear the user data directory of an application. Since this may take a little while, the result will be posted back to the given observer. A deletion will fail if the named package cannot be found, or if the named package is a "system package".

Parameters

packageName The name of the package
observer An observer callback to get notified when the operation is finished onRemoveCompleted(String, boolean) will be called when that happens. observer may be null to indicate that no callback is desired.

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

Parameters

packageName The name of the package whose preferred activity mappings are to be removed.

public abstract void deleteApplicationCacheFiles(String packageName, IPackageDataObserver observer)

Attempts to delete the cache files associated with an application. Since this may take a little while, the result will be posted back to the given observer. A deletion will fail if the calling context lacks the DELETE_CACHE_FILES permission, if the named package cannot be found, or if the named package is a "system package".

Parameters

packageName The name of the package to delete
observer An observer callback to get notified when the cache file deletion is complete. onRemoveCompleted(String, boolean) will be called when that happens. observer may be null to indicate that no callback is desired.

public abstract void deletePackage(String packageName, IPackageDeleteObserver observer, int flags)

Attempts to delete a package. Since this may take a little while, the result will be posted back to the given observer. A deletion will fail if the calling context lacks the DELETE_PACKAGES permission, if the named package cannot be found, or if the named package is a "system package". (TODO: include pointer to documentation on "system packages")

Parameters

packageName The name of the package to delete
observer An observer callback to get notified when the package deletion is complete. packageDeleted(boolean) will be called when that happens. observer may be null to indicate that no callback is desired.
flags - possible values: DONT_DELETE_DATA

public abstract void freeApplicationCache(long freeStorageSize, IPackageDataObserver observer)

Free storage by deleting LRU sorted list of cache files across all applications. If the currently available free storage on the device is greater than or equal to the requested free storage, no cache files are cleared. If the currently available storage on the device is less than the requested free storage, some or all of the cache files across all applications are deleted(based on last accessed time) to increase the free storage space on the device to the requested value. There is no gurantee that clearing all the cache files from all applications will clear up enough storage to achieve the desired value.

Parameters

freeStorageSize The number of bytes of storage to be freed by the system. Say if freeStorageSize is XX, and the current free storage is YY, if XX is less than YY, just return. if not free XX-YY number of bytes if possible.
observer callback used to notify when the operation is completed onRemoveCompleted(String, boolean) will be called when that happens. observer may be null to indicate that no callback is desired.

public abstract 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() 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)

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 className, int flags)

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

className The full name (i.e. com.google.apps.contacts.ContactsList) of an Activity class.
flags Additional option flags. Usually 0.

Returns

public abstract List<PermissionGroupInfo> getAllPermissionGroups(int flags)

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)

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)

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)

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)

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. Currently should always be 0.

Returns

public abstract CharSequence getApplicationLabel(ApplicationInfo info)

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 int getComponentEnabledSetting(ComponentName componentName)

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

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)

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)

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

Parameters

flags Additional option flags. Currently should always be 0.

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.

public abstract List<PackageInfo> getInstalledPackages(int flags)

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

Parameters

flags Optional flags to control what information is returned. If 0, none of the optional information is 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.

public abstract InstrumentationInfo getInstrumentationInfo(ComponentName className, int flags)

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

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)

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

Parameters

archiveFilePath The path to the archive file
flags Optional flags to control what information is returned. If 0, none of the optional information is returned.

Returns

  • Returns the information about the package. Returns null if the package could not be successfully parsed.

public abstract int[] getPackageGids(String packageName)

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)

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 Optional flags to control what information is returned. If 0, none of the optional information is returned.

Returns

  • Returns a PackageInfo containing information about the package.

public abstract void getPackageSizeInfo(String packageName, IPackageStatsObserver observer)

Attempts to delete the cache files associated with an application. Since this may take a little while, the result will be posted back to the given observer. A deletion will fail if the calling context lacks the DELETE_CACHE_FILES permission, if the named package cannot be found, or if the named package is a "system package".

Parameters

packageName The name of the package to delete
observer An observer callback to get notified when the cache file deletion is complete. onRemoveCompleted(String, boolean) will be called when that happens. observer may be null to indicate that no callback is desired.

public abstract 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 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)

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)

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)

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)

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 Optional flags to control what information is returned. If 0, none of the optional information is returned.

Returns

  • Returns a list of PackageInfo objects describing each preferred application, in order of preference.

public abstract ActivityInfo getReceiverInfo(ComponentName className, int flags)

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

className The full name (i.e. com.google.apps.contacts.CalendarAlarm) of a Receiver class.
flags Additional option flags. Usually 0.

Returns

public abstract 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 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(ApplicationInfo app)

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 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 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 ServiceInfo getServiceInfo(ComponentName className, int flags)

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

className The full name (i.e. com.google.apps.media.BackgroundPlayback) of a Service class.
flags Additional option flags. Currently should always be 0.

Returns

  • ServiceInfo containing information about the service.

public abstract 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 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)

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 void installPackage(Uri packageURI, IPackageInstallObserver observer, int flags)

Install a package. Since this may take a little while, the result will be posted back to the given observer. An installation will fail if the calling context lacks the INSTALL_PACKAGES permission, if the package named in the package file's manifest is already installed, or if there's no space available on the device.

Parameters

packageURI The location of the package file to install. This can be a 'file:' or a 'content:' URI.
observer An observer callback to get notified when the package installation is complete. packageInstalled(String, int) will be called when that happens. observer may be null to indicate that no callback is desired.
flags - possible values: FORWARD_LOCK_PACKAGE, REPLACE_EXISTING_PACKAGE

public void installPackage(Uri packageURI)

Install a package.

Parameters

packageURI The location of the package file to install

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

Retrieve all receivers that can handle a broadcast of 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 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)

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

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

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 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(). If there are no matching activities, an empty list is returned.

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

Retrieve all services that can match the given intent.

Parameters

intent The desired intent as per resolveService().
flags Additional option flags.

Returns

  • A List 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)

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)

Remove a package from the list of preferred packages. If it was on the list, it will no longer be preferred over other packages.

Parameters

packageName The package name to remove.

public abstract 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 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)

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.

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.

public abstract ProviderInfo resolveContentProvider(String name, int flags)

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)

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)

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)

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.
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:48