CrossProfileApps
public
class
CrossProfileApps
extends Object
java.lang.Object | |
↳ | android.content.pm.CrossProfileApps |
Class for handling cross profile operations. Apps can use this class to interact with its
instance in any profile that is in getTargetUserProfiles()
. For example, app can
use this class to start its main activity in managed profile.
Summary
Public methods | |
---|---|
Drawable
|
getProfileSwitchingIconDrawable(UserHandle userHandle)
Return a drawable that calling app can show to user for the semantic of profile switching -- launching its own activity in specified user profile. |
CharSequence
|
getProfileSwitchingLabel(UserHandle userHandle)
Return a label that calling app can show to user for the semantic of profile switching -- launching its own activity in specified user profile. |
List<UserHandle>
|
getTargetUserProfiles()
Return a list of user profiles that that the caller can use when calling other APIs in this class. |
void
|
startMainActivity(ComponentName component, UserHandle targetUser)
Starts the specified main activity of the caller package in the specified profile. |
Inherited methods | |
---|---|
Public methods
getProfileSwitchingIconDrawable
public Drawable getProfileSwitchingIconDrawable (UserHandle userHandle)
Return a drawable that calling app can show to user for the semantic of profile switching -- launching its own activity in specified user profile. For example, it may return a briefcase icon if the given user handle is the managed profile one.
Parameters | |
---|---|
userHandle |
UserHandle : The UserHandle of the target profile, must be one of the users returned by
getTargetUserProfiles() , otherwise a SecurityException will
be thrown.This value must never be |
Returns | |
---|---|
Drawable |
an icon that calling app can show user for the semantic of launching its own
activity in specified user profile. This value will never be |
getProfileSwitchingLabel
public CharSequence getProfileSwitchingLabel (UserHandle userHandle)
Return a label that calling app can show to user for the semantic of profile switching -- launching its own activity in specified user profile. For example, it may return "Switch to work" if the given user handle is the managed profile one.
Parameters | |
---|---|
userHandle |
UserHandle : The UserHandle of the target profile, must be one of the users returned by
getTargetUserProfiles() , otherwise a SecurityException will
be thrown.This value must never be |
Returns | |
---|---|
CharSequence |
a label that calling app can show user for the semantic of launching its own
activity in the specified user profile. This value will never be |
getTargetUserProfiles
public List<UserHandle> getTargetUserProfiles ()
Return a list of user profiles that that the caller can use when calling other APIs in this class.
A user profile would be considered as a valid target user profile, provided that:
- It gets caller app installed
- It is not equal to the calling user
- It is in the same profile group of calling user profile
- It is enabled
Returns | |
---|---|
List<UserHandle> |
This value will never be |
See also:
startMainActivity
public void startMainActivity (ComponentName component, UserHandle targetUser)
Starts the specified main activity of the caller package in the specified profile.
Parameters | |
---|---|
component |
ComponentName : The ComponentName of the activity to launch, it must be exported and has
action Intent.ACTION_MAIN , category
Intent.CATEGORY_LAUNCHER . Otherwise, SecurityException will
be thrown.This value must never be |
targetUser |
UserHandle : The UserHandle of the profile, must be one of the users returned by
getTargetUserProfiles() , otherwise a SecurityException will
be thrown.
This value must never be |
Classes
- ActivityInfo
- ActivityInfo.WindowLayout
- ApplicationInfo
- ApplicationInfo.DisplayNameComparator
- ChangedPackages
- ComponentInfo
- ConfigurationInfo
- CrossProfileApps
- FeatureGroupInfo
- FeatureInfo
- InstrumentationInfo
- LabeledIntent
- LauncherActivityInfo
- LauncherApps
- LauncherApps.Callback
- LauncherApps.PinItemRequest
- LauncherApps.ShortcutQuery
- PackageInfo
- PackageInstaller
- PackageInstaller.Session
- PackageInstaller.SessionCallback
- PackageInstaller.SessionInfo
- PackageInstaller.SessionParams
- PackageItemInfo
- PackageItemInfo.DisplayNameComparator
- PackageManager
- PackageStats
- PathPermission
- PermissionGroupInfo
- PermissionInfo
- ProviderInfo
- ResolveInfo
- ResolveInfo.DisplayNameComparator
- ServiceInfo
- SharedLibraryInfo
- ShortcutInfo
- ShortcutInfo.Builder
- ShortcutManager
- Signature
- SigningInfo
- VersionedPackage
Exceptions