Android APIs
public static class

PackageInstaller.SessionParams

extends Object
implements Parcelable
java.lang.Object
   ↳ android.content.pm.PackageInstaller.SessionParams

Class Overview

Parameters for creating a new PackageInstaller.Session.

Summary

Constants
int MODE_FULL_INSTALL Mode for an install session whose staged APKs should fully replace any existing APKs for the target app.
int MODE_INHERIT_EXISTING Mode for an install session that should inherit any existing APKs for the target app, unless they have been explicitly overridden (based on split name) by the session.
[Expand]
Inherited Constants
From interface android.os.Parcelable
Fields
public static final Creator<PackageInstaller.SessionParams> CREATOR
Public Constructors
PackageInstaller.SessionParams(int mode)
Construct parameters for a new package install session.
Public Methods
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
void setAppIcon(Bitmap appIcon)
Optionally set an icon representing the app being installed.
void setAppLabel(CharSequence appLabel)
Optionally set a label representing the app being installed.
void setAppPackageName(String appPackageName)
Optionally set the package name of the app being installed.
void setInstallLocation(int installLocation)
Provide value of installLocation, which may be used to determine where the app will be staged.
void setOriginatingUri(Uri originatingUri)
Optionally set the URI where this package was downloaded from.
void setReferrerUri(Uri referrerUri)
Optionally set the URI that referred you to install this package.
void setSize(long sizeBytes)
Optionally indicate the total size (in bytes) of all APKs that will be delivered in this session.
void writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel.
[Expand]
Inherited Methods
From class java.lang.Object
From interface android.os.Parcelable

Constants

public static final int MODE_FULL_INSTALL

Added in API level 21

Mode for an install session whose staged APKs should fully replace any existing APKs for the target app.

Constant Value: 1 (0x00000001)

public static final int MODE_INHERIT_EXISTING

Added in API level 21

Mode for an install session that should inherit any existing APKs for the target app, unless they have been explicitly overridden (based on split name) by the session. For example, this can be used to add one or more split APKs to an existing installation.

If there are no existing APKs for the target app, this behaves like MODE_FULL_INSTALL.

Constant Value: 2 (0x00000002)

Fields

public static final Creator<PackageInstaller.SessionParams> CREATOR

Added in API level 21

Public Constructors

public PackageInstaller.SessionParams (int mode)

Added in API level 21

Construct parameters for a new package install session.

Parameters
mode one of MODE_FULL_INSTALL or MODE_INHERIT_EXISTING describing how the session should interact with an existing app.

Public Methods

public int describeContents ()

Added in API level 21

Describe the kinds of special objects contained in this Parcelable's marshalled representation.

Returns
  • a bitmask indicating the set of special object types marshalled by the Parcelable.

public void setAppIcon (Bitmap appIcon)

Added in API level 21

Optionally set an icon representing the app being installed. This should be roughly getLauncherLargeIconSize() in both dimensions.

public void setAppLabel (CharSequence appLabel)

Added in API level 21

Optionally set a label representing the app being installed.

public void setAppPackageName (String appPackageName)

Added in API level 21

Optionally set the package name of the app being installed. It's strongly recommended that you provide this value when known, so that observers can communicate installing apps to users.

If the APKs staged in the session aren't consistent with this package name, the install will fail. Regardless of this value, all APKs in the app must have the same package name.

public void setInstallLocation (int installLocation)

Added in API level 21

Provide value of installLocation, which may be used to determine where the app will be staged. Defaults to INSTALL_LOCATION_INTERNAL_ONLY.

public void setOriginatingUri (Uri originatingUri)

Added in API level 21

Optionally set the URI where this package was downloaded from. Used for verification purposes.

public void setReferrerUri (Uri referrerUri)

Added in API level 21

Optionally set the URI that referred you to install this package. Used for verification purposes.

See Also

public void setSize (long sizeBytes)

Added in API level 21

Optionally indicate the total size (in bytes) of all APKs that will be delivered in this session. The system may use this to ensure enough disk space exists before proceeding, or to estimate container size for installations living on external storage.

public void writeToParcel (Parcel dest, int flags)

Added in API level 21

Flatten this object in to a Parcel.

Parameters
dest The Parcel in which the object should be written.
flags Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.