MockPackageManager
public
class
MockPackageManager
extends PackageManager
java.lang.Object | ||
↳ | android.content.pm.PackageManager | |
↳ | android.test.mock.MockPackageManager |
This class was deprecated
in API level 24.
Use a mocking framework like Mockito.
New tests should be written using the
Android Testing Support Library.
A mock PackageManager
class. All methods are non-functional and throw
UnsupportedOperationException
. Override it to provide the operations that you
need.
Summary
Inherited constants |
---|
Inherited fields |
---|
Public constructors | |
---|---|
MockPackageManager()
|
Public methods | |
---|---|
void
|
addPackageToPreferred(String packageName)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
|
boolean
|
addPermission(PermissionInfo info)
Add a new dynamic permission to the system. |
boolean
|
addPermissionAsync(PermissionInfo info)
Like |
void
|
addPreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
|
boolean
|
canRequestPackageInstalls()
Checks whether the calling package is allowed to request package installs through package installer. |
String[]
|
canonicalToCurrentPackageNames(String[] names)
Map from a packages canonical name to the current name in use on the device. |
int
|
checkPermission(String permName, String pkgName)
Check whether a particular package has been granted a particular permission. |
int
|
checkSignatures(String pkg1, String pkg2)
Compare the signatures of two packages to determine if the same signature appears in both of them. |
int
|
checkSignatures(int uid1, int uid2)
Like |
void
|
clearPackagePreferredActivities(String packageName)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
|
String[]
|
currentToCanonicalPackageNames(String[] names)
Map from the current package names in use on the device to whatever the current canonical name of that package is. |
void
|
extendVerificationTimeout(int id, int verificationCodeAtTimeout, long millisecondsToDelay)
Allows a package listening to the
|
Drawable
|
getActivityBanner(Intent intent)
Retrieve the banner associated with an Intent. |
Drawable
|
getActivityBanner(ComponentName activityName)
Retrieve the banner associated with an activity. |
Drawable
|
getActivityIcon(Intent intent)
Retrieve the icon associated with an Intent. |
Drawable
|
getActivityIcon(ComponentName activityName)
Retrieve the icon associated with an activity. |
ActivityInfo
|
getActivityInfo(ComponentName className, int flags)
Retrieve all of the information we know about a particular activity class. |
Drawable
|
getActivityLogo(Intent intent)
Retrieve the logo associated with an Intent. |
Drawable
|
getActivityLogo(ComponentName activityName)
Retrieve the logo associated with an activity. |
List<IntentFilter>
|
getAllIntentFilters(String packageName)
|
List<PermissionGroupInfo>
|
getAllPermissionGroups(int flags)
Retrieve all of the known permission groups in the system. |
Drawable
|
getApplicationBanner(ApplicationInfo info)
Retrieve the banner associated with an application. |
Drawable
|
getApplicationBanner(String packageName)
Retrieve the banner associated with an application. |
int
|
getApplicationEnabledSetting(String packageName)
Return the enabled setting for an application. |
Drawable
|
getApplicationIcon(String packageName)
Retrieve the icon associated with an application. |
Drawable
|
getApplicationIcon(ApplicationInfo info)
Retrieve the icon associated with an application. |
ApplicationInfo
|
getApplicationInfo(String packageName, int flags)
Retrieve all of the information we know about a particular package/application. |
CharSequence
|
getApplicationLabel(ApplicationInfo info)
Return the label to use for this application. |
Drawable
|
getApplicationLogo(String packageName)
Retrieve the logo associated with an application. |
Drawable
|
getApplicationLogo(ApplicationInfo info)
Retrieve the logo associated with an application. |
int
|
getComponentEnabledSetting(ComponentName componentName)
Return the enabled setting for a package component (activity, receiver, service, provider). |
Drawable
|
getDefaultActivityIcon()
Return the generic icon for an activity that is used when no specific icon is defined. |
Drawable
|
getDrawable(String packageName, int resid, ApplicationInfo appInfo)
Retrieve an image from a package. |
List<ApplicationInfo>
|
getInstalledApplications(int flags)
Return a List of all application packages that are installed for the current user. |
List<PackageInfo>
|
getInstalledPackages(int flags)
Return a List of all packages that are installed for the current user. |
String
|
getInstallerPackageName(String packageName)
This method was deprecated
in API level 24.
use |
InstrumentationInfo
|
getInstrumentationInfo(ComponentName className, int flags)
Retrieve all of the information we know about a particular instrumentation class. |
Intent
|
getLaunchIntentForPackage(String packageName)
Returns a "good" intent to launch a front-door activity in a package. |
Intent
|
getLeanbackLaunchIntentForPackage(String packageName)
Return a "good" intent to launch a front-door Leanback activity in a package, for use for example to implement an "open" button when browsing through packages. |
String
|
getNameForUid(int uid)
Retrieve the official name associated with a uid. |
PackageInfo
|
getPackageArchiveInfo(String archiveFilePath, int flags)
Retrieve overall information about an application package defined in a
package archive file
Use |
int[]
|
getPackageGids(String packageName)
Return an array of all of the POSIX secondary group IDs that have been assigned to the given package. |
int[]
|
getPackageGids(String packageName, int flags)
Return an array of all of the POSIX secondary group IDs that have been assigned to the given package. |
PackageInfo
|
getPackageInfo(String packageName, int flags)
Retrieve overall information about an application package that is installed on the system. |
PackageInfo
|
getPackageInfo(VersionedPackage versionedPackage, int flags)
Retrieve overall information about an application package that is installed on the system. |
int
|
getPackageUid(String packageName, int flags)
Return the UID associated with the given package name. |
String[]
|
getPackagesForUid(int uid)
Retrieve the names of all packages that are associated with a particular user id. |
List<PackageInfo>
|
getPackagesHoldingPermissions(String[] permissions, int flags)
Return a List of all installed packages that are currently holding any of the given permissions. |
PermissionGroupInfo
|
getPermissionGroupInfo(String name, int flags)
Retrieve all of the information we know about a particular group of permissions. |
PermissionInfo
|
getPermissionInfo(String name, int flags)
Retrieve all of the information we know about a particular permission. |
int
|
getPreferredActivities(List<IntentFilter> outFilters, List<ComponentName> outActivities, String packageName)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
|
List<PackageInfo>
|
getPreferredPackages(int flags)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
|
ProviderInfo
|
getProviderInfo(ComponentName className, int flags)
Retrieve all of the information we know about a particular content provider class. |
ActivityInfo
|
getReceiverInfo(ComponentName className, int flags)
Retrieve all of the information we know about a particular receiver class. |
Resources
|
getResourcesForActivity(ComponentName activityName)
Retrieve the resources associated with an activity. |
Resources
|
getResourcesForApplication(String appPackageName)
Retrieve the resources associated with an application. |
Resources
|
getResourcesForApplication(ApplicationInfo app)
Retrieve the resources for an application. |
ServiceInfo
|
getServiceInfo(ComponentName className, int flags)
Retrieve all of the information we know about a particular service class. |
List<SharedLibraryInfo>
|
getSharedLibraries(int flags)
Get a list of shared libraries on the device. |
FeatureInfo[]
|
getSystemAvailableFeatures()
Get a list of features that are available on the system. |
String[]
|
getSystemSharedLibraryNames()
Get a list of shared libraries that are available on the system. |
CharSequence
|
getText(String packageName, int resid, ApplicationInfo appInfo)
Retrieve text from a package. |
Drawable
|
getUserBadgedDrawableForDensity(Drawable drawable, UserHandle user, Rect badgeLocation, int badgeDensity)
If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a badged copy of the given drawable allowing the user to distinguish it from the original drawable. |
Drawable
|
getUserBadgedIcon(Drawable icon, UserHandle user)
If the target user is a managed profile, then this returns a badged copy of the given icon to be able to distinguish it from the original icon. |
CharSequence
|
getUserBadgedLabel(CharSequence label, UserHandle user)
If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a copy of the label with badging for accessibility services like talkback. |
XmlResourceParser
|
getXml(String packageName, int resid, ApplicationInfo appInfo)
Retrieve an XML file from a package. |
boolean
|
hasSigningCertificate(int uid, byte[] certificate, int type)
Searches the set of signing certificates by which the package(s) for the given uid has proven to have been signed. |
boolean
|
hasSigningCertificate(String packageName, byte[] certificate, int type)
Searches the set of signing certificates by which the given package has proven to have been signed. |
boolean
|
hasSystemFeature(String name)
Check whether the given feature name is one of the available features as
returned by |
boolean
|
hasSystemFeature(String name, int version)
Check whether the given feature name and version is one of the available
features as returned by |
boolean
|
isPermissionRevokedByPolicy(String permName, String pkgName)
Checks whether a particular permissions has been revoked for a package by policy. |
boolean
|
isSafeMode()
Return whether the device has been booted into safe mode. |
List<ResolveInfo>
|
queryBroadcastReceivers(Intent intent, int flags)
Retrieve all receivers that can handle a broadcast of the given intent. |
List<ProviderInfo>
|
queryContentProviders(String processName, int uid, int flags)
Retrieve content provider information. |
List<InstrumentationInfo>
|
queryInstrumentation(String targetPackage, int flags)
Retrieve information about available instrumentation code. |
List<ResolveInfo>
|
queryIntentActivities(Intent intent, int flags)
Retrieve all activities that can be performed for the given intent. |
List<ResolveInfo>
|
queryIntentActivityOptions(ComponentName caller, Intent[] specifics, Intent intent, int flags)
Retrieve a set of activities that should be presented to the user as similar options. |
List<ResolveInfo>
|
queryIntentContentProviders(Intent intent, int flags)
Retrieve all providers that can match the given intent. |
List<ResolveInfo>
|
queryIntentServices(Intent intent, int flags)
Retrieve all services that can match the given intent. |
List<PermissionInfo>
|
queryPermissionsByGroup(String group, int flags)
Query for all of the permissions associated with a particular group. |
void
|
removePackageFromPreferred(String packageName)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
|
void
|
removePermission(String name)
Removes a permission that was previously added with
|
ResolveInfo
|
resolveActivity(Intent intent, int flags)
Determine the best action to perform for a given Intent. |
ProviderInfo
|
resolveContentProvider(String name, int flags)
Find a single content provider by its authority. |
ResolveInfo
|
resolveService(Intent intent, int flags)
Determine the best service to handle for a given Intent. |
ResolveInfo
|
resolveServiceAsUser(Intent intent, int flags, int userId)
|
void
|
setApplicationEnabledSetting(String packageName, int newState, int flags)
Set the enabled setting for an application This setting will override any enabled state which may have been set by the application in its manifest. |
void
|
setComponentEnabledSetting(ComponentName componentName, int newState, int flags)
Set the enabled setting for a package component (activity, receiver, service, provider). |
void
|
setInstallerPackageName(String targetPackage, String installerPackageName)
Change the installer associated with a given package. |
void
|
verifyPendingInstall(int id, int verificationCode)
Allows a package listening to the
|
Inherited methods | |
---|---|
Public constructors
MockPackageManager
public MockPackageManager ()
Public methods
addPackageToPreferred
public void addPackageToPreferred (String packageName)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
resolveActivity(Intent, ResolveInfoFlags)
or queryIntentActivities(Intent, ResolveInfoFlags)
. To configure
an app to be responsible for a particular role and to check current role
holders, see RoleManager
.
Parameters | |
---|---|
packageName |
String : This value cannot be null . |
addPermission
public boolean addPermission (PermissionInfo info)
Add a new dynamic permission to the system. For this to work, your
package must have defined a permission tree through the
<permission-tree>
tag in its manifest. A package can only add
permissions to trees that were defined by either its own package or
another with the same user id; a permission is in a tree if it
matches the name of the permission tree + ".": for example,
"com.foo.bar" is a member of the permission tree "com.foo".
It is good to make your permission tree name descriptive, because you are taking possession of that entire set of permission names. Thus, it must be under a domain you control, with a suffix that will not match any normal permissions that may be declared in any applications that are part of that domain.
New permissions must be added before any .apks are installed that use those permissions. Permissions you add through this method are remembered across reboots of the device. If the given permission already exists, the info you supply here will be used to update it.
Parameters | |
---|---|
info |
PermissionInfo : Description of the permission to be added.
This value cannot be null . |
Returns | |
---|---|
boolean |
Returns true if a new permission was created, false if an existing one was updated. |
addPermissionAsync
public boolean addPermissionAsync (PermissionInfo info)
Like addPermission(android.content.pm.PermissionInfo)
but asynchronously
persists the package manager state after returning from the call,
allowing it to return quicker and batch a series of adds at the
expense of no guarantee the added permission will be retained if
the device is rebooted before it is written.
Parameters | |
---|---|
info |
PermissionInfo : This value cannot be null . |
Returns | |
---|---|
boolean |
addPreferredActivity
public void addPreferredActivity (IntentFilter filter, int match, ComponentName[] set, ComponentName activity)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
resolveActivity(Intent, ResolveInfoFlags)
or queryIntentActivities(Intent, ResolveInfoFlags)
. To configure
an app to be responsible for a particular role and to check current role
holders, see RoleManager
.
Add a new preferred activity mapping to the system. This will be used
to automatically select the given activity component when
Context.startActivity()
finds
multiple matching activities and also matches the given filter.
Parameters | |
---|---|
filter |
IntentFilter : The set of intents under which this activity will be
made preferred.
This value cannot be null . |
match |
int : The IntentFilter match category that this preference
applies to. |
set |
ComponentName : The set of activities that the user was picking from when
this preference was made.
This value may be null . |
activity |
ComponentName : The component name of the activity that is to be
preferred.
This value cannot be null . |
canRequestPackageInstalls
public boolean canRequestPackageInstalls ()
Checks whether the calling package is allowed to request package installs through package
installer. Apps are encouraged to call this API before launching the package installer via
intent Intent.ACTION_INSTALL_PACKAGE
. Starting from Android O, the
user can explicitly choose what external sources they trust to install apps on the device.
If this API returns false, the install request will be blocked by the package installer and
a dialog will be shown to the user with an option to launch settings to change their
preference. An application must target Android O or higher and declare permission
Manifest.permission.REQUEST_INSTALL_PACKAGES
in order to use this API.
Returns | |
---|---|
boolean |
true if the calling package is trusted by the user to request install packages on the device, false otherwise. |
canonicalToCurrentPackageNames
public String[] canonicalToCurrentPackageNames (String[] names)
Map from a packages canonical name to the current name in use on the device.
Parameters | |
---|---|
names |
String : Array of new names to be mapped.
This value cannot be null . |
Returns | |
---|---|
String[] |
Returns an array of the same size as the original, containing the current name for each package. |
checkPermission
public int checkPermission (String permName, String pkgName)
Check whether a particular package has been granted a particular permission.
Note: This API returns the underlying permission state
as-is and is mostly intended for permission managing system apps. To
perform an access check for a certain app, please use the
Context#checkPermission
APIs instead.
Parameters | |
---|---|
permName |
String : The name of the permission you are checking for.
This value cannot be null . |
pkgName |
String : The name of the package you are checking against.
This value cannot be null . |
Returns | |
---|---|
int |
If the package has the permission, PERMISSION_GRANTED is
returned. If it does not have the permission, PERMISSION_DENIED
is returned.
Value is PERMISSION_GRANTED , or PERMISSION_DENIED |
checkSignatures
public int checkSignatures (String pkg1, String pkg2)
Compare the signatures of two packages to determine if the same signature appears in both of them. If they do contain the same signature, then they are allowed special privileges when working with each other: they can share the same user-id, run instrumentation against each other, etc.
Parameters | |
---|---|
pkg1 |
String : First package name whose signature will be compared.
This value cannot be null . |
pkg2 |
String : Second package name whose signature will be compared.
This value cannot be null . |
Returns | |
---|---|
int |
Returns an integer indicating whether all signatures on the
two packages match. The value is >= 0 (SIGNATURE_MATCH ) if
all signatures match or < 0 if there is not a match (SIGNATURE_NO_MATCH or SIGNATURE_UNKNOWN_PACKAGE ).
Value is SIGNATURE_MATCH , SIGNATURE_NEITHER_SIGNED , SIGNATURE_FIRST_NOT_SIGNED , SIGNATURE_SECOND_NOT_SIGNED , SIGNATURE_NO_MATCH , or SIGNATURE_UNKNOWN_PACKAGE |
checkSignatures
public int checkSignatures (int uid1, int uid2)
Like checkSignatures(java.lang.String, java.lang.String)
, but takes UIDs of
the two packages to be checked. This can be useful, for example,
when doing the check in an IPC, where the UID is the only identity
available. It is functionally identical to determining the package
associated with the UIDs and checking their signatures.
Parameters | |
---|---|
uid1 |
int : First UID whose signature will be compared. |
uid2 |
int : Second UID whose signature will be compared. |
Returns | |
---|---|
int |
Returns an integer indicating whether all signatures on the
two packages match. The value is >= 0 (SIGNATURE_MATCH ) if
all signatures match or < 0 if there is not a match (SIGNATURE_NO_MATCH or SIGNATURE_UNKNOWN_PACKAGE ).
Value is SIGNATURE_MATCH , SIGNATURE_NEITHER_SIGNED , SIGNATURE_FIRST_NOT_SIGNED , SIGNATURE_SECOND_NOT_SIGNED , SIGNATURE_NO_MATCH , or SIGNATURE_UNKNOWN_PACKAGE |
clearPackagePreferredActivities
public void clearPackagePreferredActivities (String packageName)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
resolveActivity(Intent, ResolveInfoFlags)
or queryIntentActivities(Intent, ResolveInfoFlags)
. To configure
an app to be responsible for a particular role and to check current role
holders, see RoleManager
.
Remove all preferred activity mappings, previously added with
addPreferredActivity(IntentFilter, int, ComponentName, ComponentName)
, from the
system whose activities are implemented in the given package name.
An application can only clear its own package(s).
Parameters | |
---|---|
packageName |
String : The name of the package whose preferred activity
mappings are to be removed.
This value cannot be null . |
currentToCanonicalPackageNames
public String[] currentToCanonicalPackageNames (String[] names)
Map from the current package names in use on the device to whatever the current canonical name of that package is.
Parameters | |
---|---|
names |
String : Array of current names to be mapped.
This value cannot be null . |
Returns | |
---|---|
String[] |
Returns an array of the same size as the original, containing the canonical name for each package. |
extendVerificationTimeout
public void extendVerificationTimeout (int id, int verificationCodeAtTimeout, long millisecondsToDelay)
Allows a package listening to the
broadcast
to extend the default timeout for a response and declare what
action to perform after the timeout occurs. The response must include
the verificationCodeAtTimeout
which is one of
PackageManager#VERIFICATION_ALLOW
or
PackageManager#VERIFICATION_REJECT
.
This method may only be called once per package id. Additional calls
will have no effect.
Parameters | |
---|---|
id |
int : pending package identifier as passed via the
PackageManager#EXTRA_VERIFICATION_ID Intent extra. |
verificationCodeAtTimeout |
int : either
PackageManager#VERIFICATION_ALLOW or
PackageManager#VERIFICATION_REJECT . If
verificationCodeAtTimeout is neither
PackageManager#VERIFICATION_ALLOW or
PackageManager#VERIFICATION_REJECT , then
verificationCodeAtTimeout will default to
PackageManager#VERIFICATION_REJECT . |
millisecondsToDelay |
long : the amount of time requested for the timeout.
Must be positive and less than
PackageManager#MAXIMUM_VERIFICATION_TIMEOUT . If
millisecondsToDelay is out of bounds,
millisecondsToDelay will be set to the closest in
bounds value; namely, 0 or
PackageManager#MAXIMUM_VERIFICATION_TIMEOUT . |
getActivityBanner
public Drawable getActivityBanner (Intent intent)
Retrieve the banner associated with an Intent. If intent.getClassName() is set, this simply returns the result of getActivityBanner(intent.getClassName()). Otherwise it resolves the intent's component and returns the banner associated with the resolved component. If intent.getClassName() cannot be found or the Intent cannot be resolved to a component, NameNotFoundException is thrown.
Parameters | |
---|---|
intent |
Intent : The intent for which you would like to retrieve a banner.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the banner, or null if the activity has no banner specified. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getActivityBanner
public Drawable getActivityBanner (ComponentName activityName)
Retrieve the banner associated with an activity. Given the full name of
an activity, retrieves the information about it and calls
ComponentInfo.loadIcon()
to return its
banner. If the activity cannot be found, NameNotFoundException is thrown.
Parameters | |
---|---|
activityName |
ComponentName : Name of the activity whose banner is to be retrieved.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the banner, or null if the activity has no banner specified. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getActivityIcon
public Drawable getActivityIcon (Intent intent)
Retrieve the icon associated with an Intent. If intent.getClassName() is set, this simply returns the result of getActivityIcon(intent.getClassName()). Otherwise it resolves the intent's component and returns the icon associated with the resolved component. If intent.getClassName() cannot be found or the Intent cannot be resolved to a component, NameNotFoundException is thrown.
Parameters | |
---|---|
intent |
Intent : The intent for which you would like to retrieve an icon.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the icon, or the default activity icon if it could not be found. Does not return null. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getActivityIcon
public Drawable getActivityIcon (ComponentName activityName)
Retrieve the icon associated with an activity. Given the full name of
an activity, retrieves the information about it and calls
ComponentInfo.loadIcon()
to return its icon.
If the activity cannot be found, NameNotFoundException is thrown.
Parameters | |
---|---|
activityName |
ComponentName : Name of the activity whose icon is to be retrieved.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the icon, or the default activity icon if it could not be found. Does not return null. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getActivityInfo
public ActivityInfo getActivityInfo (ComponentName className, int flags)
Retrieve all of the information we know about a particular activity
class.
Use getActivityInfo(android.content.ComponentName, android.content.pm.PackageManager.ComponentInfoFlags)
when long flags are needed.
Parameters | |
---|---|
className |
ComponentName : The full component name (i.e.
com.google.apps.contacts/com.google.apps.contacts.
ContactsList) of an Activity class.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
ActivityInfo |
An ActivityInfo containing information about the
activity.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getActivityLogo
public Drawable getActivityLogo (Intent intent)
Retrieve the logo associated with an Intent. If intent.getClassName() is set, this simply returns the result of getActivityLogo(intent.getClassName()). Otherwise it resolves the intent's component and returns the logo associated with the resolved component. If intent.getClassName() cannot be found or the Intent cannot be resolved to a component, NameNotFoundException is thrown.
Parameters | |
---|---|
intent |
Intent : The intent for which you would like to retrieve a logo.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the logo, or null if the activity has no logo specified. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getActivityLogo
public Drawable getActivityLogo (ComponentName activityName)
Retrieve the logo associated with an activity. Given the full name of an
activity, retrieves the information about it and calls
ComponentInfo.loadLogo()
to return its
logo. If the activity cannot be found, NameNotFoundException is thrown.
Parameters | |
---|---|
activityName |
ComponentName : Name of the activity whose logo is to be retrieved.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the logo or null if the activity has no logo specified. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getAllIntentFilters
public List<IntentFilter> getAllIntentFilters (String packageName)
Parameters | |
---|---|
packageName |
String |
Returns | |
---|---|
List<IntentFilter> |
getAllPermissionGroups
public List<PermissionGroupInfo> getAllPermissionGroups (int flags)
Retrieve all of the known permission groups in the system.
Parameters | |
---|---|
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or PackageManager.GET_META_DATA |
Returns | |
---|---|
List<PermissionGroupInfo> |
Returns a list of PermissionGroupInfo containing
information about all of the known permission groups.
This value cannot be null . |
getApplicationBanner
public Drawable getApplicationBanner (ApplicationInfo info)
Retrieve the banner associated with an application.
Parameters | |
---|---|
info |
ApplicationInfo : Information about application being queried.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the banner or null if the application has no banner specified. |
getApplicationBanner
public Drawable getApplicationBanner (String packageName)
Retrieve the banner associated with an application. Given the name of the application's package, retrieves the information about it and calls getApplicationIcon() to return its banner. If the application cannot be found, NameNotFoundException is thrown.
Parameters | |
---|---|
packageName |
String : Name of the package whose application banner is to be
retrieved.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the banner or null if the application has no banner specified. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getApplicationEnabledSetting
public int getApplicationEnabledSetting (String packageName)
Return the enabled setting for an application. This returns
the last value set by
setApplicationEnabledSetting(java.lang.String, int, int)
; in most
cases this value will be COMPONENT_ENABLED_STATE_DEFAULT
since
the value originally specified in the manifest has not been modified.
Parameters | |
---|---|
packageName |
String : The package name of the application to retrieve.
This value cannot be null . |
Returns | |
---|---|
int |
Returns the current enabled state for the application.
Value is COMPONENT_ENABLED_STATE_DEFAULT , COMPONENT_ENABLED_STATE_ENABLED , COMPONENT_ENABLED_STATE_DISABLED , COMPONENT_ENABLED_STATE_DISABLED_USER , or COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED |
getApplicationIcon
public Drawable getApplicationIcon (String packageName)
Retrieve the icon associated with an application. Given the name of the application's package, retrieves the information about it and calls getApplicationIcon() to return its icon. If the application cannot be found, NameNotFoundException is thrown.
Parameters | |
---|---|
packageName |
String : Name of the package whose application icon is to be
retrieved.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the icon, or the default application icon if it could not be found. Does not return null. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getApplicationIcon
public Drawable getApplicationIcon (ApplicationInfo info)
Retrieve the icon associated with an application. If it has not defined an icon, the default app icon is returned. Does not return null.
Parameters | |
---|---|
info |
ApplicationInfo : Information about application being queried.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the icon, or the default application icon if it could not be found. |
getApplicationInfo
public ApplicationInfo getApplicationInfo (String packageName, int flags)
Retrieve all of the information we know about a particular
package/application.
Use getApplicationInfo(java.lang.String, android.content.pm.PackageManager.ApplicationInfoFlags)
when long flags are needed.
Parameters | |
---|---|
packageName |
String : The full name (i.e. com.google.apps.contacts) of an
application.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
ApplicationInfo |
An ApplicationInfo containing information about the
package. If flag MATCH_UNINSTALLED_PACKAGES is set and if
the package is not found in the list of installed applications,
the application information is retrieved from the list of
uninstalled applications (which includes installed applications
as well as applications with data directory i.e. applications
which had been deleted with DELETE_KEEP_DATA flag set).
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getApplicationLabel
public CharSequence getApplicationLabel (ApplicationInfo info)
Return the label to use for this application.
Parameters | |
---|---|
info |
ApplicationInfo : The ApplicationInfo of the application to get the label of.
This value cannot be null . |
Returns | |
---|---|
CharSequence |
Returns a CharSequence containing the label associated with
this application, or its name the item does not have a label.
This value cannot be null . |
getApplicationLogo
public Drawable getApplicationLogo (String packageName)
Retrieve the logo associated with an application. Given the name of the application's package, retrieves the information about it and calls getApplicationLogo() to return its logo. If the application cannot be found, NameNotFoundException is thrown.
Parameters | |
---|---|
packageName |
String : Name of the package whose application logo is to be
retrieved.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the logo, or null if no application logo has been specified. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getApplicationLogo
public Drawable getApplicationLogo (ApplicationInfo info)
Retrieve the logo associated with an application. If it has not specified a logo, this method returns null.
Parameters | |
---|---|
info |
ApplicationInfo : Information about application being queried.
This value cannot be null . |
Returns | |
---|---|
Drawable |
Returns the image of the logo, or null if no logo is specified by the application. |
getComponentEnabledSetting
public int getComponentEnabledSetting (ComponentName componentName)
Return the enabled setting for a package component (activity,
receiver, service, provider). This returns the last value set by
setComponentEnabledSetting(android.content.ComponentName, int, int)
; in most
cases this value will be COMPONENT_ENABLED_STATE_DEFAULT
since
the value originally specified in the manifest has not been modified.
Parameters | |
---|---|
componentName |
ComponentName : The component to retrieve.
This value cannot be null . |
Returns | |
---|---|
int |
Returns the current enabled state for the component.
Value is COMPONENT_ENABLED_STATE_DEFAULT , COMPONENT_ENABLED_STATE_ENABLED , COMPONENT_ENABLED_STATE_DISABLED , COMPONENT_ENABLED_STATE_DISABLED_USER , or COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED |
getDefaultActivityIcon
public Drawable getDefaultActivityIcon ()
Return the generic icon for an activity that is used when no specific icon is defined.
Returns | |
---|---|
Drawable |
Drawable Image of the icon.
This value cannot be null . |
getDrawable
public Drawable getDrawable (String packageName, int resid, ApplicationInfo appInfo)
Retrieve an image from a package. This is a low-level API used by
the various package manager info structures (such as
ComponentInfo
to implement retrieval of their associated
icon.
Parameters | |
---|---|
packageName |
String : The name of the package that this icon is coming from.
Cannot be null. |
resid |
int : The resource identifier of the desired image. Cannot be 0. |
appInfo |
ApplicationInfo : Overall information about packageName. This
may be null, in which case the application information will be retrieved
for you if needed; if you already have this information around, it can
be much more efficient to supply it here. |
Returns | |
---|---|
Drawable |
Returns a Drawable holding the requested image. Returns null if an image could not be found for any reason. |
getInstalledApplications
public List<ApplicationInfo> getInstalledApplications (int flags)
Return a List of all application packages that are installed for the
current user. If flag GET_UNINSTALLED_PACKAGES has been set, a list of all
applications including those deleted with DELETE_KEEP_DATA
(partially installed apps with data directory) will be returned.
Use getInstalledApplications(android.content.pm.PackageManager.ApplicationInfoFlags)
when long flags are needed.
Parameters | |
---|---|
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
List<ApplicationInfo> |
A List of ApplicationInfo objects, one for each installed
application. In the unlikely case there are no installed
packages, an empty list is returned. If flag
MATCH_UNINSTALLED_PACKAGES is set, the application
information is retrieved from the list of uninstalled
applications (which includes installed applications as well as
applications with data directory i.e. applications which had been
deleted with DELETE_KEEP_DATA flag set).
This value cannot be null . |
getInstalledPackages
public List<PackageInfo> getInstalledPackages (int flags)
Return a List of all packages that are installed for the current user.
Use getInstalledPackages(android.content.pm.PackageManager.PackageInfoFlags)
when long flags are needed.
Parameters | |
---|---|
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
List<PackageInfo> |
A List of PackageInfo objects, one for each installed package,
containing information about the package. In the unlikely case
there are no installed packages, an empty list is returned. If
flag MATCH_UNINSTALLED_PACKAGES is set, the package
information is retrieved from the list of uninstalled
applications (which includes installed applications as well as
applications with data directory i.e. applications which had been
deleted with DELETE_KEEP_DATA flag set).
This value cannot be null . |
getInstallerPackageName
public String getInstallerPackageName (String packageName)
This method was deprecated
in API level 24.
use getInstallSourceInfo(java.lang.String)
instead
Retrieve the package name of the application that installed a package. This identifies which market the package came from.
Parameters | |
---|---|
packageName |
String : The name of the package to query
This value cannot be null . |
Returns | |
---|---|
String |
This value may be null . |
getInstrumentationInfo
public InstrumentationInfo getInstrumentationInfo (ComponentName className, int flags)
Retrieve all of the information we know about a particular instrumentation class.
Parameters | |
---|---|
className |
ComponentName : The full name (i.e.
com.google.apps.contacts.InstrumentList) of an Instrumentation
class.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or PackageManager.GET_META_DATA |
Returns | |
---|---|
InstrumentationInfo |
An InstrumentationInfo object containing information
about the instrumentation.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getLaunchIntentForPackage
public Intent getLaunchIntentForPackage (String packageName)
Returns a "good" intent to launch a front-door activity in a package.
This is used, for example, to implement an "open" button when browsing
through packages. The current implementation looks first for a main
activity in the category Intent#CATEGORY_INFO
, and next for a
main activity in the category Intent#CATEGORY_LAUNCHER
. Returns
null
if neither are found.
Consider using getLaunchIntentSenderForPackage(java.lang.String)
if
the caller is not allowed to query for the packageName
.
Parameters | |
---|---|
packageName |
String : The name of the package to inspect.
This value cannot be null . |
Returns | |
---|---|
Intent |
A fully-qualified Intent that can be used to launch the
main activity in the package. Returns null if the package
does not contain such an activity, or if packageName is not
recognized. |
getLeanbackLaunchIntentForPackage
public Intent getLeanbackLaunchIntentForPackage (String packageName)
Return a "good" intent to launch a front-door Leanback activity in a
package, for use for example to implement an "open" button when browsing
through packages. The current implementation will look for a main
activity in the category Intent#CATEGORY_LEANBACK_LAUNCHER
, or
return null if no main leanback activities are found.
Parameters | |
---|---|
packageName |
String : The name of the package to inspect.
This value cannot be null . |
Returns | |
---|---|
Intent |
Returns either a fully-qualified Intent that can be used to launch the main Leanback activity in the package, or null if the package does not contain such an activity. |
getNameForUid
public String getNameForUid (int uid)
Retrieve the official name associated with a uid. This name is guaranteed to never change, though it is possible for the underlying uid to be changed. That is, if you are storing information about uids in persistent storage, you should use the string returned by this function instead of the raw uid.
Parameters | |
---|---|
uid |
int : The uid for which you would like to retrieve a name. |
Returns | |
---|---|
String |
Returns a unique name for the given uid, or null if the uid is not currently assigned. |
getPackageArchiveInfo
public PackageInfo getPackageArchiveInfo (String archiveFilePath, int flags)
Retrieve overall information about an application package defined in a
package archive file
Use getPackageArchiveInfo(java.lang.String, android.content.pm.PackageManager.PackageInfoFlags)
when long flags are needed.
Parameters | |
---|---|
archiveFilePath |
String : The path to the archive file
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
PackageInfo |
A PackageInfo object containing information about the package archive. If the package could not be parsed, returns null. |
getPackageGids
public int[] getPackageGids (String packageName)
Return an array of all of the POSIX secondary group IDs that have been assigned to the given package.
Note that the same package may have different GIDs under different
UserHandle
on the same device.
Parameters | |
---|---|
packageName |
String : The full name (i.e. com.google.apps.contacts) of the
desired package.
This value cannot be null . |
Returns | |
---|---|
int[] |
Returns an int array of the assigned GIDs, or null if there are none. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getPackageGids
public int[] getPackageGids (String packageName, int flags)
Return an array of all of the POSIX secondary group IDs that have been assigned to the given package.
Note that the same package may have different GIDs under different
UserHandle
on the same device.
Use getPackageGids(java.lang.String, android.content.pm.PackageManager.PackageInfoFlags)
when long flags are needed.
Parameters | |
---|---|
packageName |
String : The full name (i.e. com.google.apps.contacts) of the
desired package.
This value cannot be null . |
flags |
int |
Returns | |
---|---|
int[] |
Returns an int array of the assigned gids, or null if there are none. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getPackageInfo
public PackageInfo getPackageInfo (String packageName, int flags)
Retrieve overall information about an application package that is
installed on the system.
Use getPackageInfo(java.lang.String, android.content.pm.PackageManager.PackageInfoFlags)
when long flags are needed.
Parameters | |
---|---|
packageName |
String : The full name (i.e. com.google.apps.contacts) of the
desired package.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
PackageInfo |
A PackageInfo object containing information about the package. If
flag MATCH_UNINSTALLED_PACKAGES is set and if the package
is not found in the list of installed applications, the package
information is retrieved from the list of uninstalled
applications (which includes installed applications as well as
applications with data directory i.e. applications which had been
deleted with DELETE_KEEP_DATA flag set). |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getPackageInfo
public PackageInfo getPackageInfo (VersionedPackage versionedPackage, int flags)
Retrieve overall information about an application package that is
installed on the system. This method can be used for retrieving
information about packages for which multiple versions can be installed
at the time. Currently only packages hosting static shared libraries can
have multiple installed versions. The method can also be used to get info
for a package that has a single version installed by passing
VERSION_CODE_HIGHEST
in the VersionedPackage
constructor.
Use getPackageInfo(android.content.pm.VersionedPackage, android.content.pm.PackageManager.PackageInfoFlags)
when long flags are needed.
Parameters | |
---|---|
versionedPackage |
VersionedPackage : The versioned package for which to query.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
PackageInfo |
A PackageInfo object containing information about the package. If
flag MATCH_UNINSTALLED_PACKAGES is set and if the package
is not found in the list of installed applications, the package
information is retrieved from the list of uninstalled
applications (which includes installed applications as well as
applications with data directory i.e. applications which had been
deleted with DELETE_KEEP_DATA flag set). |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getPackageUid
public int getPackageUid (String packageName, int flags)
Return the UID associated with the given package name.
Note that the same package will have different UIDs under different
UserHandle
on the same device.
Use getPackageUid(java.lang.String, android.content.pm.PackageManager.PackageInfoFlags)
when long flags are needed.
Parameters | |
---|---|
packageName |
String : The full name (i.e. com.google.apps.contacts) of the
desired package.
This value cannot be null . |
flags |
int |
Returns | |
---|---|
int |
Returns an integer UID who owns the given package name. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getPackagesForUid
public String[] getPackagesForUid (int uid)
Retrieve the names of all packages that are associated with a particular user id. In most cases, this will be a single package name, the package that has been assigned that user id. Where there are multiple packages sharing the same user id through the "sharedUserId" mechanism, all packages with that id will be returned.
Parameters | |
---|---|
uid |
int : The user id for which you would like to retrieve the
associated packages. |
Returns | |
---|---|
String[] |
Returns an array of one or more packages assigned to the user id, or null if there are no known packages with the given id. |
getPackagesHoldingPermissions
public List<PackageInfo> getPackagesHoldingPermissions (String[] permissions, int flags)
Return a List of all installed packages that are currently holding any of
the given permissions.
Use getPackagesHoldingPermissions(java.lang.String[], android.content.pm.PackageManager.PackageInfoFlags)
when long flags are
needed.
Parameters | |
---|---|
permissions |
String : This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
List<PackageInfo> |
A List of PackageInfo objects, one for each installed package
that holds any of the permissions that were provided, containing
information about the package. If no installed packages hold any
of the permissions, an empty list is returned. If flag
MATCH_UNINSTALLED_PACKAGES is set, the package
information is retrieved from the list of uninstalled
applications (which includes installed applications as well as
applications with data directory i.e. applications which had been
deleted with DELETE_KEEP_DATA flag set).
This value cannot be null . |
getPermissionGroupInfo
public PermissionGroupInfo getPermissionGroupInfo (String name, int flags)
Retrieve all of the information we know about a particular group of permissions.
Parameters | |
---|---|
name |
String : The fully qualified name (i.e.
com.google.permission_group.APPS) of the permission you are
interested in.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or PackageManager.GET_META_DATA |
Returns | |
---|---|
PermissionGroupInfo |
Returns a PermissionGroupInfo containing information
about the permission.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getPermissionInfo
public PermissionInfo getPermissionInfo (String name, int flags)
Retrieve all of the information we know about a particular permission.
Parameters | |
---|---|
name |
String : The fully qualified name (i.e. com.google.permission.LOGIN)
of the permission you are interested in.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or PackageManager.GET_META_DATA |
Returns | |
---|---|
PermissionInfo |
Returns a PermissionInfo containing information about the
permission. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getPreferredActivities
public int getPreferredActivities (List<IntentFilter> outFilters, List<ComponentName> outActivities, String packageName)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
resolveActivity(Intent, ResolveInfoFlags)
or queryIntentActivities(Intent, ResolveInfoFlags)
. To configure
an app to be responsible for a particular role and to check current role
holders, see RoleManager
.
Retrieve all preferred activities, previously added with
addPreferredActivity(IntentFilter, int, ComponentName, ComponentName)
, that are
currently registered with the system.
Parameters | |
---|---|
outFilters |
List : A required list in which to place the filters of all of the
preferred activities.
This value cannot be null . |
outActivities |
List : A required list in which to place the component names of
all of the preferred activities.
This value cannot be null . |
packageName |
String : An optional package in which you would like to limit
the list. If null, all activities will be returned; if non-null, only
those activities in the given package are returned. |
Returns | |
---|---|
int |
Returns the total number of registered preferred activities (the number of distinct IntentFilter records, not the number of unique activity components) that were found. |
getPreferredPackages
public List<PackageInfo> getPreferredPackages (int flags)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
resolveActivity(Intent, ResolveInfoFlags)
or queryIntentActivities(Intent, ResolveInfoFlags)
. To configure
an app to be responsible for a particular role and to check current role
holders, see RoleManager
.
Retrieve the list of all currently configured preferred packages. The first package on the list is the most preferred, the last is the least preferred.
Parameters | |
---|---|
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
List<PackageInfo> |
A List of PackageInfo objects, one for each preferred
application, in order of preference.
This value cannot be null . |
getProviderInfo
public ProviderInfo getProviderInfo (ComponentName className, int flags)
Retrieve all of the information we know about a particular content
provider class.
Use getProviderInfo(android.content.ComponentName, android.content.pm.PackageManager.ComponentInfoFlags)
when long flags are needed.
Parameters | |
---|---|
className |
ComponentName : The full component name (i.e.
com.google.providers.media/com.google.providers.media.
MediaProvider) of a ContentProvider class.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
ProviderInfo |
A ProviderInfo object containing information about the
provider.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getReceiverInfo
public ActivityInfo getReceiverInfo (ComponentName className, int flags)
Retrieve all of the information we know about a particular receiver
class.
Use getReceiverInfo(android.content.ComponentName, android.content.pm.PackageManager.ComponentInfoFlags)
when long flags are needed.
Parameters | |
---|---|
className |
ComponentName : The full component name (i.e.
com.google.apps.calendar/com.google.apps.calendar.
CalendarAlarm) of a Receiver class.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
ActivityInfo |
An ActivityInfo containing information about the
receiver.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getResourcesForActivity
public Resources getResourcesForActivity (ComponentName activityName)
Retrieve the resources associated with an activity. Given the full name of an activity, retrieves the information about it and calls getResources() to return its application's resources. If the activity cannot be found, NameNotFoundException is thrown.
Parameters | |
---|---|
activityName |
ComponentName : Name of the activity whose resources are to be
retrieved.
This value cannot be null . |
Returns | |
---|---|
Resources |
Returns the application's Resources.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getResourcesForApplication
public Resources getResourcesForApplication (String appPackageName)
Retrieve the resources associated with an application. Given the full package name of an application, retrieves the information about it and calls getResources() to return its application's resources. If the appPackageName cannot be found, NameNotFoundException is thrown.
Parameters | |
---|---|
appPackageName |
String : Package name of the application whose resources
are to be retrieved.
This value cannot be null . |
Returns | |
---|---|
Resources |
Returns the application's Resources.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getResourcesForApplication
public Resources getResourcesForApplication (ApplicationInfo app)
Retrieve the resources for an application. Throws NameNotFoundException if the package is no longer installed.
Parameters | |
---|---|
app |
ApplicationInfo : Information about the desired application.
This value cannot be null . |
Returns | |
---|---|
Resources |
Returns the application's Resources.
This value cannot be null . |
getServiceInfo
public ServiceInfo getServiceInfo (ComponentName className, int flags)
Retrieve all of the information we know about a particular service class.
Use getServiceInfo(android.content.ComponentName, android.content.pm.PackageManager.ComponentInfoFlags)
when long flags are needed.
Parameters | |
---|---|
className |
ComponentName : The full component name (i.e.
com.google.apps.media/com.google.apps.media.
BackgroundPlayback) of a Service class.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
ServiceInfo |
A ServiceInfo object containing information about the
service.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
getSharedLibraries
public List<SharedLibraryInfo> getSharedLibraries (int flags)
Get a list of shared libraries on the device.
Use getSharedLibraries(android.content.pm.PackageManager.PackageInfoFlags)
when long flags are needed.
Parameters | |
---|---|
flags |
int : To filter the libraries to return. |
Returns | |
---|---|
List<SharedLibraryInfo> |
This value cannot be null . |
getSystemAvailableFeatures
public FeatureInfo[] getSystemAvailableFeatures ()
Get a list of features that are available on the system.
Returns | |
---|---|
FeatureInfo[] |
An array of FeatureInfo classes describing the features that are available on the system, or null if there are none(!!). |
getSystemSharedLibraryNames
public String[] getSystemSharedLibraryNames ()
Get a list of shared libraries that are available on the system.
Returns | |
---|---|
String[] |
An array of shared library names that are available on the system, or null if none are installed. |
getText
public CharSequence getText (String packageName, int resid, ApplicationInfo appInfo)
Retrieve text from a package. This is a low-level API used by
the various package manager info structures (such as
ComponentInfo
to implement retrieval of their associated
labels and other text.
Parameters | |
---|---|
packageName |
String : The name of the package that this text is coming from.
Cannot be null. |
resid |
int : The resource identifier of the desired text. Cannot be 0. |
appInfo |
ApplicationInfo : Overall information about packageName. This
may be null, in which case the application information will be retrieved
for you if needed; if you already have this information around, it can
be much more efficient to supply it here. |
Returns | |
---|---|
CharSequence |
Returns a CharSequence holding the requested text. Returns null if the text could not be found for any reason. |
getUserBadgedDrawableForDensity
public Drawable getUserBadgedDrawableForDensity (Drawable drawable, UserHandle user, Rect badgeLocation, int badgeDensity)
If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a badged copy of the given drawable allowing the user to distinguish it from the original drawable. The caller can specify the location in the bounds of the drawable to be badged where the badge should be applied as well as the density of the badge to be used.
If the original drawable is a BitmapDrawable and the backing bitmap is
mutable as per Bitmap.isMutable()
, the badging
is performed in place and the original drawable is returned.
Parameters | |
---|---|
drawable |
Drawable : The drawable to badge.
This value cannot be null . |
user |
UserHandle : The target user.
This value cannot be null . |
badgeLocation |
Rect : Where in the bounds of the badged drawable to place
the badge. If it's null , the badge is applied on top of the entire
drawable being badged. |
badgeDensity |
int : The optional desired density for the badge as per
DisplayMetrics.densityDpi . If it's not positive,
the density of the display is used. |
Returns | |
---|---|
Drawable |
A drawable that combines the original drawable and a badge as
determined by the system.
This value cannot be null . |
getUserBadgedIcon
public Drawable getUserBadgedIcon (Drawable icon, UserHandle user)
If the target user is a managed profile, then this returns a badged copy of the given icon
to be able to distinguish it from the original icon. For badging an arbitrary drawable use
getUserBadgedDrawableForDensity(android.graphics.drawable.Drawable, android.os.UserHandle, android.graphics.Rect, int)
.
If the original drawable is a BitmapDrawable and the backing bitmap is
mutable as per Bitmap.isMutable()
, the badging
is performed in place and the original drawable is returned.
Parameters | |
---|---|
icon |
Drawable : The drawable to badge.
This value cannot be null . |
user |
UserHandle : The target user.
This value cannot be null . |
Returns | |
---|---|
Drawable |
A drawable that combines the original icon and a badge as
determined by the system.
This value cannot be null . |
getUserBadgedLabel
public CharSequence getUserBadgedLabel (CharSequence label, UserHandle user)
If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a copy of the label with badging for accessibility services like talkback. E.g. passing in "Email" and it might return "Work Email" for Email in the work profile.
Parameters | |
---|---|
label |
CharSequence : The label to change.
This value cannot be null . |
user |
UserHandle : The target user.
This value cannot be null . |
Returns | |
---|---|
CharSequence |
A label that combines the original label and a badge as
determined by the system.
This value cannot be null . |
getXml
public XmlResourceParser getXml (String packageName, int resid, ApplicationInfo appInfo)
Retrieve an XML file from a package. This is a low-level API used to retrieve XML meta data.
Parameters | |
---|---|
packageName |
String : The name of the package that this xml is coming from.
Cannot be null. |
resid |
int : The resource identifier of the desired xml. Cannot be 0. |
appInfo |
ApplicationInfo : Overall information about packageName. This
may be null, in which case the application information will be retrieved
for you if needed; if you already have this information around, it can
be much more efficient to supply it here. |
Returns | |
---|---|
XmlResourceParser |
Returns an XmlPullParser allowing you to parse out the XML data. Returns null if the xml resource could not be found for any reason. |
hasSigningCertificate
public boolean hasSigningCertificate (int uid, byte[] certificate, int type)
Searches the set of signing certificates by which the package(s) for the given uid has proven
to have been signed. For multiple packages sharing the same uid, this will return the
signing certificates found in the signing history of the "newest" package, where "newest"
indicates the package with the newest signing certificate in the shared uid group. This
method should be used instead of getPackageInfo
with GET_SIGNATURES
since it takes into account the possibility of signing certificate rotation, except in the
case of packages that are signed by multiple certificates, for which signing certificate
rotation is not supported. This method is analogous to using getPackagesForUid
followed by getPackageInfo
with GET_SIGNING_CERTIFICATES
, selecting the
PackageInfo
of the newest-signed bpackage , and finally searching through the
resulting signingInfo
field to see if the desired certificate is there.
Parameters | |
---|---|
uid |
int : uid whose signing certificates to check |
certificate |
byte : signing certificate for which to search
This value cannot be null . |
type |
int : Value is PackageManager.CERT_INPUT_RAW_X509 , or PackageManager.CERT_INPUT_SHA256 |
Returns | |
---|---|
boolean |
true if this package was or is signed by exactly the certificate certificate |
hasSigningCertificate
public boolean hasSigningCertificate (String packageName, byte[] certificate, int type)
Searches the set of signing certificates by which the given package has proven to have been
signed. This should be used instead of getPackageInfo
with GET_SIGNATURES
since it takes into account the possibility of signing certificate rotation, except in the
case of packages that are signed by multiple certificates, for which signing certificate
rotation is not supported. This method is analogous to using getPackageInfo
with
GET_SIGNING_CERTIFICATES
and then searching through the resulting signingInfo
field to see if the desired certificate is present.
Parameters | |
---|---|
packageName |
String : package whose signing certificates to check
This value cannot be null . |
certificate |
byte : signing certificate for which to search
This value cannot be null . |
type |
int : Value is PackageManager.CERT_INPUT_RAW_X509 , or PackageManager.CERT_INPUT_SHA256 |
Returns | |
---|---|
boolean |
true if this package was or is signed by exactly the certificate certificate |
hasSystemFeature
public boolean hasSystemFeature (String name)
Check whether the given feature name is one of the available features as
returned by getSystemAvailableFeatures()
. This tests for the
presence of any version of the given feature name; use
hasSystemFeature(java.lang.String, int)
to check for a minimum version.
Parameters | |
---|---|
name |
String : This value cannot be null . |
Returns | |
---|---|
boolean |
Returns true if the devices supports the feature, else false. |
hasSystemFeature
public boolean hasSystemFeature (String name, int version)
Check whether the given feature name and version is one of the available
features as returned by getSystemAvailableFeatures()
. Since
features are defined to always be backwards compatible, this returns true
if the available feature version is greater than or equal to the
requested version.
Parameters | |
---|---|
name |
String : This value cannot be null . |
version |
int |
Returns | |
---|---|
boolean |
Returns true if the devices supports the feature, else false. |
isPermissionRevokedByPolicy
public boolean isPermissionRevokedByPolicy (String permName, String pkgName)
Checks whether a particular permissions has been revoked for a package by policy. Typically the device owner or the profile owner may apply such a policy. The user cannot grant policy revoked permissions, hence the only way for an app to get such a permission is by a policy change.
Parameters | |
---|---|
permName |
String : The name of the permission you are checking for.
This value cannot be null . |
pkgName |
String : The name of the package you are checking against.
This value cannot be null . |
Returns | |
---|---|
boolean |
Whether the permission is restricted by policy. |
isSafeMode
public boolean isSafeMode ()
Return whether the device has been booted into safe mode.
Returns | |
---|---|
boolean |
queryBroadcastReceivers
public List<ResolveInfo> queryBroadcastReceivers (Intent intent, int flags)
Retrieve all receivers that can handle a broadcast of the given intent.
Use queryBroadcastReceivers(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags)
when long flags are needed.
Parameters | |
---|---|
intent |
Intent : The desired intent as per resolveActivity().
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
List<ResolveInfo> |
Returns a List of ResolveInfo objects containing one entry for each matching receiver, ordered from best to worst. If there are no matching receivers, an empty list or null is returned. |
queryContentProviders
public List<ProviderInfo> queryContentProviders (String processName, int uid, int flags)
Retrieve content provider information.
Note: unlike most other methods, an empty result set is indicated
by a null return instead of an empty list.
Use queryContentProviders(java.lang.String, int, android.content.pm.PackageManager.ComponentInfoFlags)
when long flags are
needed.
Parameters | |
---|---|
processName |
String : If non-null, limits the returned providers to only
those that are hosted by the given process. If null, all
content providers are returned. |
uid |
int : If processName is non-null, this is the required
uid owning the requested content providers. |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
List<ProviderInfo> |
A list of ProviderInfo objects containing one entry for
each provider either matching processName or, if
processName is null, all known content providers.
If there are no matching providers, null is returned. |
queryInstrumentation
public List<InstrumentationInfo> queryInstrumentation (String targetPackage, int flags)
Retrieve information about available instrumentation code. May be used to retrieve either all instrumentation code, or only the code targeting a particular package.
Parameters | |
---|---|
targetPackage |
String : If null, all instrumentation is returned; only the
instrumentation targeting this package name is returned. |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or PackageManager.GET_META_DATA |
Returns | |
---|---|
List<InstrumentationInfo> |
A list of InstrumentationInfo objects containing one
entry for each matching instrumentation. If there are no
instrumentation available, returns an empty list.
This value cannot be null . |
queryIntentActivities
public List<ResolveInfo> queryIntentActivities (Intent intent, int flags)
Retrieve all activities that can be performed for the given intent.
Use queryIntentActivities(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags)
when long flags are needed.
Parameters | |
---|---|
intent |
Intent : The desired intent as per resolveActivity().
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. The
most important is PackageManager.MATCH_DEFAULT_ONLY , to limit the
resolution to only those activities that support the
Intent.CATEGORY_DEFAULT . Or, set
PackageManager.MATCH_ALL to prevent any filtering of the results. |
Returns | |
---|---|
List<ResolveInfo> |
Returns a List of ResolveInfo objects containing one entry for
each matching activity, ordered from best to worst. In other
words, the first item is what would be returned by
resolveActivity(Intent, ResolveInfoFlags) . If there are no matching activities, an
empty list is returned.
This value cannot be null . |
queryIntentActivityOptions
public List<ResolveInfo> queryIntentActivityOptions (ComponentName caller, Intent[] specifics, Intent intent, int flags)
Retrieve a set of activities that should be presented to the user as
similar options. This is like queryIntentActivities(Intent, ResolveInfoFlags)
, except it
also allows you to supply a list of more explicit Intents that you would
like to resolve to particular options, and takes care of returning the
final ResolveInfo list in a reasonable order, with no duplicates, based
on those inputs.
Use queryIntentActivityOptions(android.content.ComponentName, java.util.List, android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags)
when
long flags are needed.
Parameters | |
---|---|
caller |
ComponentName : The class name of the activity that is making the request.
This activity will never appear in the output list. Can be
null. |
specifics |
Intent : An array of Intents that should be resolved to the first
specific results. Can be null. |
intent |
Intent : The desired intent as per resolveActivity().
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. The
most important is PackageManager.MATCH_DEFAULT_ONLY , to limit the
resolution to only those activities that support the
Intent.CATEGORY_DEFAULT . |
Returns | |
---|---|
List<ResolveInfo> |
Returns a List of ResolveInfo objects containing one entry for
each matching activity. The list is ordered first by all of the
intents resolved in specifics and then any additional
activities that can handle intent but did not get
included by one of the specifics intents. If there are
no matching activities, an empty list is returned.
This value cannot be null . |
queryIntentContentProviders
public List<ResolveInfo> queryIntentContentProviders (Intent intent, int flags)
Retrieve all providers that can match the given intent.
Use queryIntentContentProviders(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags)
when long flags are
needed.
Parameters | |
---|---|
intent |
Intent : An intent containing all of the desired specification
(action, data, type, category, and/or component).
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
List<ResolveInfo> |
Returns a List of ResolveInfo objects containing one entry for each matching provider, ordered from best to worst. If there are no matching services, an empty list or null is returned. |
queryIntentServices
public List<ResolveInfo> queryIntentServices (Intent intent, int flags)
Retrieve all services that can match the given intent.
Use queryIntentServices(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags)
when long flags are needed.
Parameters | |
---|---|
intent |
Intent : The desired intent as per resolveService().
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
List<ResolveInfo> |
Returns a List of ResolveInfo objects containing one entry for
each matching service, ordered from best to worst. In other
words, the first item is what would be returned by
resolveService(Intent, ResolveInfoFlags) . If there are no matching services, an
empty list or null is returned. |
queryPermissionsByGroup
public List<PermissionInfo> queryPermissionsByGroup (String group, int flags)
Query for all of the permissions associated with a particular group.
Parameters | |
---|---|
group |
String : The fully qualified name (i.e. com.google.permission.LOGIN)
of the permission group you are interested in. Use null to
find all of the permissions not associated with a group. |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or PackageManager.GET_META_DATA |
Returns | |
---|---|
List<PermissionInfo> |
Returns a list of PermissionInfo containing information
about all of the permissions in the given group.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
removePackageFromPreferred
public void removePackageFromPreferred (String packageName)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
resolveActivity(Intent, ResolveInfoFlags)
or queryIntentActivities(Intent, ResolveInfoFlags)
. To configure
an app to be responsible for a particular role and to check current role
holders, see RoleManager
.
Parameters | |
---|---|
packageName |
String : This value cannot be null . |
removePermission
public void removePermission (String name)
Removes a permission that was previously added with
addPermission(android.content.pm.PermissionInfo)
. The same ownership rules apply
-- you are only allowed to remove permissions that you are allowed
to add.
Parameters | |
---|---|
name |
String : The name of the permission to remove.
This value cannot be null . |
resolveActivity
public ResolveInfo resolveActivity (Intent intent, int flags)
Determine the best action to perform for a given Intent. This is how
Intent#resolveActivity
finds an activity if a class has not been
explicitly specified.
Note: if using an implicit Intent (without an explicit
ComponentName specified), be sure to consider whether to set the
MATCH_DEFAULT_ONLY
only flag. You need to do so to resolve the
activity in the same way that
Context.startActivity(Intent)
and
Intent.resolveActivity(PackageManager)
do.
resolveActivity(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags)
when long flags are needed.
Parameters | |
---|---|
intent |
Intent : An intent containing all of the desired specification
(action, data, type, category, and/or component).
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. The
most important is PackageManager.MATCH_DEFAULT_ONLY , to limit the
resolution to only those activities that support the
Intent.CATEGORY_DEFAULT . |
Returns | |
---|---|
ResolveInfo |
Returns a ResolveInfo object containing the final activity intent that was determined to be the best action. Returns null if no matching activity was found. If multiple matching activities are found and there is no default set, returns a ResolveInfo object containing something else, such as the activity resolver. |
resolveContentProvider
public ProviderInfo resolveContentProvider (String name, int flags)
Find a single content provider by its authority.
Example:
Uri uri = Uri.parse("content://com.example.app.provider/table1"); ProviderInfo info = packageManager.resolveContentProvider(uri.getAuthority(), flags);Use
resolveContentProvider(java.lang.String, android.content.pm.PackageManager.ComponentInfoFlags)
when long flags are needed.
Parameters | |
---|---|
name |
String : The authority of the provider to find.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
ProviderInfo |
A ProviderInfo object containing information about the
provider. If a provider was not found, returns null. |
resolveService
public ResolveInfo resolveService (Intent intent, int flags)
Determine the best service to handle for a given Intent.
Use resolveService(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags)
when long flags are needed.
Parameters | |
---|---|
intent |
Intent : An intent containing all of the desired specification
(action, data, type, category, and/or component).
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. |
Returns | |
---|---|
ResolveInfo |
Returns a ResolveInfo object containing the final service intent that was determined to be the best action. Returns null if no matching service was found. |
resolveServiceAsUser
public ResolveInfo resolveServiceAsUser (Intent intent, int flags, int userId)
Parameters | |
---|---|
intent |
Intent |
flags |
int |
userId |
int |
Returns | |
---|---|
ResolveInfo |
setApplicationEnabledSetting
public void setApplicationEnabledSetting (String packageName, int newState, int flags)
Set the enabled setting for an application
This setting will override any enabled state which may have been set by the application in
its manifest. It also overrides the enabled state set in the manifest for any of the
application's components. It does not override any enabled state set by
setComponentEnabledSetting(ComponentName, int, int)
for any of the application's components.
Parameters | |
---|---|
packageName |
String : The package name of the application to enable
This value cannot be null . |
newState |
int : The new enabled state for the application.
Value is PackageManager.COMPONENT_ENABLED_STATE_DEFAULT , PackageManager.COMPONENT_ENABLED_STATE_ENABLED , PackageManager.COMPONENT_ENABLED_STATE_DISABLED , PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER , or PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED |
flags |
int : Optional behavior flags.
Value is either 0 or a combination of PackageManager.DONT_KILL_APP , and PackageManager.SYNCHRONOUS |
setComponentEnabledSetting
public void setComponentEnabledSetting (ComponentName componentName, int newState, int flags)
Set the enabled setting for a package component (activity, receiver, service, provider). This setting will override any enabled state which may have been set by the component in its manifest.
Consider using setComponentEnabledSettings(java.util.List)
if multiple components need to
be updated atomically.
Parameters | |
---|---|
componentName |
ComponentName : The component to enable
This value cannot be null . |
newState |
int : The new enabled state for the component.
Value is PackageManager.COMPONENT_ENABLED_STATE_DEFAULT , PackageManager.COMPONENT_ENABLED_STATE_ENABLED , PackageManager.COMPONENT_ENABLED_STATE_DISABLED , PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER , or PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED |
flags |
int : Optional behavior flags.
Value is either 0 or a combination of PackageManager.DONT_KILL_APP , and PackageManager.SYNCHRONOUS |
setInstallerPackageName
public void setInstallerPackageName (String targetPackage, String installerPackageName)
Change the installer associated with a given package. There are limitations on how the installer package can be changed; in particular:
- A SecurityException will be thrown if installerPackageName is not signed with the same certificate as the calling application.
- A SecurityException will be thrown if targetPackage already has an installer package, and that installer package is not signed with the same certificate as the calling application.
Parameters | |
---|---|
targetPackage |
String : The installed package whose installer will be changed.
This value cannot be null . |
installerPackageName |
String : The package name of the new installer. May be
null to clear the association. |
verifyPendingInstall
public void verifyPendingInstall (int id, int verificationCode)
Allows a package listening to the
broadcast
to respond to the package manager. The response must include
the verificationCode
which is one of
PackageManager#VERIFICATION_ALLOW
or
PackageManager#VERIFICATION_REJECT
.
Parameters | |
---|---|
id |
int : pending package identifier as passed via the
PackageManager#EXTRA_VERIFICATION_ID Intent extra. |
verificationCode |
int : either PackageManager#VERIFICATION_ALLOW
or PackageManager#VERIFICATION_REJECT . |