UsageStats

public final class UsageStats
extends Object implements Parcelable

java.lang.Object
   ↳ android.app.usage.UsageStats


Contains usage statistics for an app package for a specific time range.

Summary

Inherited constants

Fields

public static final Creator<UsageStats> CREATOR

Public constructors

UsageStats(UsageStats stats)

Public methods

void add(UsageStats right)

Add the statistics from the right UsageStats to the left.

int describeContents()

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

long getFirstTimeStamp()

Get the beginning of the time range this UsageStats represents, measured in milliseconds since the epoch.

long getLastTimeForegroundServiceUsed()

Get the last time this package's foreground service was used, measured in milliseconds since the epoch.

long getLastTimeStamp()

Get the end of the time range this UsageStats represents, measured in milliseconds since the epoch.

long getLastTimeUsed()

Get the last time this package's activity was used, measured in milliseconds since the epoch.

long getLastTimeVisible()

Get the last time this package's activity is visible in the UI, measured in milliseconds since the epoch.

String getPackageName()
long getTotalTimeForegroundServiceUsed()

Get the total time this package's foreground services are started, measured in milliseconds.

long getTotalTimeInForeground()

Get the total time this package spent in the foreground, measured in milliseconds.

long getTotalTimeVisible()

Get the total time this package's activity is visible in the UI, measured in milliseconds.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Fields

CREATOR

Added in API level 21
public static final Creator<UsageStats> CREATOR

Public constructors

UsageStats

Added in API level 21
public UsageStats (UsageStats stats)

Parameters
stats UsageStats

Public methods

add

Added in API level 21
public void add (UsageStats right)

Add the statistics from the right UsageStats to the left. The package name for both UsageStats objects must be the same.

Parameters
right UsageStats: The UsageStats object to merge into this one.

Throws
IllegalArgumentException if the package names of the two UsageStats objects are different.

describeContents

Added in API level 21
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

getFirstTimeStamp

Added in API level 21
public long getFirstTimeStamp ()

Get the beginning of the time range this UsageStats represents, measured in milliseconds since the epoch.

See System#currentTimeMillis().

Returns
long

getLastTimeForegroundServiceUsed

Added in API level 29
public long getLastTimeForegroundServiceUsed ()

Get the last time this package's foreground service was used, measured in milliseconds since the epoch.

See System#currentTimeMillis().

Returns
long

getLastTimeStamp

Added in API level 21
public long getLastTimeStamp ()

Get the end of the time range this UsageStats represents, measured in milliseconds since the epoch.

See System#currentTimeMillis().

Returns
long

getLastTimeUsed

Added in API level 21
public long getLastTimeUsed ()

Get the last time this package's activity was used, measured in milliseconds since the epoch.

See System#currentTimeMillis().

Returns
long

getLastTimeVisible

Added in API level 29
public long getLastTimeVisible ()

Get the last time this package's activity is visible in the UI, measured in milliseconds since the epoch.

Returns
long

getPackageName

Added in API level 21
public String getPackageName ()

Returns
String

getTotalTimeForegroundServiceUsed

Added in API level 29
public long getTotalTimeForegroundServiceUsed ()

Get the total time this package's foreground services are started, measured in milliseconds.

Returns
long

getTotalTimeInForeground

Added in API level 21
public long getTotalTimeInForeground ()

Get the total time this package spent in the foreground, measured in milliseconds. When in the foreground, the user is actively interacting with the app.

Returns
long

getTotalTimeVisible

Added in API level 29
public long getTotalTimeVisible ()

Get the total time this package's activity is visible in the UI, measured in milliseconds. Note: An app may be visible but not considered foreground. Apps in the foreground must be visible, so visible time includes time in the foreground.

Returns
long

writeToParcel

Added in API level 21
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: The Parcel in which the object should be written. This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES