# Print output for @column tags ?>
public
abstract
class
PackageManager
extends Object
java.lang.Object | |
↳ | android.content.pm.PackageManager |
Class for retrieving various kinds of information related to the application
packages that are currently installed on the device.
You can find this class through Context#getPackageManager
.
Note: If your app targets Android 11 (API level 30) or higher, the methods in this class each return a filtered list of apps. Learn more about how to manage package visibility.
Nested classes | |
---|---|
class |
PackageManager.NameNotFoundException
This exception is thrown when a given package, application, or component name cannot be found. |
Constants | |
---|---|
int |
CERT_INPUT_RAW_X509
Certificate input bytes: the input bytes represent an encoded X.509 Certificate which could
be generated using an |
int |
CERT_INPUT_SHA256
Certificate input bytes: the input bytes represent the SHA256 output of an encoded X.509 Certificate. |
int |
COMPONENT_ENABLED_STATE_DEFAULT
Flag for |
int |
COMPONENT_ENABLED_STATE_DISABLED
Flag for |
int |
COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED
Flag for |
int |
COMPONENT_ENABLED_STATE_DISABLED_USER
Flag for |
int |
COMPONENT_ENABLED_STATE_ENABLED
Flag for |
int |
DONT_KILL_APP
Flag parameter for
|
String |
EXTRA_VERIFICATION_ID
Extra field name for the ID of a package pending verification. |
String |
EXTRA_VERIFICATION_RESULT
Extra field name for the result of a verification, either
|
String |
FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS
Feature for |
String |
FEATURE_APP_WIDGETS
Feature for |
String |
FEATURE_AUDIO_LOW_LATENCY
Feature for |
String |
FEATURE_AUDIO_OUTPUT
Feature for |
String |
FEATURE_AUDIO_PRO
Feature for |
String |
FEATURE_AUTOFILL
Feature for |
String |
FEATURE_AUTOMOTIVE
Feature for |
String |
FEATURE_BACKUP
Feature for |
String |
FEATURE_BLUETOOTH
Feature for |
String |
FEATURE_BLUETOOTH_LE
Feature for |
String |
FEATURE_CAMERA
Feature for |
String |
FEATURE_CAMERA_ANY
Feature for |
String |
FEATURE_CAMERA_AR
Feature for |
String |
FEATURE_CAMERA_AUTOFOCUS
Feature for |
String |
FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING
Feature for |
String |
FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR
Feature for |
String |
FEATURE_CAMERA_CAPABILITY_RAW
Feature for |
String |
FEATURE_CAMERA_CONCURRENT
Feature for |
String |
FEATURE_CAMERA_EXTERNAL
Feature for |
String |
FEATURE_CAMERA_FLASH
Feature for |
String |
FEATURE_CAMERA_FRONT
Feature for |
String |
FEATURE_CAMERA_LEVEL_FULL
Feature for |
String |
FEATURE_CANT_SAVE_STATE
Feature for |
String |
FEATURE_COMPANION_DEVICE_SETUP
Feature for |
String |
FEATURE_CONNECTION_SERVICE
Feature for |
String |
FEATURE_CONSUMER_IR
Feature for |
String |
FEATURE_CONTROLS
Feature for |
String |
FEATURE_DEVICE_ADMIN
Feature for |
String |
FEATURE_EMBEDDED
Feature for |
String |
FEATURE_ETHERNET
Feature for |
String |
FEATURE_FACE
Feature for |
String |
FEATURE_FAKETOUCH
Feature for |
String |
FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT
Feature for |
String |
FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND
Feature for |
String |
FEATURE_FINGERPRINT
Feature for |
String |
FEATURE_FREEFORM_WINDOW_MANAGEMENT
Feature for |
String |
FEATURE_GAMEPAD
Feature for |
String |
FEATURE_HIFI_SENSORS
Feature for |
String |
FEATURE_HOME_SCREEN
Feature for |
String |
FEATURE_INPUT_METHODS
Feature for |
String |
FEATURE_IPSEC_TUNNELS
Feature for |
String |
FEATURE_IRIS
Feature for |
String |
FEATURE_LEANBACK
Feature for |
String |
FEATURE_LEANBACK_ONLY
Feature for |
String |
FEATURE_LIVE_TV
Feature for |
String |
FEATURE_LIVE_WALLPAPER
Feature for |
String |
FEATURE_LOCATION
Feature for |
String |
FEATURE_LOCATION_GPS
Feature for |
String |
FEATURE_LOCATION_NETWORK
Feature for |
String |
FEATURE_MANAGED_USERS
Feature for |
String |
FEATURE_MICROPHONE
Feature for |
String |
FEATURE_MIDI
Feature for |
String |
FEATURE_NFC
Feature for |
String |
FEATURE_NFC_BEAM
Feature for |
String |
FEATURE_NFC_HOST_CARD_EMULATION
Feature for |
String |
FEATURE_NFC_HOST_CARD_EMULATION_NFCF
Feature for |
String |
FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE
Feature for |
String |
FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC
Feature for |
String |
FEATURE_OPENGLES_EXTENSION_PACK
Feature for |
String |
FEATURE_PC
Feature for |
String |
FEATURE_PICTURE_IN_PICTURE
Feature for |
String |
FEATURE_PRINTING
Feature for |
String |
FEATURE_RAM_LOW
Feature for |
String |
FEATURE_RAM_NORMAL
Feature for |
String |
FEATURE_SCREEN_LANDSCAPE
Feature for |
String |
FEATURE_SCREEN_PORTRAIT
Feature for |
String |
FEATURE_SECURELY_REMOVES_USERS
Feature for |
String |
FEATURE_SECURE_LOCK_SCREEN
Feature for |
String |
FEATURE_SENSOR_ACCELEROMETER
Feature for |
String |
FEATURE_SENSOR_AMBIENT_TEMPERATURE
Feature for |
String |
FEATURE_SENSOR_BAROMETER
Feature for |
String |
FEATURE_SENSOR_COMPASS
Feature for |
String |
FEATURE_SENSOR_GYROSCOPE
Feature for |
String |
FEATURE_SENSOR_HEART_RATE
Feature for |
String |
FEATURE_SENSOR_HEART_RATE_ECG
Feature for |
String |
FEATURE_SENSOR_HINGE_ANGLE
Feature for |
String |
FEATURE_SENSOR_LIGHT
Feature for |
String |
FEATURE_SENSOR_PROXIMITY
Feature for |
String |
FEATURE_SENSOR_RELATIVE_HUMIDITY
Feature for |
String |
FEATURE_SENSOR_STEP_COUNTER
Feature for |
String |
FEATURE_SENSOR_STEP_DETECTOR
Feature for |
String |
FEATURE_SE_OMAPI_ESE
Feature for |
String |
FEATURE_SE_OMAPI_SD
Feature for |
String |
FEATURE_SE_OMAPI_UICC
Feature for |
String |
FEATURE_SIP
Feature for |
String |
FEATURE_SIP_VOIP
Feature for |
String |
FEATURE_STRONGBOX_KEYSTORE
Feature for |
String |
FEATURE_TELEPHONY
Feature for |
String |
FEATURE_TELEPHONY_CDMA
Feature for |
String |
FEATURE_TELEPHONY_EUICC
Feature for |
String |
FEATURE_TELEPHONY_GSM
Feature for |
String |
FEATURE_TELEPHONY_IMS
Feature for |
String |
FEATURE_TELEPHONY_MBMS
Feature for |
String |
FEATURE_TELEVISION
This constant is deprecated.
use |
String |
FEATURE_TOUCHSCREEN
Feature for |
String |
FEATURE_TOUCHSCREEN_MULTITOUCH
Feature for |
String |
FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT
Feature for |
String |
FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND
Feature for |
String |
FEATURE_USB_ACCESSORY
Feature for |
String |
FEATURE_USB_HOST
Feature for |
String |
FEATURE_VERIFIED_BOOT
Feature for |
String |
FEATURE_VR_HEADTRACKING
Feature for |
String |
FEATURE_VR_MODE
This constant is deprecated.
use |
String |
FEATURE_VR_MODE_HIGH_PERFORMANCE
Feature for |
String |
FEATURE_VULKAN_DEQP_LEVEL
Feature for |
String |
FEATURE_VULKAN_HARDWARE_COMPUTE
Feature for |
String |
FEATURE_VULKAN_HARDWARE_LEVEL
Feature for |
String |
FEATURE_VULKAN_HARDWARE_VERSION
Feature for |
String |
FEATURE_WATCH
Feature for |
String |
FEATURE_WEBVIEW
Feature for |
String |
FEATURE_WIFI
Feature for |
String |
FEATURE_WIFI_AWARE
Feature for |
String |
FEATURE_WIFI_DIRECT
Feature for |
String |
FEATURE_WIFI_PASSPOINT
Feature for |
String |
FEATURE_WIFI_RTT
Feature for |
int |
FLAG_PERMISSION_WHITELIST_INSTALLER
Permission whitelist flag: permissions whitelisted by the installer. |
int |
FLAG_PERMISSION_WHITELIST_SYSTEM
Permission whitelist flag: permissions whitelisted by the system. |
int |
FLAG_PERMISSION_WHITELIST_UPGRADE
Permission whitelist flag: permissions whitelisted by the system when upgrading from an OS version where the permission was not restricted to an OS version where the permission is restricted. |
int |
GET_ACTIVITIES
|
int |
GET_CONFIGURATIONS
|
int |
GET_DISABLED_COMPONENTS
This constant is deprecated.
replaced with |
int |
GET_DISABLED_UNTIL_USED_COMPONENTS
This constant is deprecated.
replaced with |
int |
GET_GIDS
|
int |
GET_INSTRUMENTATION
|
int |
GET_INTENT_FILTERS
|
int |
GET_META_DATA
|
int |
GET_PERMISSIONS
|
int |
GET_PROVIDERS
|
int |
GET_RECEIVERS
|
int |
GET_RESOLVED_FILTER
|
int |
GET_SERVICES
|
int |
GET_SHARED_LIBRARY_FILES
|
int |
GET_SIGNATURES
This constant is deprecated.
use |
int |
GET_SIGNING_CERTIFICATES
|
int |
GET_UNINSTALLED_PACKAGES
This constant is deprecated.
replaced with |
int |
GET_URI_PERMISSION_PATTERNS
|
int |
INSTALL_REASON_DEVICE_RESTORE
Code indicating that this package was installed as part of restoring from another device. |
int |
INSTALL_REASON_DEVICE_SETUP
Code indicating that this package was installed as part of device setup. |
int |
INSTALL_REASON_POLICY
Code indicating that this package was installed due to enterprise policy. |
int |
INSTALL_REASON_UNKNOWN
Code indicating that the reason for installing this package is unknown. |
int |
INSTALL_REASON_USER
Code indicating that the package installation was initiated by the user. |
int |
MATCH_ALL
Querying flag: if set and if the platform is doing any filtering of the results, then the filtering will not happen. |
int |
MATCH_APEX
|
int |
MATCH_DEFAULT_ONLY
Resolution and querying flag: if set, only filters that support the
|
int |
MATCH_DIRECT_BOOT_AUTO
Querying flag: automatically match components based on their Direct Boot awareness and the current user state. |
int |
MATCH_DIRECT_BOOT_AWARE
Querying flag: match components which are direct boot aware in the returned info, regardless of the current user state. |
int |
MATCH_DIRECT_BOOT_UNAWARE
Querying flag: match components which are direct boot unaware in the returned info, regardless of the current user state. |
int |
MATCH_DISABLED_COMPONENTS
|
int |
MATCH_DISABLED_UNTIL_USED_COMPONENTS
|
int |
MATCH_SYSTEM_ONLY
Querying flag: include only components from applications that are marked
with |
int |
MATCH_UNINSTALLED_PACKAGES
Flag parameter to retrieve some information about all applications (even uninstalled ones) which have data directories. |
long |
MAXIMUM_VERIFICATION_TIMEOUT
Can be used as the |
int |
PERMISSION_DENIED
Permission check result: this is returned by |
int |
PERMISSION_GRANTED
Permission check result: this is returned by |
int |
SIGNATURE_FIRST_NOT_SIGNED
Signature check result: this is returned by |
int |
SIGNATURE_MATCH
Signature check result: this is returned by |
int |
SIGNATURE_NEITHER_SIGNED
Signature check result: this is returned by |
int |
SIGNATURE_NO_MATCH
Signature check result: this is returned by |
int |
SIGNATURE_SECOND_NOT_SIGNED
Signature check result: this is returned by |
int |
SIGNATURE_UNKNOWN_PACKAGE
Signature check result: this is returned by |
int |
SYNCHRONOUS
Flag parameter for
|
int |
VERIFICATION_ALLOW
Used as the |
int |
VERIFICATION_REJECT
Used as the |
int |
VERSION_CODE_HIGHEST
Constant for specifying the highest installed package version code. |
Public constructors | |
---|---|
PackageManager()
|
Public methods | |
---|---|
abstract
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
|
abstract
boolean
|
addPermission(PermissionInfo info)
Add a new dynamic permission to the system. |
abstract
boolean
|
addPermissionAsync(PermissionInfo info)
Like |
abstract
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
|
addWhitelistedRestrictedPermission(String packageName, String permName, int whitelistFlags)
Adds a whitelisted restricted permission for an app. |
abstract
boolean
|
canRequestPackageInstalls()
Checks whether the calling package is allowed to request package installs through package installer. |
abstract
String[]
|
canonicalToCurrentPackageNames(String[] packageNames)
Map from a packages canonical name to the current name in use on the device. |
abstract
int
|
checkPermission(String permName, String packageName)
Check whether a particular package has been granted a particular permission. |
abstract
int
|
checkSignatures(String packageName1, String packageName2)
Compare the signatures of two packages to determine if the same signature appears in both of them. |
abstract
int
|
checkSignatures(int uid1, int uid2)
Like |
abstract
void
|
clearInstantAppCookie()
Clears the instant application cookie for the calling app. |
abstract
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
|
abstract
String[]
|
currentToCanonicalPackageNames(String[] packageNames)
Map from the current package names in use on the device to whatever the current canonical name of that package is. |
abstract
void
|
extendVerificationTimeout(int id, int verificationCodeAtTimeout, long millisecondsToDelay)
Allows a package listening to the
|
abstract
Drawable
|
getActivityBanner(ComponentName activityName)
Retrieve the banner associated with an activity. |
abstract
Drawable
|
getActivityBanner(Intent intent)
Retrieve the banner associated with an Intent. |
abstract
Drawable
|
getActivityIcon(Intent intent)
Retrieve the icon associated with an Intent. |
abstract
Drawable
|
getActivityIcon(ComponentName activityName)
Retrieve the icon associated with an activity. |
abstract
ActivityInfo
|
getActivityInfo(ComponentName component, int flags)
Retrieve all of the information we know about a particular activity class. |
abstract
Drawable
|
getActivityLogo(Intent intent)
Retrieve the logo associated with an Intent. |
abstract
Drawable
|
getActivityLogo(ComponentName activityName)
Retrieve the logo associated with an activity. |
abstract
List<PermissionGroupInfo>
|
getAllPermissionGroups(int flags)
Retrieve all of the known permission groups in the system. |
abstract
Drawable
|
getApplicationBanner(String packageName)
Retrieve the banner associated with an application. |
abstract
Drawable
|
getApplicationBanner(ApplicationInfo info)
Retrieve the banner associated with an application. |
abstract
int
|
getApplicationEnabledSetting(String packageName)
Return the enabled setting for an application. |
abstract
Drawable
|
getApplicationIcon(ApplicationInfo info)
Retrieve the icon associated with an application. |
abstract
Drawable
|
getApplicationIcon(String packageName)
Retrieve the icon associated with an application. |
abstract
ApplicationInfo
|
getApplicationInfo(String packageName, int flags)
Retrieve all of the information we know about a particular package/application. |
abstract
CharSequence
|
getApplicationLabel(ApplicationInfo info)
Return the label to use for this application. |
abstract
Drawable
|
getApplicationLogo(String packageName)
Retrieve the logo associated with an application. |
abstract
Drawable
|
getApplicationLogo(ApplicationInfo info)
Retrieve the logo associated with an application. |
CharSequence
|
getBackgroundPermissionOptionLabel()
Gets the localized label that corresponds to the option in settings for granting background access. |
abstract
ChangedPackages
|
getChangedPackages(int sequenceNumber)
Returns the names of the packages that have been changed [eg. |
abstract
int
|
getComponentEnabledSetting(ComponentName componentName)
Return the enabled setting for a package component (activity, receiver, service, provider). |
abstract
Drawable
|
getDefaultActivityIcon()
Return the generic icon for an activity that is used when no specific icon is defined. |
abstract
Drawable
|
getDrawable(String packageName, int resid, ApplicationInfo appInfo)
Retrieve an image from a package. |
InstallSourceInfo
|
getInstallSourceInfo(String packageName)
Retrieves information about how a package was installed or updated. |
abstract
List<ApplicationInfo>
|
getInstalledApplications(int flags)
Return a List of all application packages that are installed for the current user. |
List<ModuleInfo>
|
getInstalledModules(int flags)
Return a List of all modules that are installed. |
abstract
List<PackageInfo>
|
getInstalledPackages(int flags)
Return a List of all packages that are installed for the current user. |
abstract
String
|
getInstallerPackageName(String packageName)
This method is deprecated.
use |
abstract
byte[]
|
getInstantAppCookie()
Gets the instant application cookie for this app. |
abstract
int
|
getInstantAppCookieMaxBytes()
Gets the maximum size in bytes of the cookie data an instant app can store on the device. |
abstract
InstrumentationInfo
|
getInstrumentationInfo(ComponentName className, int flags)
Retrieve all of the information we know about a particular instrumentation class. |
abstract
Intent
|
getLaunchIntentForPackage(String packageName)
Returns a "good" intent to launch a front-door activity in a package. |
abstract
Intent
|
getLeanbackLaunchIntentForPackage(String packageName)
Return a "good" intent to launch a front-door Leanback activity in a package, for use for example to implement an "open" button when browsing through packages. |
Set<String>
|
getMimeGroup(String mimeGroup)
Gets all MIME types contained by MIME group. |
ModuleInfo
|
getModuleInfo(String packageName, int flags)
Retrieve information for a particular module. |
abstract
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 |
abstract
int[]
|
getPackageGids(String packageName)
Return an array of all of the POSIX secondary group IDs that have been assigned to the given package. |
abstract
int[]
|
getPackageGids(String packageName, int flags)
Return an array of all of the POSIX secondary group IDs that have been assigned to the given package. |
abstract
PackageInfo
|
getPackageInfo(String packageName, int flags)
Retrieve overall information about an application package that is installed on the system. |
abstract
PackageInfo
|
getPackageInfo(VersionedPackage versionedPackage, int flags)
Retrieve overall information about an application package that is installed on the system. |
abstract
PackageInstaller
|
getPackageInstaller()
Return interface that offers the ability to install, upgrade, and remove applications on the device. |
abstract
int
|
getPackageUid(String packageName, int flags)
Return the UID associated with the given package name. |
abstract
String[]
|
getPackagesForUid(int uid)
Retrieve the names of all packages that are associated with a particular user id. |
abstract
List<PackageInfo>
|
getPackagesHoldingPermissions(String[] permissions, int flags)
Return a List of all installed packages that are currently holding any of the given permissions. |
abstract
PermissionGroupInfo
|
getPermissionGroupInfo(String permName, int flags)
Retrieve all of the information we know about a particular group of permissions. |
abstract
PermissionInfo
|
getPermissionInfo(String permName, int flags)
Retrieve all of the information we know about a particular permission. |
abstract
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
|
abstract
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
|
abstract
ProviderInfo
|
getProviderInfo(ComponentName component, int flags)
Retrieve all of the information we know about a particular content provider class. |
abstract
ActivityInfo
|
getReceiverInfo(ComponentName component, int flags)
Retrieve all of the information we know about a particular receiver class. |
abstract
Resources
|
getResourcesForActivity(ComponentName activityName)
Retrieve the resources associated with an activity. |
abstract
Resources
|
getResourcesForApplication(ApplicationInfo app)
Retrieve the resources for an application. |
abstract
Resources
|
getResourcesForApplication(String packageName)
Retrieve the resources associated with an application. |
abstract
ServiceInfo
|
getServiceInfo(ComponentName component, int flags)
Retrieve all of the information we know about a particular service class. |
abstract
List<SharedLibraryInfo>
|
getSharedLibraries(int flags)
Get a list of shared libraries on the device. |
Bundle
|
getSuspendedPackageAppExtras()
Returns a |
boolean
|
getSyntheticAppDetailsActivityEnabled(String packageName)
Return whether a synthetic app details activity will be generated if the app has no enabled launcher activity. |
abstract
FeatureInfo[]
|
getSystemAvailableFeatures()
Get a list of features that are available on the system. |
abstract
String[]
|
getSystemSharedLibraryNames()
Get a list of shared libraries that are available on the system. |
abstract
CharSequence
|
getText(String packageName, int resid, ApplicationInfo appInfo)
Retrieve text from a package. |
abstract
Drawable
|
getUserBadgedDrawableForDensity(Drawable drawable, UserHandle user, Rect badgeLocation, int badgeDensity)
If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a badged copy of the given drawable allowing the user to distinguish it from the original drawable. |
abstract
Drawable
|
getUserBadgedIcon(Drawable drawable, UserHandle user)
If the target user is a managed profile, then this returns a badged copy of the given icon to be able to distinguish it from the original icon. |
abstract
CharSequence
|
getUserBadgedLabel(CharSequence label, UserHandle user)
If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a copy of the label with badging for accessibility services like talkback. |
Set<String>
|
getWhitelistedRestrictedPermissions(String packageName, int whitelistFlag)
Gets the restricted permissions that have been whitelisted and the app is allowed to have them granted in their full form. |
abstract
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. |
abstract
boolean
|
hasSystemFeature(String featureName)
Check whether the given feature name is one of the available features as
returned by |
abstract
boolean
|
hasSystemFeature(String featureName, int version)
Check whether the given feature name and version is one of the available
features as returned by |
boolean
|
isAutoRevokeWhitelisted(String packageName)
Checks whether an application is exempt from having its permissions be automatically revoked when the app is unused for an extended period of time. |
boolean
|
isAutoRevokeWhitelisted()
|
boolean
|
isDefaultApplicationIcon(Drawable drawable)
Returns if the provided drawable represents the default activity icon provided by the system. |
boolean
|
isDeviceUpgrading()
Returns true if the device is upgrading, such as first boot after OTA. |
abstract
boolean
|
isInstantApp()
Gets whether this application is an instant app. |
abstract
boolean
|
isInstantApp(String packageName)
Gets whether the given package is an instant app. |
boolean
|
isPackageSuspended(String packageName)
Query if an app is currently suspended. |
boolean
|
isPackageSuspended()
Apps can query this to know if they have been suspended. |
abstract
boolean
|
isPermissionRevokedByPolicy(String permName, String packageName)
Checks whether a particular permissions has been revoked for a package by policy. |
abstract
boolean
|
isSafeMode()
Return whether the device has been booted into safe mode. |
abstract
List<ResolveInfo>
|
queryBroadcastReceivers(Intent intent, int flags)
Retrieve all receivers that can handle a broadcast of the given intent. |
abstract
List<ProviderInfo>
|
queryContentProviders(String processName, int uid, int flags)
Retrieve content provider information. |
abstract
List<InstrumentationInfo>
|
queryInstrumentation(String targetPackage, int flags)
Retrieve information about available instrumentation code. |
abstract
List<ResolveInfo>
|
queryIntentActivities(Intent intent, int flags)
Retrieve all activities that can be performed for the given intent. |
abstract
List<ResolveInfo>
|
queryIntentActivityOptions(ComponentName caller, Intent[] specifics, Intent intent, int flags)
Retrieve a set of activities that should be presented to the user as similar options. |
abstract
List<ResolveInfo>
|
queryIntentContentProviders(Intent intent, int flags)
Retrieve all providers that can match the given intent. |
abstract
List<ResolveInfo>
|
queryIntentServices(Intent intent, int flags)
Retrieve all services that can match the given intent. |
abstract
List<PermissionInfo>
|
queryPermissionsByGroup(String permissionGroup, int flags)
Query for all of the permissions associated with a particular group. |
abstract
void
|
removePackageFromPreferred(String packageName)
This method is deprecated.
This function no longer does anything. It is the platform's
responsibility to assign preferred activities and this cannot be modified
directly. To determine the activities resolved by the platform, use
|
abstract
void
|
removePermission(String permName)
Removes a permission that was previously added with
|
boolean
|
removeWhitelistedRestrictedPermission(String packageName, String permName, int whitelistFlags)
Removes a whitelisted restricted permission for an app. |
abstract
ResolveInfo
|
resolveActivity(Intent intent, int flags)
Determine the best action to perform for a given Intent. |
abstract
ProviderInfo
|
resolveContentProvider(String authority, int flags)
Find a single content provider by its authority. |
abstract
ResolveInfo
|
resolveService(Intent intent, int flags)
Determine the best service to handle for a given Intent. |
abstract
void
|
setApplicationCategoryHint(String packageName, int categoryHint)
Provide a hint of what the |
abstract
void
|
setApplicationEnabledSetting(String packageName, int newState, int flags)
Set the enabled setting for an application This setting will override any enabled state which may have been set by the application in its manifest. |
boolean
|
setAutoRevokeWhitelisted(String packageName, boolean whitelisted)
Marks an application exempt from having its permissions be automatically revoked when the app is unused for an extended period of time. |
abstract
void
|
setComponentEnabledSetting(ComponentName componentName, int newState, int flags)
Set the enabled setting for a package component (activity, receiver, service, provider). |
abstract
void
|
setInstallerPackageName(String targetPackage, String installerPackageName)
Change the installer associated with a given package. |
void
|
setMimeGroup(String mimeGroup, Set<String> mimeTypes)
Sets MIME group's MIME types. |
abstract
void
|
updateInstantAppCookie(byte[] cookie)
Updates the instant application cookie for the calling app. |
abstract
void
|
verifyPendingInstall(int id, int verificationCode)
Allows a package listening to the
|
Inherited methods | |
---|---|
public static final int CERT_INPUT_RAW_X509
Certificate input bytes: the input bytes represent an encoded X.509 Certificate which could
be generated using an CertificateFactory
Constant Value: 0 (0x00000000)
public static final int CERT_INPUT_SHA256
Certificate input bytes: the input bytes represent the SHA256 output of an encoded X.509 Certificate.
Constant Value: 1 (0x00000001)
public static final int COMPONENT_ENABLED_STATE_DEFAULT
Flag for setApplicationEnabledSetting(java.lang.String, int, int)
and
setComponentEnabledSetting(android.content.ComponentName, int, int)
: This
component or application is in its default enabled state (as specified in
its manifest).
Explicitly setting the component state to this value restores it's enabled state to whatever is set in the manifest.
Constant Value: 0 (0x00000000)
public static final int COMPONENT_ENABLED_STATE_DISABLED
Flag for setApplicationEnabledSetting(java.lang.String, int, int)
and setComponentEnabledSetting(android.content.ComponentName, int, int)
: This
component or application has been explicitly disabled, regardless of
what it has specified in its manifest.
Constant Value: 2 (0x00000002)
public static final int COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED
Flag for setApplicationEnabledSetting(java.lang.String, int, int)
only: This
application should be considered, until the point where the user actually
wants to use it. This means that it will not normally show up to the user
(such as in the launcher), but various parts of the user interface can
use GET_DISABLED_UNTIL_USED_COMPONENTS
to still see it and allow
the user to select it (as for example an IME, device admin, etc). Such code,
once the user has selected the app, should at that point also make it enabled.
This option currently can not be used with
setComponentEnabledSetting(android.content.ComponentName, int, int)
.
Constant Value: 4 (0x00000004)
public static final int COMPONENT_ENABLED_STATE_DISABLED_USER
Flag for setApplicationEnabledSetting(java.lang.String, int, int)
only: The
user has explicitly disabled the application, regardless of what it has
specified in its manifest. Because this is due to the user's request,
they may re-enable it if desired through the appropriate system UI. This
option currently cannot be used with
setComponentEnabledSetting(android.content.ComponentName, int, int)
.
Constant Value: 3 (0x00000003)
public static final int COMPONENT_ENABLED_STATE_ENABLED
Flag for setApplicationEnabledSetting(java.lang.String, int, int)
and setComponentEnabledSetting(android.content.ComponentName, int, int)
: This
component or application has been explictily enabled, regardless of
what it has specified in its manifest.
Constant Value: 1 (0x00000001)
public static final int DONT_KILL_APP
Flag parameter for
setComponentEnabledSetting(android.content.ComponentName, int, int)
to indicate
that you don't want to kill the app containing the component. Be careful when you set this
since changing component states can make the containing application's behavior unpredictable.
Constant Value: 1 (0x00000001)
public static final String EXTRA_VERIFICATION_ID
Extra field name for the ID of a package pending verification. Passed to
a package verifier and is used to call back to
PackageManager#verifyPendingInstall(int, int)
Constant Value: "android.content.pm.extra.VERIFICATION_ID"
public static final String EXTRA_VERIFICATION_RESULT
Extra field name for the result of a verification, either
VERIFICATION_ALLOW
, or VERIFICATION_REJECT
.
Passed to package verifiers after a package is verified.
Constant Value: "android.content.pm.extra.VERIFICATION_RESULT"
public static final String FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device supports running activities on secondary displays.
Constant Value: "android.software.activities_on_secondary_displays"
public static final String FEATURE_APP_WIDGETS
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports app widgets.
Constant Value: "android.software.app_widgets"
public static final String FEATURE_AUDIO_LOW_LATENCY
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
: The device's
audio pipeline is low-latency, more suitable for audio applications sensitive to delays or
lag in sound input or output.
Constant Value: "android.hardware.audio.low_latency"
public static final String FEATURE_AUDIO_OUTPUT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes at least one form of audio
output, as defined in the Android Compatibility Definition Document (CDD)
section 7.8 Audio.
Constant Value: "android.hardware.audio.output"
public static final String FEATURE_AUDIO_PRO
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device has professional audio level of functionality and performance.
Constant Value: "android.hardware.audio.pro"
public static final String FEATURE_AUTOFILL
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device supports autofill of user credentials, addresses, credit cards, etc
via integration with autofill
providers
.
Constant Value: "android.software.autofill"
public static final String FEATURE_AUTOMOTIVE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: This is a device dedicated to showing UI
on a vehicle headunit. A headunit here is defined to be inside a
vehicle that may or may not be moving. A headunit uses either a
primary display in the center console and/or additional displays in
the instrument cluster or elsewhere in the vehicle. Headunit display(s)
have limited size and resolution. The user will likely be focused on
driving so limiting driver distraction is a primary concern. User input
can be a variety of hard buttons, touch, rotary controllers and even mouse-
like interfaces.
Constant Value: "android.hardware.type.automotive"
public static final String FEATURE_BACKUP
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device can perform backup and restore operations on installed applications.
Constant Value: "android.software.backup"
public static final String FEATURE_BLUETOOTH
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device is capable of communicating with
other devices via Bluetooth.
Constant Value: "android.hardware.bluetooth"
public static final String FEATURE_BLUETOOTH_LE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device is capable of communicating with
other devices via Bluetooth Low Energy radio.
Constant Value: "android.hardware.bluetooth_le"
public static final String FEATURE_CAMERA
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device has a camera facing away
from the screen.
Constant Value: "android.hardware.camera"
public static final String FEATURE_CAMERA_ANY
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device has at least one camera pointing in
some direction, or can support an external camera being connected to it.
Constant Value: "android.hardware.camera.any"
public static final String FEATURE_CAMERA_AR
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
: At least one
of the cameras on the device supports the
MOTION_TRACKING
capability level.
Constant Value: "android.hardware.camera.ar"
public static final String FEATURE_CAMERA_AUTOFOCUS
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device's camera supports auto-focus.
Constant Value: "android.hardware.camera.autofocus"
public static final String FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
: At least one
of the cameras on the device supports the
manual post-processing
capability level.
Constant Value: "android.hardware.camera.capability.manual_post_processing"
public static final String FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
: At least one
of the cameras on the device supports the
manual sensor
capability level.
Constant Value: "android.hardware.camera.capability.manual_sensor"
public static final String FEATURE_CAMERA_CAPABILITY_RAW
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
: At least one
of the cameras on the device supports the
RAW
capability level.
Constant Value: "android.hardware.camera.capability.raw"
public static final String FEATURE_CAMERA_CONCURRENT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device's main front and back cameras can stream
concurrently as described in CameraManager.getConcurrentCameraIds()
.
While CameraManager.getConcurrentCameraIds()
and
associated APIs are only available on API level 30 or newer, this feature flag may be
advertised by devices on API levels below 30. If present on such a device, the same
guarantees hold: The main front and main back camera can be used at the same time, with
guaranteed stream configurations as defined in the table for concurrent streaming at
CameraDevice.createCaptureSession(android.hardware.camera2.params.SessionConfiguration)
.
Constant Value: "android.hardware.camera.concurrent"
public static final String FEATURE_CAMERA_EXTERNAL
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device can support having an external camera connected to it.
The external camera may not always be connected or available to applications to use.
Constant Value: "android.hardware.camera.external"
public static final String FEATURE_CAMERA_FLASH
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device's camera supports flash.
Constant Value: "android.hardware.camera.flash"
public static final String FEATURE_CAMERA_FRONT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device has a front facing camera.
Constant Value: "android.hardware.camera.front"
public static final String FEATURE_CAMERA_LEVEL_FULL
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
: At least one
of the cameras on the device supports the
full hardware
capability level.
Constant Value: "android.hardware.camera.level.full"
public static final String FEATURE_CANT_SAVE_STATE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports the
R.attr.cantSaveState
API.
Constant Value: "android.software.cant_save_state"
public static final String FEATURE_COMPANION_DEVICE_SETUP
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device supports associating
with devices via CompanionDeviceManager
.
Constant Value: "android.software.companion_device_setup"
public static final String FEATURE_CONNECTION_SERVICE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The Connection Service API is enabled on the device.
Constant Value: "android.software.connectionservice"
public static final String FEATURE_CONSUMER_IR
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device is capable of communicating with
consumer IR devices.
Constant Value: "android.hardware.consumerir"
public static final String FEATURE_CONTROLS
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports a system interface for the user to select
and bind device control services provided by applications.
See also:
Constant Value: "android.software.controls"
public static final String FEATURE_DEVICE_ADMIN
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports device policy enforcement via device admins.
Constant Value: "android.software.device_admin"
public static final String FEATURE_EMBEDDED
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: This is a device for IoT and may not have an UI. An embedded
device is defined as a full stack Android device with or without a display and no
user-installable apps.
Constant Value: "android.hardware.type.embedded"
public static final String FEATURE_ETHERNET
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: This device supports ethernet.
Constant Value: "android.hardware.ethernet"
public static final String FEATURE_FACE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device has biometric hardware to perform face authentication.
Constant Value: "android.hardware.biometrics.face"
public static final String FEATURE_FAKETOUCH
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device does not have a touch screen, but
does support touch emulation for basic events. For instance, the
device might use a mouse or remote control to drive a cursor, and
emulate basic touch pointer events like down, up, drag, etc. All
devices that support android.hardware.touchscreen or a sub-feature are
presumed to also support faketouch.
Constant Value: "android.hardware.faketouch"
public static final String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device does not have a touch screen, but
does support touch emulation for basic events that supports distinct
tracking of two or more fingers. This is an extension of
FEATURE_FAKETOUCH
for input devices with this capability. Note
that unlike a distinct multitouch screen as defined by
FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT
, these kinds of input
devices will not actually provide full two-finger gestures since the
input is being transformed to cursor movement on the screen. That is,
single finger gestures will move a cursor; two-finger swipes will
result in single-finger touch events; other two-finger gestures will
result in the corresponding two-finger touch event.
Constant Value: "android.hardware.faketouch.multitouch.distinct"
public static final String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device does not have a touch screen, but
does support touch emulation for basic events that supports tracking
a hand of fingers (5 or more fingers) fully independently.
This is an extension of
FEATURE_FAKETOUCH
for input devices with this capability. Note
that unlike a multitouch screen as defined by
FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND
, not all two finger
gestures can be detected due to the limitations described for
FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT
.
Constant Value: "android.hardware.faketouch.multitouch.jazzhand"
public static final String FEATURE_FINGERPRINT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device has biometric hardware to detect a fingerprint.
Constant Value: "android.hardware.fingerprint"
public static final String FEATURE_FREEFORM_WINDOW_MANAGEMENT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports freeform window management.
Windows have title bars and can be moved and resized.
Constant Value: "android.software.freeform_window_management"
public static final String FEATURE_GAMEPAD
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device has all of the inputs necessary to be considered a compatible game controller, or
includes a compatible game controller in the box.
Constant Value: "android.hardware.gamepad"
public static final String FEATURE_HIFI_SENSORS
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports high fidelity sensor processing
capabilities.
Constant Value: "android.hardware.sensor.hifi_sensors"
public static final String FEATURE_HOME_SCREEN
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports a home screen that is replaceable
by third party applications.
Constant Value: "android.software.home_screen"
public static final String FEATURE_INPUT_METHODS
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports adding new input methods implemented
with the InputMethodService
API.
Constant Value: "android.software.input_methods"
public static final String FEATURE_IPSEC_TUNNELS
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
: The device has
the requisite kernel support for multinetworking-capable IPsec tunnels.
This feature implies that the device supports XFRM Interfaces (CONFIG_XFRM_INTERFACE), or VTIs with kernel patches allowing updates of output/set mark via UPDSA.
Constant Value: "android.software.ipsec_tunnels"
public static final String FEATURE_IRIS
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device has biometric hardware to perform iris authentication.
Constant Value: "android.hardware.biometrics.iris"
public static final String FEATURE_LEANBACK
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports leanback UI. This is
typically used in a living room television experience, but is a software
feature unlike FEATURE_TELEVISION
. Devices running with this
feature will use resources associated with the "television" UI mode.
Constant Value: "android.software.leanback"
public static final String FEATURE_LEANBACK_ONLY
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports only leanback UI. Only
applications designed for this experience should be run, though this is
not enforced by the system.
Constant Value: "android.software.leanback_only"
public static final String FEATURE_LIVE_TV
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports live TV and can display
contents from TV inputs implemented with the
TvInputService
API.
Constant Value: "android.software.live_tv"
public static final String FEATURE_LIVE_WALLPAPER
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports live wallpapers.
Constant Value: "android.software.live_wallpaper"
public static final String FEATURE_LOCATION
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports one or more methods of
reporting current location.
Constant Value: "android.hardware.location"
public static final String FEATURE_LOCATION_GPS
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device has a Global Positioning System
receiver and can report precise location.
Constant Value: "android.hardware.location.gps"
public static final String FEATURE_LOCATION_NETWORK
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device can report location with coarse
accuracy using a network-based geolocation system.
Constant Value: "android.hardware.location.network"
public static final String FEATURE_MANAGED_USERS
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device supports creating secondary users and managed profiles via
DevicePolicyManager
.
Constant Value: "android.software.managed_users"
public static final String FEATURE_MICROPHONE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device can record audio via a
microphone.
Constant Value: "android.hardware.microphone"
public static final String FEATURE_MIDI
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device has a full implementation of the android.media.midi.* APIs.
Constant Value: "android.software.midi"
public static final String FEATURE_NFC
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device can communicate using Near-Field
Communications (NFC).
Constant Value: "android.hardware.nfc"
public static final String FEATURE_NFC_BEAM
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The Beam API is enabled on the device.
Constant Value: "android.sofware.nfc.beam"
public static final String FEATURE_NFC_HOST_CARD_EMULATION
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports host-
based NFC card emulation.
Constant Value: "android.hardware.nfc.hce"
public static final String FEATURE_NFC_HOST_CARD_EMULATION_NFCF
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports host-
based NFC-F card emulation.
Constant Value: "android.hardware.nfc.hcef"
public static final String FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports eSE-
based NFC card emulation.
Constant Value: "android.hardware.nfc.ese"
public static final String FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports uicc-
based NFC card emulation.
Constant Value: "android.hardware.nfc.uicc"
public static final String FEATURE_OPENGLES_EXTENSION_PACK
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports the OpenGL ES
Android Extension Pack.
Constant Value: "android.hardware.opengles.aep"
public static final String FEATURE_PC
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: This is a device dedicated to be primarily used
with keyboard, mouse or touchpad. This includes traditional desktop
computers, laptops and variants such as convertibles or detachables.
Due to the larger screen, the device will most likely use the
FEATURE_FREEFORM_WINDOW_MANAGEMENT
feature as well.
Constant Value: "android.hardware.type.pc"
public static final String FEATURE_PICTURE_IN_PICTURE
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device supports picture-in-picture multi-window mode.
Constant Value: "android.software.picture_in_picture"
public static final String FEATURE_PRINTING
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device supports printing.
Constant Value: "android.software.print"
public static final String FEATURE_RAM_LOW
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device's
ActivityManager#isLowRamDevice()
method returns
true.
Constant Value: "android.hardware.ram.low"
public static final String FEATURE_RAM_NORMAL
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device's
ActivityManager#isLowRamDevice()
method returns
false.
Constant Value: "android.hardware.ram.normal"
public static final String FEATURE_SCREEN_LANDSCAPE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports landscape orientation
screens. For backwards compatibility, you can assume that if neither
this nor FEATURE_SCREEN_PORTRAIT
is set then the device supports
both portrait and landscape.
Constant Value: "android.hardware.screen.landscape"
public static final String FEATURE_SCREEN_PORTRAIT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports portrait orientation
screens. For backwards compatibility, you can assume that if neither
this nor FEATURE_SCREEN_LANDSCAPE
is set then the device supports
both portrait and landscape.
Constant Value: "android.hardware.screen.portrait"
public static final String FEATURE_SECURELY_REMOVES_USERS
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device supports secure removal of users. When a user is deleted the data associated
with that user is securely deleted and no longer available.
Constant Value: "android.software.securely_removes_users"
public static final String FEATURE_SECURE_LOCK_SCREEN
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device has a secure implementation of keyguard, meaning the
device supports PIN, pattern and password as defined in Android CDD
Constant Value: "android.software.secure_lock_screen"
public static final String FEATURE_SENSOR_ACCELEROMETER
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes an accelerometer.
Constant Value: "android.hardware.sensor.accelerometer"
public static final String FEATURE_SENSOR_AMBIENT_TEMPERATURE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes an ambient temperature sensor.
Constant Value: "android.hardware.sensor.ambient_temperature"
public static final String FEATURE_SENSOR_BAROMETER
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes a barometer (air
pressure sensor.)
Constant Value: "android.hardware.sensor.barometer"
public static final String FEATURE_SENSOR_COMPASS
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes a magnetometer (compass).
Constant Value: "android.hardware.sensor.compass"
public static final String FEATURE_SENSOR_GYROSCOPE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes a gyroscope.
Constant Value: "android.hardware.sensor.gyroscope"
public static final String FEATURE_SENSOR_HEART_RATE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes a heart rate monitor.
Constant Value: "android.hardware.sensor.heartrate"
public static final String FEATURE_SENSOR_HEART_RATE_ECG
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The heart rate sensor on this device is an Electrocardiogram.
Constant Value: "android.hardware.sensor.heartrate.ecg"
public static final String FEATURE_SENSOR_HINGE_ANGLE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes a hinge angle sensor.
Constant Value: "android.hardware.sensor.hinge_angle"
public static final String FEATURE_SENSOR_LIGHT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes a light sensor.
Constant Value: "android.hardware.sensor.light"
public static final String FEATURE_SENSOR_PROXIMITY
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes a proximity sensor.
Constant Value: "android.hardware.sensor.proximity"
public static final String FEATURE_SENSOR_RELATIVE_HUMIDITY
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes a relative humidity sensor.
Constant Value: "android.hardware.sensor.relative_humidity"
public static final String FEATURE_SENSOR_STEP_COUNTER
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes a hardware step counter.
Constant Value: "android.hardware.sensor.stepcounter"
public static final String FEATURE_SENSOR_STEP_DETECTOR
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device includes a hardware step detector.
Constant Value: "android.hardware.sensor.stepdetector"
public static final String FEATURE_SE_OMAPI_ESE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports Open Mobile API capable eSE-based secure
elements.
Constant Value: "android.hardware.se.omapi.ese"
public static final String FEATURE_SE_OMAPI_SD
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports Open Mobile API capable SD-based secure
elements.
Constant Value: "android.hardware.se.omapi.sd"
public static final String FEATURE_SE_OMAPI_UICC
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports Open Mobile API capable UICC-based secure
elements.
Constant Value: "android.hardware.se.omapi.uicc"
public static final String FEATURE_SIP
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The SIP API is enabled on the device.
Constant Value: "android.software.sip"
public static final String FEATURE_SIP_VOIP
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports SIP-based VOIP.
Constant Value: "android.software.sip.voip"
public static final String FEATURE_STRONGBOX_KEYSTORE
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device has a StrongBox hardware-backed Keystore.
Constant Value: "android.hardware.strongbox_keystore"
public static final String FEATURE_TELEPHONY
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device has a telephony radio with data
communication support.
Constant Value: "android.hardware.telephony"
public static final String FEATURE_TELEPHONY_CDMA
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device has a CDMA telephony stack.
Constant Value: "android.hardware.telephony.cdma"
public static final String FEATURE_TELEPHONY_EUICC
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
: The device
supports embedded subscriptions on eUICCs.
Constant Value: "android.hardware.telephony.euicc"
public static final String FEATURE_TELEPHONY_GSM
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device has a GSM telephony stack.
Constant Value: "android.hardware.telephony.gsm"
public static final String FEATURE_TELEPHONY_IMS
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
: The device
supports attaching to IMS implementations using the ImsService API in telephony.
Constant Value: "android.hardware.telephony.ims"
public static final String FEATURE_TELEPHONY_MBMS
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
: The device
supports cell-broadcast reception using the MBMS APIs.
Constant Value: "android.hardware.telephony.mbms"
public static final String FEATURE_TELEVISION
This constant is deprecated.
use FEATURE_LEANBACK
instead.
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: This is a device dedicated to showing UI
on a television. Television here is defined to be a typical living
room television experience: displayed on a big screen, where the user
is sitting far away from it, and the dominant form of input will be
something like a DPAD, not through touch or mouse.
Constant Value: "android.hardware.type.television"
public static final String FEATURE_TOUCHSCREEN
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device's display has a touch screen.
Constant Value: "android.hardware.touchscreen"
public static final String FEATURE_TOUCHSCREEN_MULTITOUCH
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device's touch screen supports
multitouch sufficient for basic two-finger gesture detection.
Constant Value: "android.hardware.touchscreen.multitouch"
public static final String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device's touch screen is capable of
tracking two or more fingers fully independently.
Constant Value: "android.hardware.touchscreen.multitouch.distinct"
public static final String FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device's touch screen is capable of
tracking a full hand of fingers fully independently -- that is, 5 or
more simultaneous independent pointers.
Constant Value: "android.hardware.touchscreen.multitouch.jazzhand"
public static final String FEATURE_USB_ACCESSORY
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports connecting to USB accessories.
Constant Value: "android.hardware.usb.accessory"
public static final String FEATURE_USB_HOST
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports connecting to USB devices
as the USB host.
Constant Value: "android.hardware.usb.host"
public static final String FEATURE_VERIFIED_BOOT
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device supports verified boot.
Constant Value: "android.software.verified_boot"
public static final String FEATURE_VR_HEADTRACKING
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device implements headtracking suitable for a VR device.
Constant Value: "android.hardware.vr.headtracking"
public static final String FEATURE_VR_MODE
This constant is deprecated.
use FEATURE_VR_MODE_HIGH_PERFORMANCE
instead.
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device implements an optimized mode for virtual reality (VR) applications that handles
stereoscopic rendering of notifications, and disables most monocular system UI components
while a VR application has user focus.
Devices declaring this feature must include an application implementing a
VrListenerService
that can be targeted by VR applications via
Activity.setVrModeEnabled(boolean, ComponentName)
.
Constant Value: "android.software.vr.mode"
public static final String FEATURE_VR_MODE_HIGH_PERFORMANCE
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device implements an optimized mode for virtual reality (VR) applications that handles
stereoscopic rendering of notifications, disables most monocular system UI components
while a VR application has user focus and meets extra CDD requirements to provide a
high-quality VR experience.
Devices declaring this feature must include an application implementing a
VrListenerService
that can be targeted by VR applications via
Activity.setVrModeEnabled(boolean, ComponentName)
.
and must meet CDD requirements to provide a high-quality VR experience.
Constant Value: "android.hardware.vr.high_performance"
public static final String FEATURE_VULKAN_DEQP_LEVEL
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(java.lang.String, int)
: If this feature is supported, the feature version
specifies a date such that the device is known to pass the Vulkan dEQP test suite associated
with that date. The date is encoded as follows:
Example: 2019-03-01 is encoded as 0x07E30301, and would indicate that the device passes the Vulkan dEQP test suite version that was current on 2019-03-01.
Constant Value: "android.software.vulkan.deqp.level"
public static final String FEATURE_VULKAN_HARDWARE_COMPUTE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(java.lang.String, int)
: If this feature is supported, the Vulkan
implementation on this device is hardware accelerated, and the Vulkan native API will
enumerate at least one VkPhysicalDevice
, and the feature version will indicate what
level of optional compute features that device supports beyond the Vulkan 1.0 requirements.
Compute level 0 indicates:
VK_KHR_variable_pointers
extension and
VkPhysicalDeviceVariablePointerFeaturesKHR::variablePointers
feature are
supported.VkPhysicalDeviceLimits::maxPerStageDescriptorStorageBuffers
is at least 16.Constant Value: "android.hardware.vulkan.compute"
public static final String FEATURE_VULKAN_HARDWARE_LEVEL
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(java.lang.String, int)
: If this feature is supported, the Vulkan
implementation on this device is hardware accelerated, and the Vulkan native API will
enumerate at least one VkPhysicalDevice
, and the feature version will indicate what
level of optional hardware features limits it supports.
Level 0 includes the base Vulkan requirements as well as:
VkPhysicalDeviceFeatures::textureCompressionETC2
Level 1 additionally includes:
VkPhysicalDeviceFeatures::fullDrawIndexUint32
VkPhysicalDeviceFeatures::imageCubeArray
VkPhysicalDeviceFeatures::independentBlend
VkPhysicalDeviceFeatures::geometryShader
VkPhysicalDeviceFeatures::tessellationShader
VkPhysicalDeviceFeatures::sampleRateShading
VkPhysicalDeviceFeatures::textureCompressionASTC_LDR
VkPhysicalDeviceFeatures::fragmentStoresAndAtomics
VkPhysicalDeviceFeatures::shaderImageGatherExtended
VkPhysicalDeviceFeatures::shaderUniformBufferArrayDynamicIndexing
VkPhysicalDeviceFeatures::shaderSampledImageArrayDynamicIndexing
Constant Value: "android.hardware.vulkan.level"
public static final String FEATURE_VULKAN_HARDWARE_VERSION
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(java.lang.String, int)
: If this feature is supported, the Vulkan
implementation on this device is hardware accelerated, and the feature version will indicate
the highest VkPhysicalDeviceProperties::apiVersion
supported by the physical devices
that support the hardware level indicated by FEATURE_VULKAN_HARDWARE_LEVEL
. The
feature version uses the same encoding as Vulkan version numbers:
VK_ANDROID_external_memory_android_hardware_buffer
extension is
supported.SYNC_FD
external semaphore and fence handles are supported.VkPhysicalDeviceSamplerYcbcrConversionFeatures::samplerYcbcrConversion
is
supported.Constant Value: "android.hardware.vulkan.version"
public static final String FEATURE_WATCH
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: This is a device dedicated to showing UI
on a watch. A watch here is defined to be a device worn on the body, perhaps on
the wrist. The user is very close when interacting with the device.
Constant Value: "android.hardware.type.watch"
public static final String FEATURE_WEBVIEW
Feature for getSystemAvailableFeatures()
and hasSystemFeature(String)
:
The device has a full implementation of the android.webkit.* APIs. Devices
lacking this feature will not have a functioning WebView implementation.
Constant Value: "android.software.webview"
public static final String FEATURE_WIFI
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports WiFi (802.11) networking.
Constant Value: "android.hardware.wifi"
public static final String FEATURE_WIFI_AWARE
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports Wi-Fi Aware.
Constant Value: "android.hardware.wifi.aware"
public static final String FEATURE_WIFI_DIRECT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports Wi-Fi Direct networking.
Constant Value: "android.hardware.wifi.direct"
public static final String FEATURE_WIFI_PASSPOINT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports Wi-Fi Passpoint and all
Passpoint related APIs in WifiManager
are supported. Refer to
WifiManager#addOrUpdatePasspointConfiguration
for more info.
Constant Value: "android.hardware.wifi.passpoint"
public static final String FEATURE_WIFI_RTT
Feature for getSystemAvailableFeatures()
and
hasSystemFeature(String)
: The device supports Wi-Fi RTT (IEEE 802.11mc).
Constant Value: "android.hardware.wifi.rtt"
public static final int FLAG_PERMISSION_WHITELIST_INSTALLER
Permission whitelist flag: permissions whitelisted by the installer. Permissions can also be whitelisted by the system or on upgrade.
Constant Value: 2 (0x00000002)
public static final int FLAG_PERMISSION_WHITELIST_SYSTEM
Permission whitelist flag: permissions whitelisted by the system. Permissions can also be whitelisted by the installer or on upgrade.
Constant Value: 1 (0x00000001)
public static final int FLAG_PERMISSION_WHITELIST_UPGRADE
Permission whitelist flag: permissions whitelisted by the system when upgrading from an OS version where the permission was not restricted to an OS version where the permission is restricted. Permissions can also be whitelisted by the installer or the system.
Constant Value: 4 (0x00000004)
public static final int GET_ACTIVITIES
PackageInfo
flag: return information about
activities in the package in PackageInfo#activities
.
Constant Value: 1 (0x00000001)
public static final int GET_CONFIGURATIONS
PackageInfo
flag: return information about
hardware preferences in
PackageInfo#configPreferences
,
and requested features in PackageInfo#reqFeatures
and
PackageInfo#featureGroups
.
Constant Value: 16384 (0x00004000)
public static final int GET_DISABLED_COMPONENTS
This constant is deprecated.
replaced with MATCH_DISABLED_COMPONENTS
Constant Value: 512 (0x00000200)
public static final int GET_DISABLED_UNTIL_USED_COMPONENTS
This constant is deprecated.
replaced with MATCH_DISABLED_UNTIL_USED_COMPONENTS
.
Constant Value: 32768 (0x00008000)
public static final int GET_GIDS
PackageInfo
flag: return the
PackageInfo#gids
that are associated with an
application.
This applies for any API returning a PackageInfo class, either
directly or nested inside of another.
Constant Value: 256 (0x00000100)
public static final int GET_INSTRUMENTATION
PackageInfo
flag: return information about
instrumentation in the package in
PackageInfo#instrumentation
.
Constant Value: 16 (0x00000010)
public static final int GET_INTENT_FILTERS
PackageInfo
flag: return information about the
intent filters supported by the activity.
Constant Value: 32 (0x00000020)
public static final int GET_META_DATA
ComponentInfo
flag: return the ComponentInfo#metaData
data Bundle
s that are associated with a component.
This applies for any API returning a ComponentInfo subclass.
Constant Value: 128 (0x00000080)
public static final int GET_PERMISSIONS
PackageInfo
flag: return information about
permissions in the package in
PackageInfo#permissions
.
Constant Value: 4096 (0x00001000)
public static final int GET_PROVIDERS
PackageInfo
flag: return information about
content providers in the package in
PackageInfo#providers
.
Constant Value: 8 (0x00000008)
public static final int GET_RECEIVERS
PackageInfo
flag: return information about
intent receivers in the package in
PackageInfo#receivers
.
Constant Value: 2 (0x00000002)
public static final int GET_RESOLVED_FILTER
ResolveInfo
flag: return the IntentFilter that
was matched for a particular ResolveInfo in
ResolveInfo#filter
.
Constant Value: 64 (0x00000040)
public static final int GET_SERVICES
PackageInfo
flag: return information about
services in the package in PackageInfo#services
.
Constant Value: 4 (0x00000004)
public static final int GET_SHARED_LIBRARY_FILES
ApplicationInfo
flag: return the
ApplicationInfo#sharedLibraryFiles
that are associated with an application.
This applies for any API returning an ApplicationInfo class, either
directly or nested inside of another.
Constant Value: 1024 (0x00000400)
public static final int GET_SIGNATURES
This constant is deprecated.
use GET_SIGNING_CERTIFICATES
instead
PackageInfo
flag: return information about the
signatures included in the package.
Constant Value: 64 (0x00000040)
public static final int GET_SIGNING_CERTIFICATES
PackageInfo
flag: return the signing certificates associated with
this package. Each entry is a signing certificate that the package
has proven it is authorized to use, usually a past signing certificate from
which it has rotated.
Constant Value: 134217728 (0x08000000)
public static final int GET_UNINSTALLED_PACKAGES
This constant is deprecated.
replaced with MATCH_UNINSTALLED_PACKAGES
Constant Value: 8192 (0x00002000)
public static final int GET_URI_PERMISSION_PATTERNS
ProviderInfo
flag: return the
ProviderInfo#uriPermissionPatterns
that are associated with a content provider.
This applies for any API returning a ProviderInfo class, either
directly or nested inside of another.
Constant Value: 2048 (0x00000800)
public static final int INSTALL_REASON_DEVICE_RESTORE
Code indicating that this package was installed as part of restoring from another device.
Constant Value: 2 (0x00000002)
public static final int INSTALL_REASON_DEVICE_SETUP
Code indicating that this package was installed as part of device setup.
Constant Value: 3 (0x00000003)
public static final int INSTALL_REASON_POLICY
Code indicating that this package was installed due to enterprise policy.
Constant Value: 1 (0x00000001)
public static final int INSTALL_REASON_UNKNOWN
Code indicating that the reason for installing this package is unknown.
Constant Value: 0 (0x00000000)
public static final int INSTALL_REASON_USER
Code indicating that the package installation was initiated by the user.
Constant Value: 4 (0x00000004)
public static final int MATCH_ALL
Querying flag: if set and if the platform is doing any filtering of the results, then the filtering will not happen. This is a synonym for saying that all results should be returned.
This flag should be used with extreme care.
Constant Value: 131072 (0x00020000)
public static final int MATCH_APEX
PackageInfo
flag: include APEX packages that are currently
installed. In APEX terminology, this corresponds to packages that are
currently active, i.e. mounted and available to other processes of the OS.
In particular, this flag alone will not match APEX files that are staged
for activation at next reboot.
Constant Value: 1073741824 (0x40000000)
public static final int MATCH_DEFAULT_ONLY
Resolution and querying flag: if set, only filters that support the
Intent.CATEGORY_DEFAULT
will be considered for
matching. This is a synonym for including the CATEGORY_DEFAULT in your
supplied Intent.
Constant Value: 65536 (0x00010000)
public static final int MATCH_DIRECT_BOOT_AUTO
Querying flag: automatically match components based on their Direct Boot awareness and the current user state.
Since the default behavior is to automatically apply the current user state, this is effectively a sentinel value that doesn't change the output of any queries based on its presence or absence.
Instead, this value can be useful in conjunction with
StrictMode.VmPolicy.Builder.detectImplicitDirectBoot()
to detect when a caller is relying on implicit automatic matching,
instead of confirming the explicit behavior they want, using a
combination of these flags:
Constant Value: 268435456 (0x10000000)
public static final int MATCH_DIRECT_BOOT_AWARE
Querying flag: match components which are direct boot aware in the returned info, regardless of the current user state.
When neither MATCH_DIRECT_BOOT_AWARE
nor
MATCH_DIRECT_BOOT_UNAWARE
are specified, the default behavior is
to match only runnable components based on the user state. For example,
when a user is started but credentials have not been presented yet, the
user is running "locked" and only MATCH_DIRECT_BOOT_AWARE
components are returned. Once the user credentials have been presented,
the user is running "unlocked" and both MATCH_DIRECT_BOOT_AWARE
and MATCH_DIRECT_BOOT_UNAWARE
components are returned.
See also:
Constant Value: 524288 (0x00080000)
public static final int MATCH_DIRECT_BOOT_UNAWARE
Querying flag: match components which are direct boot unaware in the returned info, regardless of the current user state.
When neither MATCH_DIRECT_BOOT_AWARE
nor
MATCH_DIRECT_BOOT_UNAWARE
are specified, the default behavior is
to match only runnable components based on the user state. For example,
when a user is started but credentials have not been presented yet, the
user is running "locked" and only MATCH_DIRECT_BOOT_AWARE
components are returned. Once the user credentials have been presented,
the user is running "unlocked" and both MATCH_DIRECT_BOOT_AWARE
and MATCH_DIRECT_BOOT_UNAWARE
components are returned.
See also:
Constant Value: 262144 (0x00040000)
public static final int MATCH_DISABLED_COMPONENTS
PackageInfo
flag: include disabled components in the returned info.
Constant Value: 512 (0x00000200)
public static final int MATCH_DISABLED_UNTIL_USED_COMPONENTS
PackageInfo
flag: include disabled components which are in
that state only because of COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED
in the returned info. Note that if you set this flag, applications
that are in this disabled state will be reported as enabled.
Constant Value: 32768 (0x00008000)
public static final int MATCH_SYSTEM_ONLY
Querying flag: include only components from applications that are marked
with ApplicationInfo#FLAG_SYSTEM
.
Constant Value: 1048576 (0x00100000)
public static final int MATCH_UNINSTALLED_PACKAGES
Flag parameter to retrieve some information about all applications (even
uninstalled ones) which have data directories. This state could have
resulted if applications have been deleted with flag
DELETE_KEEP_DATA
with a possibility of being replaced or
reinstalled in future.
Note: this flag may cause less information about currently installed applications to be returned.
Note: use of this flag requires the android.permission.QUERY_ALL_PACKAGES permission to see uninstalled packages.
Constant Value: 8192 (0x00002000)
public static final long MAXIMUM_VERIFICATION_TIMEOUT
Can be used as the millisecondsToDelay
argument for
PackageManager#extendVerificationTimeout
. This is the
maximum time PackageManager
waits for the verification
agent to return (in milliseconds).
Constant Value: 3600000 (0x000000000036ee80)
public static final int PERMISSION_DENIED
Permission check result: this is returned by checkPermission(String, String)
if the permission has not been granted to the given package.
Constant Value: -1 (0xffffffff)
public static final int PERMISSION_GRANTED
Permission check result: this is returned by checkPermission(String, String)
if the permission has been granted to the given package.
Constant Value: 0 (0x00000000)
public static final int SIGNATURE_FIRST_NOT_SIGNED
Signature check result: this is returned by checkSignatures(int, int)
if the first package is not signed but the second is.
Constant Value: -1 (0xffffffff)
public static final int SIGNATURE_MATCH
Signature check result: this is returned by checkSignatures(int, int)
if all signatures on the two packages match.
Constant Value: 0 (0x00000000)
public static final int SIGNATURE_NEITHER_SIGNED
Signature check result: this is returned by checkSignatures(int, int)
if neither of the two packages is signed.
Constant Value: 1 (0x00000001)
public static final int SIGNATURE_NO_MATCH
Signature check result: this is returned by checkSignatures(int, int)
if not all signatures on both packages match.
Constant Value: -3 (0xfffffffd)
public static final int SIGNATURE_SECOND_NOT_SIGNED
Signature check result: this is returned by checkSignatures(int, int)
if the second package is not signed but the first is.
Constant Value: -2 (0xfffffffe)
public static final int SIGNATURE_UNKNOWN_PACKAGE
Signature check result: this is returned by checkSignatures(int, int)
if either of the packages are not valid.
Constant Value: -4 (0xfffffffc)
public static final int SYNCHRONOUS
Flag parameter for
setComponentEnabledSetting(android.content.ComponentName, int, int)
to indicate
that the given user's package restrictions state will be serialised to disk after the
component state has been updated. Note that this is synchronous disk access, so calls using
this flag should be run on a background thread.
Constant Value: 2 (0x00000002)
public static final int VERIFICATION_ALLOW
Used as the verificationCode
argument for
PackageManager#verifyPendingInstall
to indicate that the calling
package verifier allows the installation to proceed.
Constant Value: 1 (0x00000001)
public static final int VERIFICATION_REJECT
Used as the verificationCode
argument for
PackageManager#verifyPendingInstall
to indicate the calling
package verifier does not vote to allow the installation to proceed.
Constant Value: -1 (0xffffffff)
public static final int VERSION_CODE_HIGHEST
Constant for specifying the highest installed package version code.
Constant Value: -1 (0xffffffff)
public PackageManager ()
public abstract 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, int)
or queryIntentActivities(Intent, int)
. 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 . |
public abstract boolean addPermission (PermissionInfo info)
Add a new dynamic permission to the system. For this to work, your
package must have defined a permission tree through the
<permission-tree>
tag in its manifest. A package can only add
permissions to trees that were defined by either its own package or
another with the same user id; a permission is in a tree if it
matches the name of the permission tree + ".": for example,
"com.foo.bar" is a member of the permission tree "com.foo".
It is good to make your permission tree name descriptive, because you are taking possession of that entire set of permission names. Thus, it must be under a domain you control, with a suffix that will not match any normal permissions that may be declared in any applications that are part of that domain.
New permissions must be added before any .apks are installed that use those permissions. Permissions you add through this method are remembered across reboots of the device. If the given permission already exists, the info you supply here will be used to update it.
Parameters | |
---|---|
info |
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. |
Throws | |
---|---|
SecurityException |
if you are not allowed to add the given permission name. |
See also:
public abstract 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 |
public abstract 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, int)
or queryIntentActivities(Intent, int)
. 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(Intent)
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 . |
public boolean addWhitelistedRestrictedPermission (String packageName, String permName, int whitelistFlags)
Adds a whitelisted restricted permission for an app.
Permissions can be hard restricted which means that the app cannot hold
them or soft restricted where the app can hold the permission but in a weaker
form. Whether a permission is PermissionInfo#FLAG_HARD_RESTRICTED
or PermissionInfo#FLAG_SOFT_RESTRICTED
depends on the permission declaration. Whitelisting a hard restricted permission
allows for the to hold that permission and whitelisting a soft restricted
permission allows the app to hold the permission in its full, unrestricted form.
FLAG_PERMISSION_WHITELIST_SYSTEM
flag.
Can only be modified by pre-installed holders of a dedicated permission.
FLAG_PERMISSION_WHITELIST_UPGRADE
flag. Can be modified by pre-installed
holders of a dedicated permission. The installer on record can only remove
permissions from this whitelist.
FLAG_PERMISSION_WHITELIST_INSTALLER
flag.
Can be modified by pre-installed holders of a dedicated permission or the installer
on record.
You need to specify the whitelists for which to set the whitelisted permissions which will clear the previous whitelisted permissions and replace them with the provided ones.
Parameters | |
---|---|
packageName |
String : The app for which to get whitelisted permissions.
This value cannot be null . |
permName |
String : The whitelisted permission to add.
This value cannot be null . |
whitelistFlags |
int : The whitelists to which to add. Passing multiple flags
updates all specified whitelists.
Value is either 0 or a combination of FLAG_PERMISSION_WHITELIST_SYSTEM , FLAG_PERMISSION_WHITELIST_INSTALLER , and FLAG_PERMISSION_WHITELIST_UPGRADE |
Returns | |
---|---|
boolean |
Whether the permission was added to the whitelist. |
Throws | |
---|---|
SecurityException |
if you try to modify a whitelist that you have no access to. |
public abstract 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. |
public abstract String[] canonicalToCurrentPackageNames (String[] packageNames)
Map from a packages canonical name to the current name in use on the device.
Parameters | |
---|---|
packageNames |
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. |
public abstract int checkPermission (String permName, String packageName)
Check whether a particular package has been granted a particular permission.
Parameters | |
---|---|
permName |
String : The name of the permission you are checking for.
This value cannot be null . |
packageName |
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 |
See also:
public abstract int checkSignatures (String packageName1, String packageName2)
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 | |
---|---|
packageName1 |
String : First package name whose signature will be compared.
This value cannot be null . |
packageName2 |
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 |
See also:
public abstract 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 |
See also:
public abstract void clearInstantAppCookie ()
Clears the instant application cookie for the calling app.
public abstract 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, int)
or queryIntentActivities(Intent, int)
. 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 . |
public abstract String[] currentToCanonicalPackageNames (String[] packageNames)
Map from the current package names in use on the device to whatever the current canonical name of that package is.
Parameters | |
---|---|
packageNames |
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. |
public abstract void extendVerificationTimeout (int id, int verificationCodeAtTimeout, long millisecondsToDelay)
Allows a package listening to the
Intent#ACTION_PACKAGE_NEEDS_VERIFICATION
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 . |
Throws | |
---|---|
SecurityException |
if the caller does not have the PACKAGE_VERIFICATION_AGENT permission. |
public abstract 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 |
Thrown if the resources for the given activity could not be loaded. |
See also:
public abstract 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 |
Thrown if the resources for application matching the given intent could not be loaded. |
See also:
public abstract Drawable getActivityIcon (Intent intent)
Retrieve the icon associated with an Intent. If intent.getClassName() is set, this simply returns the result of getActivityIcon(intent.getClassName()). Otherwise it resolves the intent's component and returns the icon associated with the resolved component. If intent.getClassName() 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 |
Thrown if the resources for application matching the given intent could not be loaded. |
See also:
public abstract Drawable getActivityIcon (ComponentName activityName)
Retrieve the icon associated with an activity. Given the full name of
an activity, retrieves the information about it and calls
ComponentInfo#loadIcon
to return its icon.
If the activity 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 |
Thrown if the resources for the given activity could not be loaded. |
See also:
public abstract ActivityInfo getActivityInfo (ComponentName component, int flags)
Retrieve all of the information we know about a particular activity class.
Parameters | |
---|---|
component |
ComponentName : The full component name (i.e.
com.google.apps.contacts/com.google.apps.contacts.
ContactsList) of an Activity class.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_META_DATA , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DEFAULT_ONLY , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, android.content.pm.PackageManager.MATCH_STATIC_SHARED_LIBRARIES, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
Returns | |
---|---|
ActivityInfo |
An ActivityInfo containing information about the
activity.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if a package with the given name cannot be found on the system. |
public abstract 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 |
Thrown if the resources for application matching the given intent could not be loaded. |
See also:
public abstract 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 |
Thrown if the resources for the given activity could not be loaded. |
See also:
public abstract 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 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 . |
public abstract 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 |
Thrown if the resources for the given application could not be loaded. |
See also:
public abstract 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. |
See also:
public abstract 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 |
Throws | |
---|---|
IllegalArgumentException |
if the named package does not exist. |
public abstract Drawable getApplicationIcon (ApplicationInfo info)
Retrieve the icon associated with an application. If it has not defined an icon, the default app icon is returned. Does not return null.
Parameters | |
---|---|
info |
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. |
See also:
public abstract Drawable getApplicationIcon (String packageName)
Retrieve the icon associated with an application. Given the name of the application's package, retrieves the information about it and calls getApplicationIcon() to return its icon. If the application 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 |
Thrown if the resources for the given application could not be loaded. |
See also:
public abstract ApplicationInfo getApplicationInfo (String packageName, int flags)
Retrieve all of the information we know about a particular package/application.
Parameters | |
---|---|
packageName |
String : The full name (i.e. com.google.apps.contacts) of an
application.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_META_DATA , GET_SHARED_LIBRARY_FILES , MATCH_UNINSTALLED_PACKAGES , MATCH_SYSTEM_ONLY , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , android.content.pm.PackageManager.MATCH_INSTANT, android.content.pm.PackageManager.MATCH_STATIC_SHARED_LIBRARIES, GET_DISABLED_UNTIL_USED_COMPONENTS , GET_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS, and MATCH_APEX |
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 |
if a package with the given name cannot be found on the system. |
public abstract 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 . |
public abstract 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 |
Thrown if the resources for the given application could not be loaded. |
See also:
public abstract 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. |
See also:
public CharSequence getBackgroundPermissionOptionLabel ()
Gets the localized label that corresponds to the option in settings for granting background access.
The intended use is for apps to reference this label in its instruction for users to grant a background permission.
Returns | |
---|---|
CharSequence |
the localized label that corresponds to the settings option for granting
background access
This value cannot be null . |
public abstract ChangedPackages getChangedPackages (int sequenceNumber)
Returns the names of the packages that have been changed [eg. added, removed or updated] since the given sequence number.
If no packages have been changed, returns null
.
The sequence number starts at 0
and is
reset every boot.
Parameters | |
---|---|
sequenceNumber |
int : The first sequence number for which to retrieve package changes.
Value is 0 or greater |
Returns | |
---|---|
ChangedPackages |
See also:
public abstract 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 |
public abstract 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 . |
public abstract Drawable getDrawable (String packageName, int resid, ApplicationInfo appInfo)
Retrieve an image from a package. This is a low-level API used by
the various package manager info structures (such as
ComponentInfo
to implement retrieval of their associated
icon.
Parameters | |
---|---|
packageName |
String : The name of the package that this icon is coming from.
Cannot be null.
This value 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.
This value may be null . |
Returns | |
---|---|
Drawable |
Returns a Drawable holding the requested image. Returns null if an image could not be found for any reason. |
public InstallSourceInfo getInstallSourceInfo (String packageName)
Retrieves information about how a package was installed or updated.
If the calling application does not hold the INSTALL_PACKAGES permission then
the result will always return null
from
InstallSourceInfo#getOriginatingPackageName()
.
If the package that requested the install has been uninstalled, then information about it
will only be returned from InstallSourceInfo#getInitiatingPackageName()
and
InstallSourceInfo#getInitiatingPackageSigningInfo()
if the calling package is
requesting its own install information and is not an instant app.
Parameters | |
---|---|
packageName |
String : The name of the package to query
This value cannot be null . |
Returns | |
---|---|
InstallSourceInfo |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if the given package name is not installed |
public abstract 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.
Parameters | |
---|---|
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_META_DATA , GET_SHARED_LIBRARY_FILES , MATCH_UNINSTALLED_PACKAGES , MATCH_SYSTEM_ONLY , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , android.content.pm.PackageManager.MATCH_INSTANT, android.content.pm.PackageManager.MATCH_STATIC_SHARED_LIBRARIES, GET_DISABLED_UNTIL_USED_COMPONENTS , GET_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS, and MATCH_APEX |
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 . |
public List<ModuleInfo> getInstalledModules (int flags)
Return a List of all modules that are installed.
Parameters | |
---|---|
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or MATCH_ALL |
Returns | |
---|---|
List<ModuleInfo> |
A List of ModuleInfo objects, one for each installed
module, containing information about the module. In the unlikely case
there are no installed modules, an empty list is returned.
This value cannot be null . |
public abstract List<PackageInfo> getInstalledPackages (int flags)
Return a List of all packages that are installed for the current user.
Parameters | |
---|---|
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_ACTIVITIES , GET_CONFIGURATIONS , GET_GIDS , GET_INSTRUMENTATION , GET_INTENT_FILTERS , GET_META_DATA , GET_PERMISSIONS , GET_PROVIDERS , GET_RECEIVERS , GET_SERVICES , GET_SHARED_LIBRARY_FILES , GET_SIGNATURES , GET_SIGNING_CERTIFICATES , GET_URI_PERMISSION_PATTERNS , MATCH_UNINSTALLED_PACKAGES , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_SYSTEM_ONLY , android.content.pm.PackageManager.MATCH_FACTORY_ONLY, android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, android.content.pm.PackageManager.MATCH_INSTANT, MATCH_APEX , GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , GET_UNINSTALLED_PACKAGES , and android.content.pm.PackageManager.MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS |
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 . |
public abstract String getInstallerPackageName (String packageName)
This method is deprecated.
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 . |
Throws | |
---|---|
IllegalArgumentException |
if the given package name is not installed |
public abstract byte[] getInstantAppCookie ()
Gets the instant application cookie for this app. Non instant apps and apps that were instant but were upgraded to normal apps can still access this API. For instant apps this cookie is cached for some time after uninstall while for normal apps the cookie is deleted after the app is uninstalled. The cookie is always present while the app is installed.
Returns | |
---|---|
byte[] |
The cookie.
This value cannot be null . |
public abstract int getInstantAppCookieMaxBytes ()
Gets the maximum size in bytes of the cookie data an instant app can store on the device.
Returns | |
---|---|
int |
The max cookie size in bytes. |
public abstract 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 GET_META_DATA |
Returns | |
---|---|
InstrumentationInfo |
An InstrumentationInfo object containing information
about the instrumentation.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if a package with the given name cannot be found on the system. |
public abstract 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.
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. |
public abstract Intent getLeanbackLaunchIntentForPackage (String packageName)
Return a "good" intent to launch a front-door Leanback activity in a
package, for use for example to implement an "open" button when browsing
through packages. 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. |
public Set<String> getMimeGroup (String mimeGroup)
Gets all MIME types contained by MIME group. Libraries should use a reverse-DNS prefix followed by a ':' character and library-specific group name to avoid namespace collisions, e.g. "com.example:myFeature".
Parameters | |
---|---|
mimeGroup |
String : MIME group to retrieve.
This value cannot be null . |
Returns | |
---|---|
Set<String> |
MIME types contained by the MIME group.
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the MIME group was not declared in the manifest. |
public ModuleInfo getModuleInfo (String packageName, int flags)
Retrieve information for a particular module.
Parameters | |
---|---|
packageName |
String : The name of the module.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or android.content.pm.PackageManager.MODULE_APEX_NAME |
Returns | |
---|---|
ModuleInfo |
A ModuleInfo object containing information about the
module.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if a module with the given name cannot be found on the system. |
public abstract 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. |
public PackageInfo getPackageArchiveInfo (String archiveFilePath, int flags)
Retrieve overall information about an application package defined in a package archive file
Parameters | |
---|---|
archiveFilePath |
String : The path to the archive file
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_ACTIVITIES , GET_CONFIGURATIONS , GET_GIDS , GET_INSTRUMENTATION , GET_INTENT_FILTERS , GET_META_DATA , GET_PERMISSIONS , GET_PROVIDERS , GET_RECEIVERS , GET_SERVICES , GET_SHARED_LIBRARY_FILES , GET_SIGNATURES , GET_SIGNING_CERTIFICATES , GET_URI_PERMISSION_PATTERNS , MATCH_UNINSTALLED_PACKAGES , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_SYSTEM_ONLY , android.content.pm.PackageManager.MATCH_FACTORY_ONLY, android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, android.content.pm.PackageManager.MATCH_INSTANT, MATCH_APEX , GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , GET_UNINSTALLED_PACKAGES , and android.content.pm.PackageManager.MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS |
Returns | |
---|---|
PackageInfo |
A PackageInfo object containing information about the package archive. If the package could not be parsed, returns null. |
public abstract 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 |
if a package with the given name cannot be found on the system. |
public abstract int[] getPackageGids (String packageName, int flags)
Return an array of all of the POSIX secondary group IDs that have been assigned to the given package.
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 . |
flags |
int : Value is either 0 or a combination of GET_ACTIVITIES , GET_CONFIGURATIONS , GET_GIDS , GET_INSTRUMENTATION , GET_INTENT_FILTERS , GET_META_DATA , GET_PERMISSIONS , GET_PROVIDERS , GET_RECEIVERS , GET_SERVICES , GET_SHARED_LIBRARY_FILES , GET_SIGNATURES , GET_SIGNING_CERTIFICATES , GET_URI_PERMISSION_PATTERNS , MATCH_UNINSTALLED_PACKAGES , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_SYSTEM_ONLY , android.content.pm.PackageManager.MATCH_FACTORY_ONLY, android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, android.content.pm.PackageManager.MATCH_INSTANT, MATCH_APEX , GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , GET_UNINSTALLED_PACKAGES , and android.content.pm.PackageManager.MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS |
Returns | |
---|---|
int[] |
Returns an int array of the assigned gids, or null if there are none. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if a package with the given name cannot be found on the system. |
public abstract PackageInfo getPackageInfo (String packageName, int flags)
Retrieve overall information about an application package that is installed on the system.
Parameters | |
---|---|
packageName |
String : The full name (i.e. com.google.apps.contacts) of the
desired package.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_ACTIVITIES , GET_CONFIGURATIONS , GET_GIDS , GET_INSTRUMENTATION , GET_INTENT_FILTERS , GET_META_DATA , GET_PERMISSIONS , GET_PROVIDERS , GET_RECEIVERS , GET_SERVICES , GET_SHARED_LIBRARY_FILES , GET_SIGNATURES , GET_SIGNING_CERTIFICATES , GET_URI_PERMISSION_PATTERNS , MATCH_UNINSTALLED_PACKAGES , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_SYSTEM_ONLY , android.content.pm.PackageManager.MATCH_FACTORY_ONLY, android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, android.content.pm.PackageManager.MATCH_INSTANT, MATCH_APEX , GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , GET_UNINSTALLED_PACKAGES , and android.content.pm.PackageManager.MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS |
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 |
if a package with the given name cannot be found on the system. |
public abstract 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.
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.
Value is either 0 or a combination of GET_ACTIVITIES , GET_CONFIGURATIONS , GET_GIDS , GET_INSTRUMENTATION , GET_INTENT_FILTERS , GET_META_DATA , GET_PERMISSIONS , GET_PROVIDERS , GET_RECEIVERS , GET_SERVICES , GET_SHARED_LIBRARY_FILES , GET_SIGNATURES , GET_SIGNING_CERTIFICATES , GET_URI_PERMISSION_PATTERNS , MATCH_UNINSTALLED_PACKAGES , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_SYSTEM_ONLY , android.content.pm.PackageManager.MATCH_FACTORY_ONLY, android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, android.content.pm.PackageManager.MATCH_INSTANT, MATCH_APEX , GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , GET_UNINSTALLED_PACKAGES , and android.content.pm.PackageManager.MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS |
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 |
if a package with the given name cannot be found on the system. |
public abstract PackageInstaller getPackageInstaller ()
Return interface that offers the ability to install, upgrade, and remove applications on the device.
Returns | |
---|---|
PackageInstaller |
This value cannot be null . |
public abstract int getPackageUid (String packageName, int flags)
Return the UID associated with the given package name.
Note that the same package will have different UIDs under different
UserHandle
on the same device.
Parameters | |
---|---|
packageName |
String : The full name (i.e. com.google.apps.contacts) of the
desired package.
This value cannot be null . |
flags |
int : Value is either 0 or a combination of GET_ACTIVITIES , GET_CONFIGURATIONS , GET_GIDS , GET_INSTRUMENTATION , GET_INTENT_FILTERS , GET_META_DATA , GET_PERMISSIONS , GET_PROVIDERS , GET_RECEIVERS , GET_SERVICES , GET_SHARED_LIBRARY_FILES , GET_SIGNATURES , GET_SIGNING_CERTIFICATES , GET_URI_PERMISSION_PATTERNS , MATCH_UNINSTALLED_PACKAGES , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_SYSTEM_ONLY , android.content.pm.PackageManager.MATCH_FACTORY_ONLY, android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, android.content.pm.PackageManager.MATCH_INSTANT, MATCH_APEX , GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , GET_UNINSTALLED_PACKAGES , and android.content.pm.PackageManager.MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS |
Returns | |
---|---|
int |
Returns an integer UID who owns the given package name. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if a package with the given name can not be found on the system. |
public abstract String[] getPackagesForUid (int uid)
Retrieve the names of all packages that are associated with a particular user id. In most cases, this will be a single package name, the package that has been assigned that user id. Where there are multiple packages sharing the same user id through the "sharedUserId" mechanism, all packages with that id will be returned.
Parameters | |
---|---|
uid |
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. |
public abstract List<PackageInfo> getPackagesHoldingPermissions (String[] permissions, int flags)
Return a List of all installed packages that are currently holding any of the given permissions.
Parameters | |
---|---|
permissions |
String : This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_ACTIVITIES , GET_CONFIGURATIONS , GET_GIDS , GET_INSTRUMENTATION , GET_INTENT_FILTERS , GET_META_DATA , GET_PERMISSIONS , GET_PROVIDERS , GET_RECEIVERS , GET_SERVICES , GET_SHARED_LIBRARY_FILES , GET_SIGNATURES , GET_SIGNING_CERTIFICATES , GET_URI_PERMISSION_PATTERNS , MATCH_UNINSTALLED_PACKAGES , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_SYSTEM_ONLY , android.content.pm.PackageManager.MATCH_FACTORY_ONLY, android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, android.content.pm.PackageManager.MATCH_INSTANT, MATCH_APEX , GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , GET_UNINSTALLED_PACKAGES , and android.content.pm.PackageManager.MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS |
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 . |
public abstract PermissionGroupInfo getPermissionGroupInfo (String permName, int flags)
Retrieve all of the information we know about a particular group of permissions.
Parameters | |
---|---|
permName |
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 GET_META_DATA |
Returns | |
---|---|
PermissionGroupInfo |
Returns a PermissionGroupInfo containing information
about the permission.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if a package with the given name cannot be found on the system. |
public abstract PermissionInfo getPermissionInfo (String permName, int flags)
Retrieve all of the information we know about a particular permission.
Parameters | |
---|---|
permName |
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 GET_META_DATA |
Returns | |
---|---|
PermissionInfo |
Returns a PermissionInfo containing information about the
permission. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if a package with the given name cannot be found on the system. |
public abstract 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, int)
or queryIntentActivities(Intent, int)
. 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.
This value may be null . |
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. |
public abstract 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, int)
or queryIntentActivities(Intent, int)
. 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.
Value is either 0 or a combination of GET_ACTIVITIES , GET_CONFIGURATIONS , GET_GIDS , GET_INSTRUMENTATION , GET_INTENT_FILTERS , GET_META_DATA , GET_PERMISSIONS , GET_PROVIDERS , GET_RECEIVERS , GET_SERVICES , GET_SHARED_LIBRARY_FILES , GET_SIGNATURES , GET_SIGNING_CERTIFICATES , GET_URI_PERMISSION_PATTERNS , MATCH_UNINSTALLED_PACKAGES , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_SYSTEM_ONLY , android.content.pm.PackageManager.MATCH_FACTORY_ONLY, android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, android.content.pm.PackageManager.MATCH_INSTANT, MATCH_APEX , GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , GET_UNINSTALLED_PACKAGES , and android.content.pm.PackageManager.MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS |
Returns | |
---|---|
List<PackageInfo> |
A List of PackageInfo objects, one for each preferred
application, in order of preference.
This value cannot be null . |
public abstract ProviderInfo getProviderInfo (ComponentName component, int flags)
Retrieve all of the information we know about a particular content provider class.
Parameters | |
---|---|
component |
ComponentName : The full component name (i.e.
com.google.providers.media/com.google.providers.media.
MediaProvider) of a ContentProvider class.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_META_DATA , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DEFAULT_ONLY , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, android.content.pm.PackageManager.MATCH_STATIC_SHARED_LIBRARIES, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
Returns | |
---|---|
ProviderInfo |
A ProviderInfo object containing information about the
provider.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if a package with the given name cannot be found on the system. |
public abstract ActivityInfo getReceiverInfo (ComponentName component, int flags)
Retrieve all of the information we know about a particular receiver class.
Parameters | |
---|---|
component |
ComponentName : The full component name (i.e.
com.google.apps.calendar/com.google.apps.calendar.
CalendarAlarm) of a Receiver class.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_META_DATA , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DEFAULT_ONLY , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, android.content.pm.PackageManager.MATCH_STATIC_SHARED_LIBRARIES, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
Returns | |
---|---|
ActivityInfo |
An ActivityInfo containing information about the
receiver.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if a package with the given name cannot be found on the system. |
public abstract Resources getResourcesForActivity (ComponentName activityName)
Retrieve the resources associated with an activity. Given the full name of an activity, retrieves the information about it and calls getResources() to return its application's resources. If the activity 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 |
Thrown if the resources for the given application could not be loaded. |
public abstract Resources getResourcesForApplication (ApplicationInfo app)
Retrieve the resources for an application. Throws NameNotFoundException if the package is no longer installed.
Parameters | |
---|---|
app |
ApplicationInfo : Information about the desired application.
This value cannot be null . |
Returns | |
---|---|
Resources |
Returns the application's Resources.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
Thrown if the resources for the given application could not be loaded (most likely because it was uninstalled). |
public abstract Resources getResourcesForApplication (String packageName)
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 | |
---|---|
packageName |
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 |
Thrown if the resources for the given application could not be loaded. |
public abstract ServiceInfo getServiceInfo (ComponentName component, int flags)
Retrieve all of the information we know about a particular service class.
Parameters | |
---|---|
component |
ComponentName : The full component name (i.e.
com.google.apps.media/com.google.apps.media.
BackgroundPlayback) of a Service class.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_META_DATA , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DEFAULT_ONLY , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, android.content.pm.PackageManager.MATCH_STATIC_SHARED_LIBRARIES, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
Returns | |
---|---|
ServiceInfo |
A ServiceInfo object containing information about the
service.
This value cannot be null . |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if a package with the given name cannot be found on the system. |
public abstract List<SharedLibraryInfo> getSharedLibraries (int flags)
Get a list of shared libraries on the device.
Parameters | |
---|---|
flags |
int : To filter the libraries to return.
Value is either 0 or a combination of android.content.pm.PackageManager.INSTALL_REPLACE_EXISTING, android.content.pm.PackageManager.INSTALL_ALLOW_TEST, android.content.pm.PackageManager.INSTALL_INTERNAL, android.content.pm.PackageManager.INSTALL_FROM_ADB, android.content.pm.PackageManager.INSTALL_ALL_USERS, android.content.pm.PackageManager.INSTALL_REQUEST_DOWNGRADE, android.content.pm.PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS, android.content.pm.PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS, android.content.pm.PackageManager.INSTALL_FORCE_VOLUME_UUID, android.content.pm.PackageManager.INSTALL_FORCE_PERMISSION_PROMPT, android.content.pm.PackageManager.INSTALL_INSTANT_APP, android.content.pm.PackageManager.INSTALL_DONT_KILL_APP, android.content.pm.PackageManager.INSTALL_FULL_APP, android.content.pm.PackageManager.INSTALL_ALLOCATE_AGGRESSIVE, android.content.pm.PackageManager.INSTALL_VIRTUAL_PRELOAD, android.content.pm.PackageManager.INSTALL_APEX, android.content.pm.PackageManager.INSTALL_ENABLE_ROLLBACK, android.content.pm.PackageManager.INSTALL_ALLOW_DOWNGRADE, android.content.pm.PackageManager.INSTALL_STAGED, and android.content.pm.PackageManager.INSTALL_DRY_RUN |
Returns | |
---|---|
List<SharedLibraryInfo> |
The shared library list.
This value cannot be null . |
See also:
public Bundle getSuspendedPackageAppExtras ()
Returns a Bundle
of extras that was meant to be sent to the calling app when it was
suspended. An app with the permission android.permission.SUSPEND_APPS
can supply this
to the system at the time of suspending an app.
This is the same Bundle
that is sent along with the broadcast
Intent#ACTION_MY_PACKAGE_SUSPENDED
, whenever the app is suspended. The contents of
this Bundle
are a contract between the suspended app and the suspending app.
Note: These extras are optional, so if no extras were supplied to the system, this method
will return null
, even when the calling app has been suspended.
Returns | |
---|---|
Bundle |
A Bundle containing the extras for the app, or null if the
package is not currently suspended. |
public boolean getSyntheticAppDetailsActivityEnabled (String packageName)
Return whether a synthetic app details activity will be generated if the app has no enabled launcher activity.
Parameters | |
---|---|
packageName |
String : The package name of the app
This value cannot be null . |
Returns | |
---|---|
boolean |
Returns the enabled state for the synthetic app details activity. |
public abstract 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(!!). |
public abstract 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. |
public abstract CharSequence getText (String packageName, int resid, ApplicationInfo appInfo)
Retrieve text from a package. This is a low-level API used by
the various package manager info structures (such as
ComponentInfo
to implement retrieval of their associated
labels and other text.
Parameters | |
---|---|
packageName |
String : The name of the package that this text is coming from.
Cannot be null.
This value 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.
This value may be null . |
Returns | |
---|---|
CharSequence |
Returns a CharSequence holding the requested text. Returns null if the text could not be found for any reason. |
public abstract Drawable getUserBadgedDrawableForDensity (Drawable drawable, UserHandle user, Rect badgeLocation, int badgeDensity)
If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a badged copy of the given drawable allowing the user to distinguish it from the original drawable. 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.
This value may be null . |
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. |
public abstract Drawable getUserBadgedIcon (Drawable drawable, 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 | |
---|---|
drawable |
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 . |
public abstract CharSequence getUserBadgedLabel (CharSequence label, UserHandle user)
If the target user is a managed profile of the calling user or the caller is itself a managed profile, then this returns a copy of the label with badging for accessibility services like talkback. 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 . |
public Set<String> getWhitelistedRestrictedPermissions (String packageName, int whitelistFlag)
Gets the restricted permissions that have been whitelisted and the app is allowed to have them granted in their full form.
Permissions can be hard restricted which means that the app cannot hold
them or soft restricted where the app can hold the permission but in a weaker
form. Whether a permission is PermissionInfo#FLAG_HARD_RESTRICTED
or PermissionInfo#FLAG_SOFT_RESTRICTED
depends on the permission declaration. Whitelisting a hard restricted permission
allows for the to hold that permission and whitelisting a soft restricted
permission allows the app to hold the permission in its full, unrestricted form.
FLAG_PERMISSION_WHITELIST_SYSTEM
flag.
Can only be accessed by pre-installed holders of a dedicated permission.
FLAG_PERMISSION_WHITELIST_UPGRADE
flag. Can be accessed by pre-installed
holders of a dedicated permission or the installer on record.
FLAG_PERMISSION_WHITELIST_INSTALLER
flag.
Can be accessed by pre-installed holders of a dedicated permission or the
installer on record.
Parameters | |
---|---|
packageName |
String : The app for which to get whitelisted permissions.
This value cannot be null . |
whitelistFlag |
int : The flag to determine which whitelist to query. Only one flag
can be passed.s
Value is either 0 or a combination of FLAG_PERMISSION_WHITELIST_SYSTEM , FLAG_PERMISSION_WHITELIST_INSTALLER , and FLAG_PERMISSION_WHITELIST_UPGRADE |
Returns | |
---|---|
Set<String> |
The whitelisted permissions that are on any of the whitelists you query for.
This value cannot be null . |
Throws | |
---|---|
SecurityException |
if you try to access a whitelist that you have no access to. |
public abstract XmlResourceParser getXml (String packageName, int resid, ApplicationInfo appInfo)
Retrieve an XML file from a package. This is a low-level API used to retrieve XML meta data.
Parameters | |
---|---|
packageName |
String : The name of the package that this xml is coming from.
Cannot be null.
This value 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.
This value may be null . |
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. |
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 : representation of the certificate
Value is CERT_INPUT_RAW_X509 , or CERT_INPUT_SHA256 |
Returns | |
---|---|
boolean |
true if this package was or is signed by exactly the certificate certificate |
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 : representation of the certificate
Value is CERT_INPUT_RAW_X509 , or CERT_INPUT_SHA256 |
Returns | |
---|---|
boolean |
true if this package was or is signed by exactly the certificate certificate |
public abstract boolean hasSystemFeature (String featureName)
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 | |
---|---|
featureName |
String : This value cannot be null . |
Returns | |
---|---|
boolean |
Returns true if the devices supports the feature, else false. |
public abstract boolean hasSystemFeature (String featureName, 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 | |
---|---|
featureName |
String : This value cannot be null . |
version |
int |
Returns | |
---|---|
boolean |
Returns true if the devices supports the feature, else false. |
public boolean isAutoRevokeWhitelisted (String packageName)
Checks whether an application is exempt from having its permissions be automatically revoked
when the app is unused for an extended period of time.
Only the installer on record that installed the given package, or a holder of
WHITELIST_AUTO_REVOKE_PERMISSIONS
is allowed to call this.
Parameters | |
---|---|
packageName |
String : The app for which to set exemption.
This value cannot be null . |
Returns | |
---|---|
boolean |
Whether the app is whitelisted. |
Throws | |
---|---|
SecurityException |
if you you have no access to this. |
public boolean isAutoRevokeWhitelisted ()
Returns | |
---|---|
boolean |
whether this package is whitelisted from having its runtime permission be auto-revoked if unused for an extended period of time. |
public boolean isDefaultApplicationIcon (Drawable drawable)
Returns if the provided drawable represents the default activity icon provided by the system. PackageManager silently returns a default application icon for any package/activity if the app itself does not define one or if the system encountered any error when loading the icon. Developers can use this to check implement app specific logic around retrying or caching.
Parameters | |
---|---|
drawable |
Drawable : This value cannot be null . |
Returns | |
---|---|
boolean |
true if the drawable represents the default activity icon, false otherwise |
public boolean isDeviceUpgrading ()
Returns true if the device is upgrading, such as first boot after OTA.
Returns | |
---|---|
boolean |
public abstract boolean isInstantApp ()
Gets whether this application is an instant app.
Returns | |
---|---|
boolean |
Whether caller is an instant app. |
public abstract boolean isInstantApp (String packageName)
Gets whether the given package is an instant app.
Parameters | |
---|---|
packageName |
String : The package to check
This value cannot be null . |
Returns | |
---|---|
boolean |
Whether the given package is an instant app. |
public boolean isPackageSuspended (String packageName)
Query if an app is currently suspended.
Parameters | |
---|---|
packageName |
String : This value cannot be null . |
Returns | |
---|---|
boolean |
true if the given package is suspended, false otherwise |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if the package could not be found. |
See also:
public boolean isPackageSuspended ()
Apps can query this to know if they have been suspended. A system app with the permission
android.permission.SUSPEND_APPS
can put any app on the device into a suspended state.
While in this state, the application's notifications will be hidden, any of its started activities will be stopped and it will not be able to show toasts or dialogs or play audio. When the user tries to launch a suspended app, the system will, instead, show a dialog to the user informing them that they cannot use this app while it is suspended.
When an app is put into this state, the broadcast action
Intent#ACTION_MY_PACKAGE_SUSPENDED
will be delivered to any of its broadcast
receivers that included this action in their intent-filters, including manifest
receivers. Similarly, a broadcast action Intent#ACTION_MY_PACKAGE_UNSUSPENDED
is delivered when a previously suspended app is taken out of this state. Apps are expected to
use these to gracefully deal with transitions to and from this state.
Returns | |
---|---|
boolean |
true if the calling package has been suspended, false otherwise. |
public abstract boolean isPermissionRevokedByPolicy (String permName, String packageName)
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 . |
packageName |
String : The name of the package you are checking against.
This value cannot be null . |
Returns | |
---|---|
boolean |
Whether the permission is restricted by policy. |
public abstract boolean isSafeMode ()
Return whether the device has been booted into safe mode.
Returns | |
---|---|
boolean |
public abstract List<ResolveInfo> queryBroadcastReceivers (Intent intent, int flags)
Retrieve all receivers that can handle a broadcast of the given intent.
Parameters | |
---|---|
intent |
Intent : The desired intent as per resolveActivity().
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_META_DATA , GET_RESOLVED_FILTER , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DEFAULT_ONLY , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
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. |
public abstract List<ProviderInfo> queryContentProviders (String processName, int uid, int flags)
Retrieve content provider information.
Note: unlike most other methods, an empty result set is indicated by a null return instead of an empty list.
Parameters | |
---|---|
processName |
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.
This value may be null . |
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.
Value is either 0 or a combination of GET_META_DATA , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DEFAULT_ONLY , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, android.content.pm.PackageManager.MATCH_STATIC_SHARED_LIBRARIES, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
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. |
public abstract List<InstrumentationInfo> queryInstrumentation (String targetPackage, int flags)
Retrieve information about available instrumentation code. May be used to retrieve either all instrumentation code, or only the code targeting a particular package.
Parameters | |
---|---|
targetPackage |
String : If null, all instrumentation is returned; only the
instrumentation targeting this package name is returned.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or 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. |
public abstract List<ResolveInfo> queryIntentActivities (Intent intent, int flags)
Retrieve all activities that can be performed for the given intent.
Parameters | |
---|---|
intent |
Intent : The desired intent as per resolveActivity().
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned. The
most important is MATCH_DEFAULT_ONLY , to limit the
resolution to only those activities that support the
Intent.CATEGORY_DEFAULT . Or, set
MATCH_ALL to prevent any filtering of the results.
Value is either 0 or a combination of GET_META_DATA , GET_RESOLVED_FILTER , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DEFAULT_ONLY , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
Returns | |
---|---|
List<ResolveInfo> |
Returns a List of ResolveInfo objects containing one entry for
each matching activity, ordered from best to worst. In other
words, the first item is what would be returned by
resolveActivity(Intent, int) . If there are no matching activities, an
empty list is returned.
This value cannot be null . |
public abstract List<ResolveInfo> queryIntentActivityOptions (ComponentName caller, Intent[] specifics, Intent intent, int flags)
Retrieve a set of activities that should be presented to the user as
similar options. This is like queryIntentActivities(Intent, int)
, except it
also allows you to supply a list of more explicit Intents that you would
like to resolve to particular options, and takes care of returning the
final ResolveInfo list in a reasonable order, with no duplicates, based
on those inputs.
Parameters | |
---|---|
caller |
ComponentName : The class name of the activity that is making the request.
This activity will never appear in the output list. Can be
null.
This value may be null . |
specifics |
Intent : An array of Intents that should be resolved to the first
specific results. Can be null.
This value may 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 MATCH_DEFAULT_ONLY , to limit the
resolution to only those activities that support the
Intent.CATEGORY_DEFAULT .
Value is either 0 or a combination of GET_META_DATA , GET_RESOLVED_FILTER , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DEFAULT_ONLY , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
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. |
public abstract List<ResolveInfo> queryIntentContentProviders (Intent intent, int flags)
Retrieve all providers that can match the given intent.
Parameters | |
---|---|
intent |
Intent : An intent containing all of the desired specification
(action, data, type, category, and/or component).
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_META_DATA , GET_RESOLVED_FILTER , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DEFAULT_ONLY , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
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. |
public abstract List<ResolveInfo> queryIntentServices (Intent intent, int flags)
Retrieve all services that can match the given intent.
Parameters | |
---|---|
intent |
Intent : The desired intent as per resolveService().
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_META_DATA , GET_RESOLVED_FILTER , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DEFAULT_ONLY , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
Returns | |
---|---|
List<ResolveInfo> |
Returns a List of ResolveInfo objects containing one entry for
each matching service, ordered from best to worst. In other
words, the first item is what would be returned by
resolveService(Intent, int) . If there are no matching services, an
empty list or null is returned. |
public abstract List<PermissionInfo> queryPermissionsByGroup (String permissionGroup, int flags)
Query for all of the permissions associated with a particular group.
Parameters | |
---|---|
permissionGroup |
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.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or GET_META_DATA |
Returns | |
---|---|
List<PermissionInfo> |
Returns a list of PermissionInfo containing information
about all of the permissions in the given group. |
Throws | |
---|---|
PackageManager.NameNotFoundException |
if a package with the given name cannot be found on the system. |
public abstract 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, int)
or queryIntentActivities(Intent, int)
. 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 . |
public abstract void removePermission (String permName)
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 | |
---|---|
permName |
String : The name of the permission to remove.
This value cannot be null . |
Throws | |
---|---|
SecurityException |
if you are not allowed to remove the given permission name. |
See also:
public boolean removeWhitelistedRestrictedPermission (String packageName, String permName, int whitelistFlags)
Removes a whitelisted restricted permission for an app.
Permissions can be hard restricted which means that the app cannot hold
them or soft restricted where the app can hold the permission but in a weaker
form. Whether a permission is PermissionInfo#FLAG_HARD_RESTRICTED
or PermissionInfo#FLAG_SOFT_RESTRICTED
depends on the permission declaration. Whitelisting a hard restricted permission
allows for the to hold that permission and whitelisting a soft restricted
permission allows the app to hold the permission in its full, unrestricted form.
FLAG_PERMISSION_WHITELIST_SYSTEM
flag.
Can only be modified by pre-installed holders of a dedicated permission.
FLAG_PERMISSION_WHITELIST_UPGRADE
flag. Can be modified by pre-installed
holders of a dedicated permission. The installer on record can only remove
permissions from this whitelist.
FLAG_PERMISSION_WHITELIST_INSTALLER
flag.
Can be modified by pre-installed holders of a dedicated permission or the installer
on record.
You need to specify the whitelists for which to set the whitelisted permissions which will clear the previous whitelisted permissions and replace them with the provided ones.
Parameters | |
---|---|
packageName |
String : The app for which to get whitelisted permissions.
This value cannot be null . |
permName |
String : The whitelisted permission to remove.
This value cannot be null . |
whitelistFlags |
int : The whitelists from which to remove. Passing multiple flags
updates all specified whitelists.
Value is either 0 or a combination of FLAG_PERMISSION_WHITELIST_SYSTEM , FLAG_PERMISSION_WHITELIST_INSTALLER , and FLAG_PERMISSION_WHITELIST_UPGRADE |
Returns | |
---|---|
boolean |
Whether the permission was removed from the whitelist. |
Throws | |
---|---|
SecurityException |
if you try to modify a whitelist that you have no access to. |
public abstract 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.
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 MATCH_DEFAULT_ONLY , to limit the
resolution to only those activities that support the
Intent.CATEGORY_DEFAULT .
Value is either 0 or a combination of GET_META_DATA , GET_RESOLVED_FILTER , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DEFAULT_ONLY , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
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. |
public abstract ProviderInfo resolveContentProvider (String authority, 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);
Parameters | |
---|---|
authority |
String : The authority of the provider to find.
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_META_DATA , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DEFAULT_ONLY , MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, android.content.pm.PackageManager.MATCH_STATIC_SHARED_LIBRARIES, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
Returns | |
---|---|
ProviderInfo |
A ProviderInfo object containing information about the
provider. If a provider was not found, returns null. |
public abstract ResolveInfo resolveService (Intent intent, int flags)
Determine the best service to handle for a given Intent.
Parameters | |
---|---|
intent |
Intent : An intent containing all of the desired specification
(action, data, type, category, and/or component).
This value cannot be null . |
flags |
int : Additional option flags to modify the data returned.
Value is either 0 or a combination of GET_META_DATA , GET_RESOLVED_FILTER , GET_SHARED_LIBRARY_FILES , MATCH_ALL , android.content.pm.PackageManager.MATCH_DEBUG_TRIAGED_MISSING, MATCH_DISABLED_COMPONENTS , MATCH_DISABLED_UNTIL_USED_COMPONENTS , MATCH_DEFAULT_ONLY , MATCH_DIRECT_BOOT_AUTO , MATCH_DIRECT_BOOT_AWARE , MATCH_DIRECT_BOOT_UNAWARE , MATCH_SYSTEM_ONLY , MATCH_UNINSTALLED_PACKAGES , android.content.pm.PackageManager.MATCH_INSTANT, GET_DISABLED_COMPONENTS , GET_DISABLED_UNTIL_USED_COMPONENTS , and GET_UNINSTALLED_PACKAGES |
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. |
public abstract void setApplicationCategoryHint (String packageName, int categoryHint)
Provide a hint of what the ApplicationInfo#category
value should
be for the given package.
This hint can only be set by the app which installed this package, as
determined by getInstallerPackageName(java.lang.String)
.
Parameters | |
---|---|
packageName |
String : the package to change the category hint for.
This value cannot be null . |
categoryHint |
int : the category hint to set.
Value is ApplicationInfo.CATEGORY_UNDEFINED , ApplicationInfo.CATEGORY_GAME , ApplicationInfo.CATEGORY_AUDIO , ApplicationInfo.CATEGORY_VIDEO , ApplicationInfo.CATEGORY_IMAGE , ApplicationInfo.CATEGORY_SOCIAL , ApplicationInfo.CATEGORY_NEWS , ApplicationInfo.CATEGORY_MAPS , or ApplicationInfo.CATEGORY_PRODUCTIVITY |
public abstract void setApplicationEnabledSetting (String packageName, int newState, int flags)
Set the enabled setting for an application
This setting will override any enabled state which may have been set by the application in
its manifest. It also overrides the enabled state set in the manifest for any of the
application's components. It does not override any enabled state set by
setComponentEnabledSetting(ComponentName, int, int)
for any of the application's components.
Parameters | |
---|---|
packageName |
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 COMPONENT_ENABLED_STATE_DEFAULT , COMPONENT_ENABLED_STATE_ENABLED , COMPONENT_ENABLED_STATE_DISABLED , COMPONENT_ENABLED_STATE_DISABLED_USER , or COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED |
flags |
int : Optional behavior flags.
Value is either 0 or a combination of DONT_KILL_APP , and SYNCHRONOUS |
public boolean setAutoRevokeWhitelisted (String packageName, boolean whitelisted)
Marks an application exempt from having its permissions be automatically revoked when the app is unused for an extended period of time. Only the installer on record that installed the given package is allowed to call this. Packages start in whitelisted state, and it is the installer's responsibility to un-whitelist the packages it installs, unless auto-revoking permissions from that package would cause breakages beyond having to re-request the permission(s).
Parameters | |
---|---|
packageName |
String : The app for which to set exemption.
This value cannot be null . |
whitelisted |
boolean : Whether the app should be whitelisted. |
Returns | |
---|---|
boolean |
whether any change took effect. |
Throws | |
---|---|
SecurityException |
if you you have no access to modify this. |
See also:
public abstract void setComponentEnabledSetting (ComponentName componentName, int newState, int flags)
Set the enabled setting for a package component (activity, receiver, service, provider). This setting will override any enabled state which may have been set by the component in its manifest.
Parameters | |
---|---|
componentName |
ComponentName : The component to enable
This value cannot be null . |
newState |
int : The new 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 |
flags |
int : Optional behavior flags.
Value is either 0 or a combination of DONT_KILL_APP , and SYNCHRONOUS |
public abstract 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:
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.
This value may be null . |
public void setMimeGroup (String mimeGroup, Set<String> mimeTypes)
Sets MIME group's MIME types. Libraries should use a reverse-DNS prefix followed by a ':' character and library-specific group name to avoid namespace collisions, e.g. "com.example:myFeature".
Parameters | |
---|---|
mimeGroup |
String : MIME group to modify.
This value cannot be null . |
mimeTypes |
Set : new MIME types contained by MIME group.
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the MIME group was not declared in the manifest. |
public abstract void updateInstantAppCookie (byte[] cookie)
Updates the instant application cookie for the calling app. Non
instant apps and apps that were instant but were upgraded
to normal apps can still access this API. For instant apps
this cookie is cached for some time after uninstall while for
normal apps the cookie is deleted after the app is uninstalled.
The cookie is always present while the app is installed. The
cookie size is limited by getInstantAppCookieMaxBytes()
.
Passing null
or an empty array clears the cookie.
Parameters | |
---|---|
cookie |
byte : The cookie data.
This value may be null . |
Throws | |
---|---|
IllegalArgumentException |
if the array exceeds max cookie size. |
public abstract void verifyPendingInstall (int id, int verificationCode)
Allows a package listening to the
Intent#ACTION_PACKAGE_NEEDS_VERIFICATION
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 . |
Throws | |
---|---|
SecurityException |
if the caller does not have the PACKAGE_VERIFICATION_AGENT permission. |