LauncherApps.Callback

public static abstract class LauncherApps.Callback
extends Object

java.lang.Object
   ↳ android.content.pm.LauncherApps.Callback


Callbacks for package changes to this and related managed profiles.

Summary

Public constructors

Callback()

Public methods

abstract void onPackageAdded(String packageName, UserHandle user)

Indicates that a package was added to the specified profile.

abstract void onPackageChanged(String packageName, UserHandle user)

Indicates that a package was modified in the specified profile.

void onPackageLoadingProgressChanged(String packageName, UserHandle user, float progress)

Indicates that the loading progress of an installed package has changed.

abstract void onPackageRemoved(String packageName, UserHandle user)

Indicates that a package was removed from the specified profile.

abstract void onPackagesAvailable(String[] packageNames, UserHandle user, boolean replacing)

Indicates that one or more packages have become available.

void onPackagesSuspended(String[] packageNames, UserHandle user, Bundle launcherExtras)

This method was deprecated in API level 30. launcherExtras should be obtained by using LauncherApps.getSuspendedPackageLauncherExtras(java.lang.String, android.os.UserHandle). For all other cases, onPackagesSuspended(java.lang.String[], android.os.UserHandle) should be used.

void onPackagesSuspended(String[] packageNames, UserHandle user)

Indicates that one or more packages have been suspended.

abstract void onPackagesUnavailable(String[] packageNames, UserHandle user, boolean replacing)

Indicates that one or more packages have become unavailable.

void onPackagesUnsuspended(String[] packageNames, UserHandle user)

Indicates that one or more packages have been unsuspended.

void onShortcutsChanged(String packageName, List<ShortcutInfo> shortcuts, UserHandle user)

Indicates that one or more shortcuts of any kind (dynamic, pinned, or manifest) have been added, updated or removed.

Inherited methods

Public constructors

Callback

public Callback ()

Public methods

onPackageAdded

Added in API level 21
public abstract void onPackageAdded (String packageName, 
                UserHandle user)

Indicates that a package was added to the specified profile. If a package is added while being updated then onPackageChanged will be called instead.

Parameters
packageName String: The name of the package that was added.

user UserHandle: The UserHandle of the profile that generated the change.

onPackageChanged

Added in API level 21
public abstract void onPackageChanged (String packageName, 
                UserHandle user)

Indicates that a package was modified in the specified profile. This can happen, for example, when the package is updated or when one or more components are enabled or disabled.

Parameters
packageName String: The name of the package that has changed.

user UserHandle: The UserHandle of the profile that generated the change.

onPackageLoadingProgressChanged

Added in API level 31
public void onPackageLoadingProgressChanged (String packageName, 
                UserHandle user, 
                float progress)

Indicates that the loading progress of an installed package has changed.

Parameters
packageName String: The name of the package that has changed. This value cannot be null.

user UserHandle: The UserHandle of the profile that generated the change. This value cannot be null.

progress float: The new progress value, between [0, 1].

onPackageRemoved

Added in API level 21
public abstract void onPackageRemoved (String packageName, 
                UserHandle user)

Indicates that a package was removed from the specified profile. If a package is removed while being updated onPackageChanged will be called instead.

Parameters
packageName String: The name of the package that was removed.

user UserHandle: The UserHandle of the profile that generated the change.

onPackagesAvailable

Added in API level 21
public abstract void onPackagesAvailable (String[] packageNames, 
                UserHandle user, 
                boolean replacing)

Indicates that one or more packages have become available. For example, this can happen when a removable storage card has reappeared.

Parameters
packageNames String: The names of the packages that have become available.

user UserHandle: The UserHandle of the profile that generated the change.

replacing boolean: Indicates whether these packages are replacing existing ones.

onPackagesSuspended

Added in API level 28
Deprecated in API level 30
public void onPackagesSuspended (String[] packageNames, 
                UserHandle user, 
                Bundle launcherExtras)

This method was deprecated in API level 30.
launcherExtras should be obtained by using LauncherApps.getSuspendedPackageLauncherExtras(java.lang.String, android.os.UserHandle). For all other cases, onPackagesSuspended(java.lang.String[], android.os.UserHandle) should be used.

Indicates that one or more packages have been suspended. A device administrator or an app with android.permission.SUSPEND_APPS can do this.

A suspending app with the permission android.permission.SUSPEND_APPS can optionally provide a Bundle of extra information that it deems helpful for the launcher to handle the suspended state of these packages. The contents of this Bundle are supposed to be a contract between the suspending app and the launcher.

Parameters
packageNames String: The names of the packages that have just been suspended.

user UserHandle: the user for which the given packages were suspended.

launcherExtras Bundle: A Bundle of extras for the launcher, if provided to the system, null otherwise.

onPackagesSuspended

Added in API level 24
public void onPackagesSuspended (String[] packageNames, 
                UserHandle user)

Indicates that one or more packages have been suspended. For example, this can happen when a Device Administrator suspends an applicaton.

Note: On devices running Android P or higher, any apps that override onPackagesSuspended(java.lang.String[], android.os.UserHandle, android.os.Bundle) will not receive this callback.

Parameters
packageNames String: The names of the packages that have just been suspended.

user UserHandle: The UserHandle of the profile that generated the change.

onPackagesUnavailable

Added in API level 21
public abstract void onPackagesUnavailable (String[] packageNames, 
                UserHandle user, 
                boolean replacing)

Indicates that one or more packages have become unavailable. For example, this can happen when a removable storage card has been removed.

Parameters
packageNames String: The names of the packages that have become unavailable.

user UserHandle: The UserHandle of the profile that generated the change.

replacing boolean: Indicates whether the packages are about to be replaced with new versions.

onPackagesUnsuspended

Added in API level 24
public void onPackagesUnsuspended (String[] packageNames, 
                UserHandle user)

Indicates that one or more packages have been unsuspended. For example, this can happen when a Device Administrator unsuspends an applicaton.

Parameters
packageNames String: The names of the packages that have just been unsuspended.

user UserHandle: The UserHandle of the profile that generated the change.

onShortcutsChanged

Added in API level 25
public void onShortcutsChanged (String packageName, 
                List<ShortcutInfo> shortcuts, 
                UserHandle user)

Indicates that one or more shortcuts of any kind (dynamic, pinned, or manifest) have been added, updated or removed.

Only the applications that are allowed to access the shortcut information, as defined in LauncherApps.hasShortcutHostPermission(), will receive it.

Parameters
packageName String: The name of the package that has the shortcuts. This value cannot be null.

shortcuts List: All shortcuts from the package (dynamic, manifest and/or pinned). Only "key" information will be provided, as defined in ShortcutInfo#hasKeyFieldsOnly(). This value cannot be null.

user UserHandle: The UserHandle of the profile that generated the change. This value cannot be null.

See also: