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

# GroupCallCallback

*** ** * ** ***


`
public


interface
GroupCallCallback
`


`


`

|---|
| android.telephony.mbms.GroupCallCallback |

<br />

*** ** * ** ***

A callback class for use when the application is in a group call. The middleware
will provide updates on the status of the call via this callback.

## Summary

| ### Constants ||
|---|---|
| `int` | `https://developer.android.com/reference/android/telephony/mbms/GroupCallCallback#SIGNAL_STRENGTH_UNAVAILABLE` Indicates broadcast signal strength is not available for this call. |

| ### Public methods ||
|---|---|
| ` default void` | ` https://developer.android.com/reference/android/telephony/mbms/GroupCallCallback#onBroadcastSignalStrengthUpdated(int)(int signalStrength) ` Broadcast Signal Strength updated. |
| ` default void` | ` https://developer.android.com/reference/android/telephony/mbms/GroupCallCallback#onError(int,%20java.lang.String)(int errorCode, https://developer.android.com/reference/java/lang/String message) ` Called by the middleware when it has detected an error condition in this group call. |
| ` default void` | ` https://developer.android.com/reference/android/telephony/mbms/GroupCallCallback#onGroupCallStateChanged(int,%20int)(int state, int reason) ` Called to indicate this call has changed state. |

## Constants

### SIGNAL_STRENGTH_UNAVAILABLE

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

```
public static final int SIGNAL_STRENGTH_UNAVAILABLE
```

Indicates broadcast signal strength is not available for this call.

This may be due to the call no longer being available due to geography
or timing (end of service)

<br />

Constant Value:

-1
(0xffffffff)


## Public methods

### onBroadcastSignalStrengthUpdated

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

```
public void onBroadcastSignalStrengthUpdated (int signalStrength)
```

Broadcast Signal Strength updated.

This signal strength is the BROADCAST signal strength which,
depending on technology in play and it's deployment, may be
stronger or weaker than the traditional UNICAST signal
strength. It a simple int from 0-4 for valid levels or
`https://developer.android.com/reference/android/telephony/mbms/GroupCallCallback#SIGNAL_STRENGTH_UNAVAILABLE` if broadcast is not available
for this call due to timing, geography or popularity.

<br />

| Parameters ||
|---|---|
| `signalStrength` | `int`: Value is between -1 and 4 inclusive <br /> |

### onError

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

```
public void onError (int errorCode, 
                String message)
```

Called by the middleware when it has detected an error condition in this group call. The
possible error codes are listed in `https://developer.android.com/reference/android/telephony/mbms/MbmsErrors`.

<br />

| Parameters ||
|---|---|
| `errorCode` | `int`: The error code. Value is one of the following: - `https://developer.android.com/reference/android/telephony/mbms/MbmsErrors#ERROR_NO_UNIQUE_MIDDLEWARE` - `https://developer.android.com/reference/android/telephony/mbms/MbmsErrors#ERROR_MIDDLEWARE_LOST` - `https://developer.android.com/reference/android/telephony/mbms/MbmsErrors#ERROR_MIDDLEWARE_NOT_BOUND` - `https://developer.android.com/reference/android/telephony/mbms/MbmsErrors.GeneralErrors#ERROR_MIDDLEWARE_NOT_YET_READY` - `https://developer.android.com/reference/android/telephony/mbms/MbmsErrors.GeneralErrors#ERROR_OUT_OF_MEMORY` - `https://developer.android.com/reference/android/telephony/mbms/MbmsErrors.GeneralErrors#ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE` - `https://developer.android.com/reference/android/telephony/mbms/MbmsErrors.GeneralErrors#ERROR_IN_E911` - `https://developer.android.com/reference/android/telephony/mbms/MbmsErrors.GeneralErrors#ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE` - `https://developer.android.com/reference/android/telephony/mbms/MbmsErrors.GeneralErrors#ERROR_UNABLE_TO_READ_SIM` - `https://developer.android.com/reference/android/telephony/mbms/MbmsErrors.GeneralErrors#ERROR_CARRIER_CHANGE_NOT_ALLOWED` |
| `message` | `String`: A human-readable message generated by the middleware for debugging purposes. This value may be `null`. <br /> |

### onGroupCallStateChanged

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

```
public void onGroupCallStateChanged (int state, 
                int reason)
```

Called to indicate this call has changed state.

See `https://developer.android.com/reference/android/telephony/mbms/GroupCall#STATE_STOPPED`, `https://developer.android.com/reference/android/telephony/mbms/GroupCall#STATE_STARTED`
and `https://developer.android.com/reference/android/telephony/mbms/GroupCall#STATE_STALLED`.

<br />

| Parameters ||
|---|---|
| `state` | `int`: Value is one of the following: - `https://developer.android.com/reference/android/telephony/mbms/GroupCall#STATE_STOPPED` - `https://developer.android.com/reference/android/telephony/mbms/GroupCall#STATE_STARTED` - `https://developer.android.com/reference/android/telephony/mbms/GroupCall#STATE_STALLED` |
| `reason` | `int`: Value is one of the following: - `https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_BY_USER_REQUEST` - `https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_FREQUENCY_CONFLICT` - `https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_OUT_OF_MEMORY` - `https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE` - `https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_LEFT_MBMS_BROADCAST_AREA` - `https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_NONE` |