Android APIs
public static abstract class

PackageInstaller.SessionCallback

extends Object
java.lang.Object
   ↳ android.content.pm.PackageInstaller.SessionCallback

Class Overview

Events for observing session lifecycle.

A typical session lifecycle looks like this:

  • An installer creates a session to indicate pending app delivery. All install details are available at this point.
  • The installer opens the session to deliver APK data. Note that a session may be opened and closed multiple times as network connectivity changes. The installer may deliver periodic progress updates.
  • The installer commits or abandons the session, resulting in the session being finished.

Summary

Public Constructors
PackageInstaller.SessionCallback()
Public Methods
abstract void onActiveChanged(int sessionId, boolean active)
Active state for session has been changed.
abstract void onBadgingChanged(int sessionId)
Badging details for an existing session has changed.
abstract void onCreated(int sessionId)
New session has been created.
abstract void onFinished(int sessionId, boolean success)
Session has completely finished, either with success or failure.
abstract void onProgressChanged(int sessionId, float progress)
Progress for given session has been updated.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public PackageInstaller.SessionCallback ()

Added in API level 21

Public Methods

public abstract void onActiveChanged (int sessionId, boolean active)

Added in API level 21

Active state for session has been changed.

A session is considered active whenever there is ongoing forward progress being made, such as the installer holding an open PackageInstaller.Session instance while streaming data into place, or the system optimizing code as the result of commit(IntentSender).

If the installer closes the PackageInstaller.Session without committing, the session is considered inactive until the installer opens the session again.

public abstract void onBadgingChanged (int sessionId)

Added in API level 21

Badging details for an existing session has changed. For example, the app icon or label has been updated.

public abstract void onCreated (int sessionId)

Added in API level 21

New session has been created. Details about the session can be obtained from getSessionInfo(int).

public abstract void onFinished (int sessionId, boolean success)

Added in API level 21

Session has completely finished, either with success or failure.

public abstract void onProgressChanged (int sessionId, float progress)

Added in API level 21

Progress for given session has been updated.

Note that this progress may not directly correspond to the value reported by setStagingProgress(float), as the system may carve out a portion of the overall progress to represent its own internal installation work.