Added in API level 35

Builder


class Builder
kotlin.Any
   ↳ android.app.usage.UsageEventsQuery.Builder

Builder for UsageEventsQuery.

Summary

Public constructors
Builder(beginTimeMillis: Long, endTimeMillis: Long)

Constructor that specifies the period for which to return events.

Public methods
UsageEventsQuery

Builds a read-only UsageEventsQuery object.

UsageEventsQuery.Builder
setEventTypes(vararg eventTypes: Int)

Sets the list of usage event types to be included in the query.

UsageEventsQuery.Builder
setPackageNames(vararg pkgNames: String!)

Sets the list of package names to be included in the query.

Public constructors

Builder

Added in API level 35
Builder(
    beginTimeMillis: Long,
    endTimeMillis: Long)

Constructor that specifies the period for which to return events.

Parameters
beginTimeMillis Long: Inclusive beginning timestamp, as per java.lang.System#currentTimeMillis() Value is a non-negative timestamp measured as the number of milliseconds since 1970-01-01T00:00:00Z.
endTimeMillis Long: Exclusive ending timestamp, as per java.lang.System#currentTimeMillis() Value is a non-negative timestamp measured as the number of milliseconds since 1970-01-01T00:00:00Z.
Exceptions
java.lang.IllegalArgumentException if beginTimeMillis < endTimeMillis

Public methods

build

Added in API level 35
fun build(): UsageEventsQuery

Builds a read-only UsageEventsQuery object.

Return
UsageEventsQuery This value cannot be null.

setEventTypes

Added in API level 35
fun setEventTypes(vararg eventTypes: Int): UsageEventsQuery.Builder

Sets the list of usage event types to be included in the query.

Note:

An empty array will be returned by UsageEventsQuery#getEventTypes() without calling this method, which indicates querying for all event types. Apps are encouraged to provide a list of event types. Only the matching types supplied will be used to query.
Parameters
eventTypes Int: the array of the usage event types. See UsageEvents.Event. This value cannot be null. Value is android.app.usage.UsageEvents.Event#NONE, android.app.usage.UsageEvents.Event#ACTIVITY_RESUMED, android.app.usage.UsageEvents.Event#ACTIVITY_PAUSED, android.app.usage.UsageEvents.Event.END_OF_DAY, android.app.usage.UsageEvents.Event.CONTINUE_PREVIOUS_DAY, android.app.usage.UsageEvents.Event#CONFIGURATION_CHANGE, android.app.usage.UsageEvents.Event.SYSTEM_INTERACTION, android.app.usage.UsageEvents.Event#USER_INTERACTION, android.app.usage.UsageEvents.Event#SHORTCUT_INVOCATION, android.app.usage.UsageEvents.Event.CHOOSER_ACTION, android.app.usage.UsageEvents.Event.NOTIFICATION_SEEN, android.app.usage.UsageEvents.Event#STANDBY_BUCKET_CHANGED, android.app.usage.UsageEvents.Event.NOTIFICATION_INTERRUPTION, android.app.usage.UsageEvents.Event.SLICE_PINNED_PRIV, android.app.usage.UsageEvents.Event.SLICE_PINNED, android.app.usage.UsageEvents.Event#SCREEN_INTERACTIVE, android.app.usage.UsageEvents.Event#SCREEN_NON_INTERACTIVE, android.app.usage.UsageEvents.Event#KEYGUARD_SHOWN, android.app.usage.UsageEvents.Event#KEYGUARD_HIDDEN, android.app.usage.UsageEvents.Event#FOREGROUND_SERVICE_START, android.app.usage.UsageEvents.Event#FOREGROUND_SERVICE_STOP, android.app.usage.UsageEvents.Event.CONTINUING_FOREGROUND_SERVICE, android.app.usage.UsageEvents.Event.ROLLOVER_FOREGROUND_SERVICE, android.app.usage.UsageEvents.Event#ACTIVITY_STOPPED, android.app.usage.UsageEvents.Event.ACTIVITY_DESTROYED, android.app.usage.UsageEvents.Event.FLUSH_TO_DISK, android.app.usage.UsageEvents.Event#DEVICE_SHUTDOWN, android.app.usage.UsageEvents.Event#DEVICE_STARTUP, android.app.usage.UsageEvents.Event.USER_UNLOCKED, android.app.usage.UsageEvents.Event.USER_STOPPED, android.app.usage.UsageEvents.Event.LOCUS_ID_SET, or android.app.usage.UsageEvents.Event.APP_COMPONENT_USED
Return
UsageEventsQuery.Builder This value cannot be null.
Exceptions
java.lang.NullPointerException if eventTypes is null or empty.
java.lang.IllegalArgumentException if any of event types are invalid.

setPackageNames

Added in API level 35
fun setPackageNames(vararg pkgNames: String!): UsageEventsQuery.Builder

Sets the list of package names to be included in the query.

Note:

An empty Set will be returned by UsageEventsQuery#getPackageNames() without calling this method, which indicates querying usage events for all packages. Apps are encouraged to provide a list of package names. Only the matching names supplied will be used to query.
Parameters
pkgNames String!: the array of the package names, each package name should be a non-empty string, null or empty string("") is omitted.
Return
UsageEventsQuery.Builder This value cannot be null.
Exceptions
java.lang.NullPointerException if pkgNames is null or empty.