# UsageEventsQuery.Builder

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# Builder

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/app/usage/UsageEventsQuery.Builder "View this page in Java")  

```
class Builder
```

|---|------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                           ||
| ↳ | [android.app.usage.UsageEventsQuery.Builder](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery.Builder#) |

Builder for UsageEventsQuery.

## Summary

|                                                                                                                                                                                                 Public constructors                                                                                                                                                                                                 ||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery.Builder#Builder(kotlin.Long,%20kotlin.Long))`(`beginTimeMillis:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `endTimeMillis:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Constructor that specifies the period for which to return events. |

|                                                                                                                                                                                                               Public methods                                                                                                                                                                                                                ||
|------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [UsageEventsQuery](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery)                  | [build](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery.Builder#build())`()` Builds a read-only UsageEventsQuery object.                                                                                                                                                          |
| [UsageEventsQuery.Builder](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery.Builder#) | [setEventTypes](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery.Builder#setEventTypes(kotlin.Int))`(`vararg` `eventTypes:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Sets the list of usage event types to be included in the query.         |
| [UsageEventsQuery.Builder](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery.Builder#) | [setPackageNames](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery.Builder#setPackageNames(kotlin.String))`(`vararg` `pkgNames:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`)` Sets the list of package names to be included in the query. |

## Public constructors

### Builder

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
Builder(
    beginTimeMillis: Long, 
    endTimeMillis: Long)
```

Constructor that specifies the period for which to return events.

|                                                                                                                                                                                Parameters                                                                                                                                                                                 ||
|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `beginTimeMillis` | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html):Inclusive beginning timestamp, as per[java.lang.System#currentTimeMillis()](https://developer.android.com/reference/kotlin/java/lang/System.html#currentTimeMillis())Value is a non-negative timestamp measured as the number of milliseconds since 1970-01-01T00:00:00Z. |
| `endTimeMillis`   | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html):Exclusive ending timestamp, as per[java.lang.System#currentTimeMillis()](https://developer.android.com/reference/kotlin/java/lang/System.html#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](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun build(): UsageEventsQuery
```

Builds a read-only UsageEventsQuery object.

|                                                               Return                                                               ||
|-------------------------------------------------------------------------------------------------------|-----------------------------|
| [UsageEventsQuery](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery) | This value cannot be`null`. |

### setEventTypes

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
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()](https://developer.android.com/reference/kotlin/android/app/usage/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](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):the array of the usage event types. See[UsageEvents.Event](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event). This value cannot be`null`. Value is[android.app.usage.UsageEvents.Event#NONE](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#NONE:kotlin.Int),[android.app.usage.UsageEvents.Event#ACTIVITY_RESUMED](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#ACTIVITY_RESUMED:kotlin.Int),[android.app.usage.UsageEvents.Event#ACTIVITY_PAUSED](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#ACTIVITY_PAUSED:kotlin.Int), android.app.usage.UsageEvents.Event.END_OF_DAY, android.app.usage.UsageEvents.Event.CONTINUE_PREVIOUS_DAY,[android.app.usage.UsageEvents.Event#CONFIGURATION_CHANGE](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#CONFIGURATION_CHANGE:kotlin.Int), android.app.usage.UsageEvents.Event.SYSTEM_INTERACTION,[android.app.usage.UsageEvents.Event#USER_INTERACTION](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#USER_INTERACTION:kotlin.Int),[android.app.usage.UsageEvents.Event#SHORTCUT_INVOCATION](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#SHORTCUT_INVOCATION:kotlin.Int), android.app.usage.UsageEvents.Event.CHOOSER_ACTION, android.app.usage.UsageEvents.Event.NOTIFICATION_SEEN,[android.app.usage.UsageEvents.Event#STANDBY_BUCKET_CHANGED](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#STANDBY_BUCKET_CHANGED:kotlin.Int), 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](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#SCREEN_INTERACTIVE:kotlin.Int),[android.app.usage.UsageEvents.Event#SCREEN_NON_INTERACTIVE](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#SCREEN_NON_INTERACTIVE:kotlin.Int),[android.app.usage.UsageEvents.Event#KEYGUARD_SHOWN](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#KEYGUARD_SHOWN:kotlin.Int),[android.app.usage.UsageEvents.Event#KEYGUARD_HIDDEN](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#KEYGUARD_HIDDEN:kotlin.Int),[android.app.usage.UsageEvents.Event#FOREGROUND_SERVICE_START](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#FOREGROUND_SERVICE_START:kotlin.Int),[android.app.usage.UsageEvents.Event#FOREGROUND_SERVICE_STOP](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#FOREGROUND_SERVICE_STOP:kotlin.Int), android.app.usage.UsageEvents.Event.CONTINUING_FOREGROUND_SERVICE, android.app.usage.UsageEvents.Event.ROLLOVER_FOREGROUND_SERVICE,[android.app.usage.UsageEvents.Event#ACTIVITY_STOPPED](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#ACTIVITY_STOPPED:kotlin.Int), android.app.usage.UsageEvents.Event.ACTIVITY_DESTROYED, android.app.usage.UsageEvents.Event.FLUSH_TO_DISK,[android.app.usage.UsageEvents.Event#DEVICE_SHUTDOWN](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#DEVICE_SHUTDOWN:kotlin.Int),[android.app.usage.UsageEvents.Event#DEVICE_STARTUP](https://developer.android.com/reference/kotlin/android/app/usage/UsageEvents.Event#DEVICE_STARTUP:kotlin.Int), 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](https://developer.android.com/reference/kotlin/android/app/usage/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. |

**See Also**

- [android.app.usage.UsageEventsQuery#getEventTypes()](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery#getEventTypes())
- [android.app.usage.UsageStatsManager#queryEvents(UsageEventsQuery)](https://developer.android.com/reference/kotlin/android/app/usage/UsageStatsManager#queryEvents(android.app.usage.UsageEventsQuery))  

### setPackageNames

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
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()](https://developer.android.com/reference/kotlin/android/app/usage/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](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!:the array of the package names, each package name should be a non-empty string,`null`or empty string("") is omitted. |

|                                                                       Return                                                                        ||
|------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [UsageEventsQuery.Builder](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery.Builder#) | This value cannot be`null`. |

|                           Exceptions                            ||
|----------------------------------|-------------------------------|
| `java.lang.NullPointerException` | if`pkgNames`is`null`or empty. |

**See Also**

- [android.app.usage.UsageEventsQuery#getPackageNames()](https://developer.android.com/reference/kotlin/android/app/usage/UsageEventsQuery#getPackageNames())
- [android.app.usage.UsageStatsManager#queryEvents(UsageEventsQuery)](https://developer.android.com/reference/kotlin/android/app/usage/UsageStatsManager#queryEvents(android.app.usage.UsageEventsQuery))