# WorkQuery

# WorkQuery

Artifact:[androidx.work:work-runtime](https://developer.android.com/jetpack/androidx/releases/work)  
[View Source](https://cs.android.com/search?q=file:androidx/work/WorkQuery.kt+class:androidx.work.WorkQuery)  
Added in[2.4.0](https://developer.android.com/jetpack/androidx/releases/work#2.4.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/work/WorkQuery "View this page in Java")

<br />

```
class WorkQuery
```

<br />

*** ** * ** ***

A specification for querying[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s. This is comprised of 4 components; namely ids, unique work names, tags \& work states.

A[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)ids, or a[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of unique work names, or a[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)tags, or a[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State)can be specified.

Each component in a[WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery)is`AND`-ed with the others. Each value in a component is`OR`-ed.

Example:`(id1 OR id2 OR ...) AND (name1 OR name2 OR ...) AND (tag1 OR tag2 OR ...) AND (state1 OR state2 OR ...)`

## Summary

|                                                                                               ### Nested types                                                                                                |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `class `[WorkQuery.Builder](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery.Builder) A builder for[WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery). |

|                           ### Public companion functions                            |
|-------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | [fromIds](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#fromIds(kotlin.collections.List))`(ids: `[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[UUID](https://developer.android.com/reference/java/util/UUID.html)`>)` Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given ids.                                                                                                                                 |
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | [fromIds](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#fromIds(kotlin.Array))`(vararg ids: `[UUID](https://developer.android.com/reference/java/util/UUID.html)`)` Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given ids.                                                                                                                                                                                                                                  |
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | [fromStates](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#fromStates(kotlin.collections.List))`(states: `[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State)`>)` Creates a[WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery)for the workers in the given[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State)states. |
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | [fromStates](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#fromStates(kotlin.Array))`(vararg states: `[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State)`)` Creates a[WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery)for the workers in the given[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State)states.                                                                                                  |
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | [fromTags](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#fromTags(kotlin.collections.List))`(tags: `[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`>)` Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given tags.                                                                                                               |
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | [fromTags](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#fromTags(kotlin.Array))`(vararg tags: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given tags.                                                                                                                                                                                                                |
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | [fromUniqueWorkNames](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#fromUniqueWorkNames(kotlin.collections.List))`(uniqueWorkNames: `[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`>)` Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given unique names.                                                                      |
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | [fromUniqueWorkNames](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#fromUniqueWorkNames(kotlin.Array))`(vararg uniqueWorkNames: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given unique names.                                                                                                                                                                       |

|                                                                                    ### Public properties                                                                                     |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[UUID](https://developer.android.com/reference/java/util/UUID.html)`>`                           | [ids](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#ids()) The[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)ids being queried.          |
| [List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State)`>` | [states](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#states()) The[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State)s being queried |
| [List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`>`             | [tags](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#tags()) The[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of tags being queried                                                                                              |
| [List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`>`             | [uniqueWorkNames](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery#uniqueWorkNames()) The[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of unique works name being queried                                                           |

## Public companion functions

### fromIds

Added in[2.10.0](https://developer.android.com/jetpack/androidx/releases/work#2.10.0)  

```
fun fromIds(ids: List<UUID>): WorkQuery
```

Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given ids.  

|                                                                                Parameters                                                                                 |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|
| `ids: `[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[UUID](https://developer.android.com/reference/java/util/UUID.html)`>` | list of ids of[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-----------------------|
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | a requested WorkQuery |

### fromIds

Added in[2.10.0](https://developer.android.com/jetpack/androidx/releases/work#2.10.0)  

```
fun fromIds(vararg ids: UUID): WorkQuery
```

Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given ids.  

|                                    Parameters                                     |
|-----------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|
| `vararg ids: `[UUID](https://developer.android.com/reference/java/util/UUID.html) | ids of[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-----------------------|
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | a requested WorkQuery |

### fromStates

```
fun fromStates(states: List<WorkInfo.State>): WorkQuery
```

Creates a[WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery)for the workers in the given[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State)states.  

|                                                                                               Parameters                                                                                               |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `states: `[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State)`>` | The[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State) |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-----------------------|
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | a requested WorkQuery |

### fromStates

Added in[2.10.0](https://developer.android.com/jetpack/androidx/releases/work#2.10.0)  

```
fun fromStates(vararg states: WorkInfo.State): WorkQuery
```

Creates a[WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery)for the workers in the given[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State)states.  

|                                                   Parameters                                                   |
|----------------------------------------------------------------------------------------------------------------|-------------------|
| `vararg states: `[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State) | states of workers |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-----------------------|
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | a requested WorkQuery |

### fromTags

Added in[2.10.0](https://developer.android.com/jetpack/androidx/releases/work#2.10.0)  

```
fun fromTags(tags: List<String>): WorkQuery
```

Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given tags.  

|                                                                                        Parameters                                                                                        |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|
| `tags: `[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`>` | tags of[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-----------------------|
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | a requested WorkQuery |

### fromTags

Added in[2.10.0](https://developer.android.com/jetpack/androidx/releases/work#2.10.0)  

```
fun fromTags(vararg tags: String): WorkQuery
```

Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given tags.  

|                                            Parameters                                            |
|--------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|
| `vararg tags: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html) | tags of[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-----------------------|
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | a requested WorkQuery |

### fromUniqueWorkNames

Added in[2.10.0](https://developer.android.com/jetpack/androidx/releases/work#2.10.0)  

```
fun fromUniqueWorkNames(uniqueWorkNames: List<String>): WorkQuery
```

Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given unique names.  

|                                                                                             Parameters                                                                                              |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| `uniqueWorkNames: `[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)`<`[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`>` | The[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of unique work names |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-----------------------|
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | a requested WorkQuery |

### fromUniqueWorkNames

Added in[2.10.0](https://developer.android.com/jetpack/androidx/releases/work#2.10.0)  

```
fun fromUniqueWorkNames(vararg uniqueWorkNames: String): WorkQuery
```

Creates a query for[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)s with the given unique names.  

|                                                 Parameters                                                  |
|-------------------------------------------------------------------------------------------------------------|-------------------|
| `vararg uniqueWorkNames: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html) | unique work names |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-----------------------|
| [WorkQuery](https://developer.android.com/reference/kotlin/androidx/work/WorkQuery) | a requested WorkQuery |

## Public properties

### ids

Added in[2.5.0](https://developer.android.com/jetpack/androidx/releases/work#2.5.0)  

```
val ids: List<UUID>
```

The[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of[WorkRequest](https://developer.android.com/reference/kotlin/androidx/work/WorkRequest)ids being queried.  

### states

Added in[2.4.0](https://developer.android.com/jetpack/androidx/releases/work#2.4.0)  

```
val states: List<WorkInfo.State>
```

The[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of[WorkInfo.State](https://developer.android.com/reference/kotlin/androidx/work/WorkInfo.State)s being queried  

### tags

Added in[2.4.0](https://developer.android.com/jetpack/androidx/releases/work#2.4.0)  

```
val tags: List<String>
```

The[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of tags being queried  

### uniqueWorkNames

Added in[2.4.0](https://developer.android.com/jetpack/androidx/releases/work#2.4.0)  

```
val uniqueWorkNames: List<String>
```

The[List](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html)of unique works name being queried