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

# DnsResolver.Callback

*** ** * ** ***


`
public
static


interface
DnsResolver.Callback
`


`


`

|---|
| android.net.DnsResolver.Callback\<T\> |

<br />

*** ** * ** ***

Base interface for answer callbacks

## Summary

| ### Public methods ||
|---|---|
| ` abstract void` | ` https://developer.android.com/reference/android/net/DnsResolver.Callback#onAnswer(T,%20int)(T answer, int rcode) ` Success response to `https://developer.android.com/reference/android/net/DnsResolver#query(android.net.Network,%20java.lang.String,%20int,%20int,%20java.util.concurrent.Executor,%20android.os.CancellationSignal,%20android.net.DnsResolver.Callback<?%20super%20java.util.List<java.net.InetAddress>>)` or `https://developer.android.com/reference/android/net/DnsResolver#rawQuery(android.net.Network,%20byte[],%20int,%20java.util.concurrent.Executor,%20android.os.CancellationSignal,%20android.net.DnsResolver.Callback<?%20super%20byte[]>)`. |
| ` abstract void` | ` https://developer.android.com/reference/android/net/DnsResolver.Callback#onError(android.net.DnsResolver.DnsException)(https://developer.android.com/reference/android/net/DnsResolver.DnsException error) ` Error response to `https://developer.android.com/reference/android/net/DnsResolver#query(android.net.Network,%20java.lang.String,%20int,%20int,%20java.util.concurrent.Executor,%20android.os.CancellationSignal,%20android.net.DnsResolver.Callback<?%20super%20java.util.List<java.net.InetAddress>>)` or `https://developer.android.com/reference/android/net/DnsResolver#rawQuery(android.net.Network,%20byte[],%20int,%20java.util.concurrent.Executor,%20android.os.CancellationSignal,%20android.net.DnsResolver.Callback<?%20super%20byte[]>)`. |

## Public methods

### onAnswer

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

```
public abstract void onAnswer (T answer, 
                int rcode)
```

Success response to
`https://developer.android.com/reference/android/net/DnsResolver#query(android.net.Network,%20java.lang.String,%20int,%20int,%20java.util.concurrent.Executor,%20android.os.CancellationSignal,%20android.net.DnsResolver.Callback<?%20super%20java.util.List<java.net.InetAddress>>)` or
`https://developer.android.com/reference/android/net/DnsResolver#rawQuery(android.net.Network,%20byte[],%20int,%20java.util.concurrent.Executor,%20android.os.CancellationSignal,%20android.net.DnsResolver.Callback<?%20super%20byte[]>)`.

Invoked when the answer to a query was successfully parsed.

<br />

| Parameters ||
|---|---|
| `answer` | `T`: answer to the query. This value cannot be `null`. <br /> |
| `rcode` | `int`: The response code in the DNS response. <br /> |

**See also:**

- `https://developer.android.com/reference/android/net/DnsResolver#query(android.net.Network,%20java.lang.String,%20int,%20int,%20java.util.concurrent.Executor,%20android.os.CancellationSignal,%20android.net.DnsResolver.Callback<?%20super%20java.util.List<java.net.InetAddress>>)`

### onError

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

```
public abstract void onError (DnsResolver.DnsException error)
```

Error response to
`https://developer.android.com/reference/android/net/DnsResolver#query(android.net.Network,%20java.lang.String,%20int,%20int,%20java.util.concurrent.Executor,%20android.os.CancellationSignal,%20android.net.DnsResolver.Callback<?%20super%20java.util.List<java.net.InetAddress>>)` or
`https://developer.android.com/reference/android/net/DnsResolver#rawQuery(android.net.Network,%20byte[],%20int,%20java.util.concurrent.Executor,%20android.os.CancellationSignal,%20android.net.DnsResolver.Callback<?%20super%20byte[]>)`.

Invoked when there is no valid answer to
`https://developer.android.com/reference/android/net/DnsResolver#query(android.net.Network,%20java.lang.String,%20int,%20int,%20java.util.concurrent.Executor,%20android.os.CancellationSignal,%20android.net.DnsResolver.Callback<?%20super%20java.util.List<java.net.InetAddress>>)`
`https://developer.android.com/reference/android/net/DnsResolver#rawQuery(android.net.Network,%20byte[],%20int,%20java.util.concurrent.Executor,%20android.os.CancellationSignal,%20android.net.DnsResolver.Callback<?%20super%20byte[]>)`.

<br />

| Parameters ||
|---|---|
| `error` | `DnsResolver.DnsException`: a `https://developer.android.com/reference/android/net/DnsResolver.DnsException` object with additional detail regarding the failure. This value cannot be `null`. <br /> |