Build 1.0_r1(from source)

android.app
Class ApplicationContext.ApplicationPackageManager

java.lang.Object
  extended by android.content.pm.PackageManager
      extended by android.app.ApplicationContext.ApplicationPackageManager
Enclosing class:
ApplicationContext

static final class ApplicationContext.ApplicationPackageManager
extends PackageManager


Nested Class Summary
 
Nested classes/interfaces inherited from class android.content.pm.PackageManager
PackageManager.NameNotFoundException
 
Field Summary
 
Fields inherited from class android.content.pm.PackageManager
COMPONENT_ENABLED_STATE_DEFAULT, COMPONENT_ENABLED_STATE_DISABLED, COMPONENT_ENABLED_STATE_ENABLED, DONT_DELETE_DATA, DONT_KILL_APP, FORWARD_LOCK_PACKAGE, GET_ACTIVITIES, GET_DISABLED_COMPONENTS, GET_GIDS, GET_INSTRUMENTATION, GET_INTENT_FILTERS, GET_META_DATA, GET_PERMISSIONS, GET_PROVIDERS, GET_RECEIVERS, GET_RESOLVED_FILTER, GET_SERVICES, GET_SHARED_LIBRARY_FILES, GET_SIGNATURES, GET_URI_PERMISSION_PATTERNS, INSTALL_FAILED_ALREADY_EXISTS, INSTALL_FAILED_DEXOPT, INSTALL_FAILED_DUPLICATE_PACKAGE, INSTALL_FAILED_INSUFFICIENT_STORAGE, INSTALL_FAILED_INVALID_APK, INSTALL_FAILED_INVALID_URI, INSTALL_FAILED_MISSING_SHARED_LIBRARY, INSTALL_FAILED_NO_SHARED_USER, INSTALL_FAILED_OLDER_SDK, INSTALL_FAILED_REPLACE_COULDNT_DELETE, INSTALL_FAILED_SHARED_USER_INCOMPATIBLE, INSTALL_FAILED_UPDATE_INCOMPATIBLE, INSTALL_PARSE_FAILED_BAD_MANIFEST, INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME, INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID, INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING, INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES, INSTALL_PARSE_FAILED_MANIFEST_EMPTY, INSTALL_PARSE_FAILED_MANIFEST_MALFORMED, INSTALL_PARSE_FAILED_NO_CERTIFICATES, INSTALL_PARSE_FAILED_NOT_APK, INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION, INSTALL_SUCCEEDED, MATCH_DEFAULT_ONLY, PERMISSION_DENIED, PERMISSION_GRANTED, PKG_INSTALL_COMPLETE, PKG_INSTALL_INCOMPLETE, REPLACE_EXISTING_PACKAGE, SIGNATURE_FIRST_NOT_SIGNED, SIGNATURE_MATCH, SIGNATURE_NEITHER_SIGNED, SIGNATURE_NO_MATCH, SIGNATURE_SECOND_NOT_SIGNED, SIGNATURE_UNKNOWN_PACKAGE
 
Constructor Summary
ApplicationContext.ApplicationPackageManager(ApplicationContext context, IPackageManager pm)
           
 
Method Summary
 void addPackageToPreferred(String packageName)
          Add a new package to the list of preferred packages.
 boolean addPermission(PermissionInfo info)
          Add a new dynamic permission to the system.
 void addPreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity)
          Add a new preferred activity mapping to the system.
 int checkPermission(String permName, String pkgName)
          Check whether a particular package has been granted a particular permission.
 int checkSignatures(String pkg1, String pkg2)
          Compare the signatures of two packages to determine if the same signature appears in both of them.
 void clearApplicationUserData(String packageName, IPackageDataObserver observer)
          Attempts to clear the user data directory of an application.
 void clearPackagePreferredActivities(String packageName)
          Remove all preferred activity mappings, previously added with PackageManager.addPreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName), from the system whose activities are implemented in the given package name.
(package private) static void configurationChanged()
           
 void deleteApplicationCacheFiles(String packageName, IPackageDataObserver observer)
          Attempts to delete the cache files associated with an application.
 void deletePackage(String packageName, IPackageDeleteObserver observer, int flags)
          Attempts to delete a package.
 void freeApplicationCache(long idealStorageSize, IPackageDataObserver observer)
          Free storage by deleting LRU sorted list of cache files across all applications.
 Drawable getActivityIcon(ComponentName activityName)
          Retrieve the icon associated with an activity.
 Drawable getActivityIcon(Intent intent)
          Retrieve the icon associated with an Intent.
 ActivityInfo getActivityInfo(ComponentName className, int flags)
          Retrieve all of the information we know about a particular activity class.
 List<PermissionGroupInfo> getAllPermissionGroups(int flags)
          Retrieve all of the known permission groups in the system.
 int getApplicationEnabledSetting(String packageName)
          Return the the enabled setting for an application.
 Drawable getApplicationIcon(ApplicationInfo info)
          Retrieve the icon associated with an application.
 Drawable getApplicationIcon(String packageName)
          Retrieve the icon associated with an application.
 ApplicationInfo getApplicationInfo(String packageName, int flags)
          Retrieve all of the information we know about a particular package/application.
 CharSequence getApplicationLabel(ApplicationInfo info)
          Return the label to use for this application.
 int getComponentEnabledSetting(ComponentName componentName)
          Return the the enabled setting for a package component (activity, receiver, service, provider).
 Drawable getDefaultActivityIcon()
          Return the generic icon for an activity that is used when no specific icon is defined.
 Drawable getDrawable(String packageName, int resid, ApplicationInfo appInfo)
          Retrieve an image from a package.
 List<ApplicationInfo> getInstalledApplications(int flags)
          Return a List of all application packages that are installed on the device.
 List<PackageInfo> getInstalledPackages(int flags)
          Return a List of all packages that are installed on the device.
 InstrumentationInfo getInstrumentationInfo(ComponentName className, int flags)
          Retrieve all of the information we know about a particular instrumentation class.
 String getNameForUid(int uid)
          Retrieve the official name associated with a user id.
 int[] getPackageGids(String packageName)
          Return an array of all of the secondary group-ids that have been assigned to a package.
 PackageInfo getPackageInfo(String packageName, int flags)
          Retrieve overall information about an application package that is installed on the system.
 String[] getPackagesForUid(int uid)
          Retrieve the names of all packages that are associated with a particular user id.
 void getPackageSizeInfo(String packageName, IPackageStatsObserver observer)
          Retrieve the size information for a package.
 PermissionGroupInfo getPermissionGroupInfo(String name, int flags)
          Retrieve all of the information we know about a particular group of permissions.
 PermissionInfo getPermissionInfo(String name, int flags)
          Retrieve all of the information we know about a particular permission.
 int getPreferredActivities(List<IntentFilter> outFilters, List<ComponentName> outActivities, String packageName)
          Retrieve all preferred activities, previously added with PackageManager.addPreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName), that are currently registered with the system.
 List<PackageInfo> getPreferredPackages(int flags)
          Retrieve the list of all currently configured preferred packages.
 ActivityInfo getReceiverInfo(ComponentName className, int flags)
          Retrieve all of the information we know about a particular receiver class.
 Resources getResourcesForActivity(ComponentName activityName)
          Retrieve the resources associated with an activity.
 Resources getResourcesForApplication(ApplicationInfo app)
          Retrieve the resources for an application.
 Resources getResourcesForApplication(String appPackageName)
          Retrieve the resources associated with an application.
 ServiceInfo getServiceInfo(ComponentName className, int flags)
          Retrieve all of the information we know about a particular service class.
 CharSequence getText(String packageName, int resid, ApplicationInfo appInfo)
          Retrieve text from a package.
 XmlResourceParser getXml(String packageName, int resid, ApplicationInfo appInfo)
          Retrieve an XML file from a package.
 void installPackage(Uri packageURI, IPackageInstallObserver observer, int flags)
          Install a package.
 List<ResolveInfo> queryBroadcastReceivers(Intent intent, int flags)
          Retrieve all receivers that can handle a broadcast of the given intent.
 List<ProviderInfo> queryContentProviders(String processName, int uid, int flags)
          Retrieve content provider information.
 List<InstrumentationInfo> queryInstrumentation(String targetPackage, int flags)
          Retrieve information about available instrumentation code.
 List<ResolveInfo> queryIntentActivities(Intent intent, int flags)
          Retrieve all activities that can be performed for the given intent.
 List<ResolveInfo> queryIntentActivityOptions(ComponentName caller, Intent[] specifics, Intent intent, int flags)
          Retrieve a set of activities that should be presented to the user as similar options.
 List<ResolveInfo> queryIntentServices(Intent intent, int flags)
          Retrieve all services that can match the given intent.
 List<PermissionInfo> queryPermissionsByGroup(String group, int flags)
          Query for all of the permissions associated with a particular group.
 void removePackageFromPreferred(String packageName)
          Remove a package from the list of preferred packages.
 void removePermission(String name)
          Removes a permission that was previously added with PackageManager.addPermission(PermissionInfo).
 ResolveInfo resolveActivity(Intent intent, int flags)
          Determine the best action to perform for a given Intent.
 ProviderInfo resolveContentProvider(String name, int flags)
          Find a single content provider by its base path name.
 ResolveInfo resolveService(Intent intent, int flags)
          Determine the best service to handle for a given Intent.
 void setApplicationEnabledSetting(String packageName, int newState, int flags)
          Set the enabled setting for an application This setting will override any enabled state which may have been set by the application in its manifest.
 void setComponentEnabledSetting(ComponentName componentName, int newState, int flags)
          Set the enabled setting for a package component (activity, receiver, service, provider).
 
Methods inherited from class android.content.pm.PackageManager
getPackageArchiveInfo, installPackage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ApplicationContext.ApplicationPackageManager

ApplicationContext.ApplicationPackageManager(ApplicationContext context,
                                             IPackageManager pm)
Method Detail

getPackageInfo

public PackageInfo getPackageInfo(String packageName,
                                  int flags)
                           throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getPackageInfo in class PackageManager
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.
Throws:
PackageManager.NameNotFoundException
See Also:
PackageManager.GET_ACTIVITIES, PackageManager.GET_RECEIVERS, PackageManager.GET_SERVICES, PackageManager.GET_INSTRUMENTATION, PackageManager.GET_SIGNATURES

getPackageGids

public int[] getPackageGids(String packageName)
                     throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getPackageGids in class PackageManager
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.
Throws:
PackageManager.NameNotFoundException

getPermissionInfo

public PermissionInfo getPermissionInfo(String name,
                                        int flags)
                                 throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

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

queryPermissionsByGroup

public List<PermissionInfo> queryPermissionsByGroup(String group,
                                                    int flags)
                                             throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
Query for all of the permissions associated with a particular group.

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

Specified by:
queryPermissionsByGroup in class PackageManager
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 PackageManager.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.
Throws:
PackageManager.NameNotFoundException

getPermissionGroupInfo

public PermissionGroupInfo getPermissionGroupInfo(String name,
                                                  int flags)
                                           throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getPermissionGroupInfo in class PackageManager
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 PackageManager.GET_META_DATA to retrieve any meta-data associated with the permission group.
Returns:
Returns a PermissionGroupInfo containing information about the permission.
Throws:
PackageManager.NameNotFoundException

getAllPermissionGroups

public List<PermissionGroupInfo> getAllPermissionGroups(int flags)
Description copied from class: PackageManager
Retrieve all of the known permission groups in the system.

Specified by:
getAllPermissionGroups in class PackageManager
Parameters:
flags - Additional option flags. Use PackageManager.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.

getApplicationInfo

public ApplicationInfo getApplicationInfo(String packageName,
                                          int flags)
                                   throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getApplicationInfo in class PackageManager
Parameters:
packageName - The full name (i.e. com.google.apps.contacts) of an application.
flags - Additional option flags. Currently should always be 0.
Returns:
ApplicationInfo containing information about the application.
Throws:
PackageManager.NameNotFoundException

getActivityInfo

public ActivityInfo getActivityInfo(ComponentName className,
                                    int flags)
                             throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getActivityInfo in class PackageManager
Parameters:
className - The full name (i.e. com.google.apps.contacts.ContactsList) of an Activity class.
flags - Additional option flags. Usually 0.
Returns:
ActivityInfo containing information about the activity.
Throws:
PackageManager.NameNotFoundException
See Also:
PackageManager.GET_INTENT_FILTERS

getReceiverInfo

public ActivityInfo getReceiverInfo(ComponentName className,
                                    int flags)
                             throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getReceiverInfo in class PackageManager
Parameters:
className - The full name (i.e. com.google.apps.contacts.CalendarAlarm) of a Receiver class.
flags - Additional option flags. Usually 0.
Returns:
ActivityInfo containing information about the receiver.
Throws:
PackageManager.NameNotFoundException
See Also:
PackageManager.GET_INTENT_FILTERS

getServiceInfo

public ServiceInfo getServiceInfo(ComponentName className,
                                  int flags)
                           throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getServiceInfo in class PackageManager
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.
Throws:
PackageManager.NameNotFoundException

checkPermission

public int checkPermission(String permName,
                           String pkgName)
Description copied from class: PackageManager
Check whether a particular package has been granted a particular permission.

Specified by:
checkPermission in class PackageManager
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.
See Also:
PackageManager.PERMISSION_GRANTED, PackageManager.PERMISSION_DENIED

addPermission

public boolean addPermission(PermissionInfo info)
Description copied from class: PackageManager
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.

Specified by:
addPermission in class PackageManager
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.
See Also:
PackageManager.removePermission(String)

removePermission

public void removePermission(String name)
Description copied from class: PackageManager
Removes a permission that was previously added with PackageManager.addPermission(PermissionInfo). The same ownership rules apply -- you are only allowed to remove permissions that you are allowed to add.

Specified by:
removePermission in class PackageManager
Parameters:
name - The name of the permission to remove.
See Also:
PackageManager.addPermission(PermissionInfo)

checkSignatures

public int checkSignatures(String pkg1,
                           String pkg2)
Description copied from class: PackageManager
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.

Specified by:
checkSignatures in class PackageManager
Parameters:
pkg1 - First package name whose signature will be compared.
pkg2 - Second package name whose signature will be compared.
Returns:
Returns an integer indicating whether there is a matching signature: the value is >= 0 if there is a match (or neither package is signed), or < 0="" if="" there="" is="" not="" a="" match.="" the="" match="" result="" can="" be="" further="" distinguished="" with="" the="" success="" (="">= 0) constants PackageManager.SIGNATURE_MATCH, PackageManager.SIGNATURE_NEITHER_SIGNED; or failure (< 0)="" constants="">PackageManager.SIGNATURE_FIRST_NOT_SIGNED, PackageManager.SIGNATURE_SECOND_NOT_SIGNED, PackageManager.SIGNATURE_NO_MATCH, or PackageManager.SIGNATURE_UNKNOWN_PACKAGE.
See Also:
PackageManager.SIGNATURE_MATCH, PackageManager.SIGNATURE_NEITHER_SIGNED, PackageManager.SIGNATURE_FIRST_NOT_SIGNED, PackageManager.SIGNATURE_SECOND_NOT_SIGNED, PackageManager.SIGNATURE_NO_MATCH, PackageManager.SIGNATURE_UNKNOWN_PACKAGE

getPackagesForUid

public String[] getPackagesForUid(int uid)
Description copied from class: PackageManager
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.

Specified by:
getPackagesForUid in class PackageManager
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.

getNameForUid

public String getNameForUid(int uid)
Description copied from class: PackageManager
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.

Specified by:
getNameForUid in class PackageManager
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.

getInstalledPackages

public List<PackageInfo> getInstalledPackages(int flags)
Description copied from class: PackageManager
Return a List of all packages that are installed on the device.

Specified by:
getInstalledPackages in class PackageManager
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.
See Also:
PackageManager.GET_ACTIVITIES, PackageManager.GET_RECEIVERS, PackageManager.GET_SERVICES, PackageManager.GET_INSTRUMENTATION, PackageManager.GET_SIGNATURES

getInstalledApplications

public List<ApplicationInfo> getInstalledApplications(int flags)
Description copied from class: PackageManager
Return a List of all application packages that are installed on the device.

Specified by:
getInstalledApplications in class PackageManager
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.

resolveActivity

public ResolveInfo resolveActivity(Intent intent,
                                   int flags)
Description copied from class: PackageManager
Determine the best action to perform for a given Intent. This is how Intent.resolveActivity(android.content.pm.PackageManager) finds an activity if a class has not been explicitly specified.

Specified by:
resolveActivity in class PackageManager
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.
See Also:
PackageManager.MATCH_DEFAULT_ONLY, PackageManager.GET_INTENT_FILTERS, PackageManager.GET_RESOLVED_FILTER

queryIntentActivities

public List<ResolveInfo> queryIntentActivities(Intent intent,
                                               int flags)
Description copied from class: PackageManager
Retrieve all activities that can be performed for the given intent.

Specified by:
queryIntentActivities in class PackageManager
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.
See Also:
PackageManager.MATCH_DEFAULT_ONLY, PackageManager.GET_INTENT_FILTERS, PackageManager.GET_RESOLVED_FILTER

queryIntentActivityOptions

public List<ResolveInfo> queryIntentActivityOptions(ComponentName caller,
                                                    Intent[] specifics,
                                                    Intent intent,
                                                    int flags)
Description copied from class: PackageManager
Retrieve a set of activities that should be presented to the user as similar options. This is like PackageManager.queryIntentActivities(android.content.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.

Specified by:
queryIntentActivityOptions in class PackageManager
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.
See Also:
PackageManager.MATCH_DEFAULT_ONLY, PackageManager.GET_INTENT_FILTERS, PackageManager.GET_RESOLVED_FILTER

queryBroadcastReceivers

public List<ResolveInfo> queryBroadcastReceivers(Intent intent,
                                                 int flags)
Description copied from class: PackageManager
Retrieve all receivers that can handle a broadcast of the given intent.

Specified by:
queryBroadcastReceivers in class PackageManager
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.
See Also:
PackageManager.MATCH_DEFAULT_ONLY, PackageManager.GET_INTENT_FILTERS, PackageManager.GET_RESOLVED_FILTER

resolveService

public ResolveInfo resolveService(Intent intent,
                                  int flags)
Description copied from class: PackageManager
Determine the best service to handle for a given Intent.

Specified by:
resolveService in class PackageManager
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.
See Also:
PackageManager.GET_INTENT_FILTERS, PackageManager.GET_RESOLVED_FILTER

queryIntentServices

public List<ResolveInfo> queryIntentServices(Intent intent,
                                             int flags)
Description copied from class: PackageManager
Retrieve all services that can match the given intent.

Specified by:
queryIntentServices in class PackageManager
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.
See Also:
PackageManager.GET_INTENT_FILTERS, PackageManager.GET_RESOLVED_FILTER

resolveContentProvider

public ProviderInfo resolveContentProvider(String name,
                                           int flags)
Description copied from class: PackageManager
Find a single content provider by its base path name.

Specified by:
resolveContentProvider in class PackageManager
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.

queryContentProviders

public List<ProviderInfo> queryContentProviders(String processName,
                                                int uid,
                                                int flags)
Description copied from class: PackageManager
Retrieve content provider information.

Note: unlike most other methods, an empty result set is indicated by a null return instead of an empty list.

Specified by:
queryContentProviders in class PackageManager
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.

getInstrumentationInfo

public InstrumentationInfo getInstrumentationInfo(ComponentName className,
                                                  int flags)
                                           throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getInstrumentationInfo in class PackageManager
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.
Throws:
PackageManager.NameNotFoundException

queryInstrumentation

public List<InstrumentationInfo> queryInstrumentation(String targetPackage,
                                                      int flags)
Description copied from class: PackageManager
Retrieve information about available instrumentation code. May be used to retrieve either all instrumentation code, or only the code targeting a particular package.

Specified by:
queryInstrumentation in class PackageManager
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.

getDrawable

public Drawable getDrawable(String packageName,
                            int resid,
                            ApplicationInfo appInfo)
Description copied from class: PackageManager
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.

Specified by:
getDrawable in class PackageManager
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.

getActivityIcon

public Drawable getActivityIcon(ComponentName activityName)
                         throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getActivityIcon in class PackageManager
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.
See Also:
PackageManager.getActivityIcon(Intent)

getActivityIcon

public Drawable getActivityIcon(Intent intent)
                         throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getActivityIcon in class PackageManager
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.
See Also:
PackageManager.getActivityIcon(ComponentName)

getDefaultActivityIcon

public Drawable getDefaultActivityIcon()
Description copied from class: PackageManager
Return the generic icon for an activity that is used when no specific icon is defined.

Specified by:
getDefaultActivityIcon in class PackageManager
Returns:
Drawable Image of the icon.

getApplicationIcon

public Drawable getApplicationIcon(ApplicationInfo info)
Description copied from class: PackageManager
Retrieve the icon associated with an application. If it has not defined an icon, the default app icon is returned. Does not return null.

Specified by:
getApplicationIcon in class PackageManager
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.
See Also:
PackageManager.getApplicationIcon(String)

getApplicationIcon

public Drawable getApplicationIcon(String packageName)
                            throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getApplicationIcon in class PackageManager
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.
See Also:
PackageManager.getApplicationIcon(ApplicationInfo)

getResourcesForActivity

public Resources getResourcesForActivity(ComponentName activityName)
                                  throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getResourcesForActivity in class PackageManager
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.
See Also:
PackageManager.getResourcesForApplication(ApplicationInfo)

getResourcesForApplication

public Resources getResourcesForApplication(ApplicationInfo app)
                                     throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
Retrieve the resources for an application. Throws NameNotFoundException if the package is no longer installed.

Specified by:
getResourcesForApplication in class PackageManager
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).

getResourcesForApplication

public Resources getResourcesForApplication(String appPackageName)
                                     throws PackageManager.NameNotFoundException
Description copied from class: PackageManager
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.

Specified by:
getResourcesForApplication in class PackageManager
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.
See Also:
PackageManager.getResourcesForApplication(ApplicationInfo)

configurationChanged

static void configurationChanged()

getText

public CharSequence getText(String packageName,
                            int resid,
                            ApplicationInfo appInfo)
Description copied from class: PackageManager
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.

Specified by:
getText in class PackageManager
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.

getXml

public XmlResourceParser getXml(String packageName,
                                int resid,
                                ApplicationInfo appInfo)
Description copied from class: PackageManager
Retrieve an XML file from a package. This is a low-level API used to retrieve XML meta data.

Specified by:
getXml in class PackageManager
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.

getApplicationLabel

public CharSequence getApplicationLabel(ApplicationInfo info)
Description copied from class: PackageManager
Return the label to use for this application.

Specified by:
getApplicationLabel in class PackageManager
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.

installPackage

public void installPackage(Uri packageURI,
                           IPackageInstallObserver observer,
                           int flags)
Description copied from class: PackageManager
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 Manifest.permission.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.

Specified by:
installPackage in class PackageManager
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. IPackageInstallObserver.packageInstalled(String, int) will be called when that happens. observer may be null to indicate that no callback is desired.
flags - - possible values: PackageManager.FORWARD_LOCK_PACKAGE, PackageManager.REPLACE_EXISTING_PACKAGE
See Also:
PackageManager.installPackage(android.net.Uri)

deletePackage

public void deletePackage(String packageName,
                          IPackageDeleteObserver observer,
                          int flags)
Description copied from class: PackageManager
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 Manifest.permission.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")

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

clearApplicationUserData

public void clearApplicationUserData(String packageName,
                                     IPackageDataObserver observer)
Description copied from class: PackageManager
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".

Specified by:
clearApplicationUserData in class PackageManager
Parameters:
packageName - The name of the package
observer - An observer callback to get notified when the operation is finished IPackageDataObserver.onRemoveCompleted(String, boolean) will be called when that happens. observer may be null to indicate that no callback is desired.

deleteApplicationCacheFiles

public void deleteApplicationCacheFiles(String packageName,
                                        IPackageDataObserver observer)
Description copied from class: PackageManager
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 Manifest.permission.DELETE_CACHE_FILES permission, if the named package cannot be found, or if the named package is a "system package".

Specified by:
deleteApplicationCacheFiles in class PackageManager
Parameters:
packageName - The name of the package to delete
observer - An observer callback to get notified when the cache file deletion is complete. IPackageDataObserver.onRemoveCompleted(String, boolean) will be called when that happens. observer may be null to indicate that no callback is desired.

freeApplicationCache

public void freeApplicationCache(long idealStorageSize,
                                 IPackageDataObserver observer)
Description copied from class: PackageManager
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.

Specified by:
freeApplicationCache in class PackageManager
Parameters:
idealStorageSize - 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 IPackageDataObserver.onRemoveCompleted(String, boolean) will be called when that happens. observer may be null to indicate that no callback is desired.

getPackageSizeInfo

public void getPackageSizeInfo(String packageName,
                               IPackageStatsObserver observer)
Description copied from class: PackageManager
Retrieve the size information for a package. Since this may take a little while, the result will be posted back to the given observer. The calling context should have the Manifest.permission.GET_PACKAGE_SIZE permission.

Specified by:
getPackageSizeInfo in class PackageManager
Parameters:
packageName - The name of the package whose size information is to be retrieved
observer - An observer callback to get notified when the operation is complete. IPackageStatsObserver.onGetStatsCompleted(PackageStats, boolean) The observer's callback is invoked with a PackageStats object(containing the code, data and cache sizes of the package) and a boolean value representing the status of the operation. observer may be null to indicate that no callback is desired.

addPackageToPreferred

public void addPackageToPreferred(String packageName)
Description copied from class: PackageManager
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.

Specified by:
addPackageToPreferred in class PackageManager
Parameters:
packageName - The package name of the new package to make preferred.

removePackageFromPreferred

public void removePackageFromPreferred(String packageName)
Description copied from class: PackageManager
Remove a package from the list of preferred packages. If it was on the list, it will no longer be preferred over other packages.

Specified by:
removePackageFromPreferred in class PackageManager
Parameters:
packageName - The package name to remove.

getPreferredPackages

public List<PackageInfo> getPreferredPackages(int flags)
Description copied from class: PackageManager
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.

Specified by:
getPreferredPackages in class PackageManager
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.
See Also:
PackageManager.GET_ACTIVITIES, PackageManager.GET_RECEIVERS, PackageManager.GET_SERVICES, PackageManager.GET_INSTRUMENTATION, PackageManager.GET_SIGNATURES

addPreferredActivity

public void addPreferredActivity(IntentFilter filter,
                                 int match,
                                 ComponentName[] set,
                                 ComponentName activity)
Description copied from class: PackageManager
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.

Specified by:
addPreferredActivity in class PackageManager
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.

clearPackagePreferredActivities

public void clearPackagePreferredActivities(String packageName)
Description copied from class: PackageManager
Remove all preferred activity mappings, previously added with PackageManager.addPreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName), from the system whose activities are implemented in the given package name.

Specified by:
clearPackagePreferredActivities in class PackageManager
Parameters:
packageName - The name of the package whose preferred activity mappings are to be removed.

getPreferredActivities

public int getPreferredActivities(List<IntentFilter> outFilters,
                                  List<ComponentName> outActivities,
                                  String packageName)
Description copied from class: PackageManager
Retrieve all preferred activities, previously added with PackageManager.addPreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName), that are currently registered with the system.

Specified by:
getPreferredActivities in class PackageManager
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.

setComponentEnabledSetting

public void setComponentEnabledSetting(ComponentName componentName,
                                       int newState,
                                       int flags)
Description copied from class: PackageManager
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.

Specified by:
setComponentEnabledSetting in class PackageManager
Parameters:
componentName - The component to enable
newState - The new enabled state for the component. The legal values for this state are: PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.COMPONENT_ENABLED_STATE_DISABLED and PackageManager.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: PackageManager.DONT_KILL_APP or 0.

getComponentEnabledSetting

public int getComponentEnabledSetting(ComponentName componentName)
Description copied from class: PackageManager
Return the the enabled setting for a package component (activity, receiver, service, provider). This returns the last value set by PackageManager.setComponentEnabledSetting(ComponentName, int, int); in most cases this value will be PackageManager.COMPONENT_ENABLED_STATE_DEFAULT since the value originally specified in the manifest has not been modified.

Specified by:
getComponentEnabledSetting in class PackageManager
Parameters:
componentName - The component to retrieve.
Returns:
Returns the current enabled state for the component. May be one of PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, or PackageManager.COMPONENT_ENABLED_STATE_DEFAULT. The last one means the component's enabled state is based on the original information in the manifest as found in ComponentInfo.

setApplicationEnabledSetting

public void setApplicationEnabledSetting(String packageName,
                                         int newState,
                                         int flags)
Description copied from class: PackageManager
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 PackageManager.setComponentEnabledSetting(android.content.ComponentName, int, int) for any of the application's components.

Specified by:
setApplicationEnabledSetting in class PackageManager
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: PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.COMPONENT_ENABLED_STATE_DISABLED and PackageManager.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: PackageManager.DONT_KILL_APP or 0.

getApplicationEnabledSetting

public int getApplicationEnabledSetting(String packageName)
Description copied from class: PackageManager
Return the the enabled setting for an application. This returns the last value set by PackageManager.setApplicationEnabledSetting(String, int, int); in most cases this value will be PackageManager.COMPONENT_ENABLED_STATE_DEFAULT since the value originally specified in the manifest has not been modified.

Specified by:
getApplicationEnabledSetting in class PackageManager
Parameters:
packageName - The component to retrieve.
Returns:
Returns the current enabled state for the component. May be one of PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, or PackageManager.COMPONENT_ENABLED_STATE_DEFAULT. The last one means the application's enabled state is based on the original information in the manifest as found in ComponentInfo.

Build 1.0_r1(from source)

Please submit a feedback, bug or feature