Added in [API level 26](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Constants](https://developer.android.com/reference/android/net/wifi/aware/IdentityChangedListener#constants) \| [Ctors](https://developer.android.com/reference/android/net/wifi/aware/IdentityChangedListener#pubctors) \| [Methods](https://developer.android.com/reference/android/net/wifi/aware/IdentityChangedListener#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/net/wifi/aware/IdentityChangedListener#inhmethods)

# IdentityChangedListener

*** ** * ** ***


`
public


class
IdentityChangedListener
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.net.wifi.aware.IdentityChangedListener |

<br />

*** ** * ** ***

Base class for Aware identity/cluster changes callbacks. Should be extended by applications and
set when calling `https://developer.android.com/reference/android/net/wifi/aware/WifiAwareManager#attach(android.net.wifi.aware.AttachCallback,%20android.net.wifi.aware.IdentityChangedListener,%20android.os.Handler)`. These are callbacks applying to the Aware connection as a whole - not to
specific publish or subscribe sessions - for that see `https://developer.android.com/reference/android/net/wifi/aware/DiscoverySessionCallback`.

## Summary

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/android/net/wifi/aware/IdentityChangedListener#CLUSTER_CHANGE_EVENT_JOINED` Wi-Fi Aware cluster change event type when joining a cluster. |
| `int` | `https://developer.android.com/reference/android/net/wifi/aware/IdentityChangedListener#CLUSTER_CHANGE_EVENT_STARTED` Wi-Fi Aware cluster change event type when starting a cluster. |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/net/wifi/aware/IdentityChangedListener#IdentityChangedListener()() ` |

| ### Public methods ||
|---|---|
| ` void` | ` https://developer.android.com/reference/android/net/wifi/aware/IdentityChangedListener#onClusterIdChanged(int,%20android.net.MacAddress)(int clusterEventType, https://developer.android.com/reference/android/net/MacAddress clusterId) ` Cluster ID changes could be trigger by either cluster started event or cluster joined event. |
| ` void` | ` https://developer.android.com/reference/android/net/wifi/aware/IdentityChangedListener#onIdentityChanged(byte[])(byte[] mac) ` Identity change may be due to device joining a cluster, starting a cluster, or discovery interface change (addresses are randomized at regular intervals). |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||

## Constants

### CLUSTER_CHANGE_EVENT_JOINED

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

```
public static final int CLUSTER_CHANGE_EVENT_JOINED
```

Wi-Fi Aware cluster change event type when joining a cluster.

<br />

Constant Value:

1
(0x00000001)


### CLUSTER_CHANGE_EVENT_STARTED

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

```
public static final int CLUSTER_CHANGE_EVENT_STARTED
```

Wi-Fi Aware cluster change event type when starting a cluster.

<br />

Constant Value:

0
(0x00000000)


## Public constructors

### IdentityChangedListener

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

```
public IdentityChangedListener ()
```

<br />

<br />

## Public methods

### onClusterIdChanged

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

```
public void onClusterIdChanged (int clusterEventType, 
                MacAddress clusterId)
```

Cluster ID changes could be trigger by either cluster started event or cluster joined event.

<br />

| Parameters ||
|---|---|
| `clusterEventType` | `int`: The type of events that triggered the change of the cluster ID. Value is one of the following: - `https://developer.android.com/reference/android/net/wifi/aware/IdentityChangedListener#CLUSTER_CHANGE_EVENT_STARTED` - `https://developer.android.com/reference/android/net/wifi/aware/IdentityChangedListener#CLUSTER_CHANGE_EVENT_JOINED` |
| `clusterId` | `MacAddress`: The cluster id that the device just joined. This value cannot be `null`. <br /> |

### onIdentityChanged

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

```
public void onIdentityChanged (byte[] mac)
```

Identity change may be due to device joining a cluster, starting a cluster, or discovery
interface change (addresses are randomized at regular intervals). The implication is that
peers you've been communicating with may no longer recognize you and you need to re-establish
your identity - e.g. by starting a discovery session.

<br />

| Parameters ||
|---|---|
| `mac` | `byte`: The MAC address of the Aware discovery interface. The application must have the `https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION` to get the actual MAC address, otherwise all 0's will be provided. <br /> |