# GroupCall

Added in[API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Constants](https://developer.android.com/reference/android/telephony/mbms/GroupCall#constants)\|[Methods](https://developer.android.com/reference/android/telephony/mbms/GroupCall#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/telephony/mbms/GroupCall#inhmethods)  

# GroupCall

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/telephony/mbms/GroupCall "View this page in Kotlin")\|Java

`
public


class
GroupCall
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


implements

`[AutoCloseable](https://developer.android.com/reference/java/lang/AutoCloseable)`


`

|---|----------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.telephony.mbms.GroupCall |

<br />

*** ** * ** ***

Class used to represent a single MBMS group call. After a call has been started with[MbmsGroupCallSession.startGroupCall](https://developer.android.com/reference/android/telephony/MbmsGroupCallSession#startGroupCall(long,%20java.util.List<java.lang.Integer>,%20java.util.List<java.lang.Integer>,%20java.util.concurrent.Executor,%20android.telephony.mbms.GroupCallCallback)), this class is used to hold information about the call and control it.

## Summary

|                                                                                                                                                                                                                                                                         ### Constants                                                                                                                                                                                                                                                                         ||
|-------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | [REASON_BY_USER_REQUEST](https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_BY_USER_REQUEST) State changed due to a call to[close()](https://developer.android.com/reference/android/telephony/mbms/GroupCall#close())or[MbmsGroupCallSession.startGroupCall](https://developer.android.com/reference/android/telephony/MbmsGroupCallSession#startGroupCall(long,%20java.util.List<java.lang.Integer>,%20java.util.List<java.lang.Integer>,%20java.util.concurrent.Executor,%20android.telephony.mbms.GroupCallCallback)) |
| `int` | [REASON_FREQUENCY_CONFLICT](https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_FREQUENCY_CONFLICT) State changed due to a frequency conflict with another requested call.                                                                                                                                                                                                                                                                                                                                                 |
| `int` | [REASON_LEFT_MBMS_BROADCAST_AREA](https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_LEFT_MBMS_BROADCAST_AREA) State changed due to the device leaving the area where this call is being broadcast.                                                                                                                                                                                                                                                                                                                       |
| `int` | [REASON_NONE](https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_NONE) Indicates that the middleware does not have a reason to provide for the state change.                                                                                                                                                                                                                                                                                                                                                              |
| `int` | [REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE](https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE) State changed due to the device leaving the home carrier's LTE network.                                                                                                                                                                                                                                                                                                                    |
| `int` | [REASON_OUT_OF_MEMORY](https://developer.android.com/reference/android/telephony/mbms/GroupCall#REASON_OUT_OF_MEMORY) State changed due to the middleware running out of memory                                                                                                                                                                                                                                                                                                                                                                        |
| `int` | [STATE_STALLED](https://developer.android.com/reference/android/telephony/mbms/GroupCall#STATE_STALLED) Indicates that the group call is stalled.                                                                                                                                                                                                                                                                                                                                                                                                      |
| `int` | [STATE_STARTED](https://developer.android.com/reference/android/telephony/mbms/GroupCall#STATE_STARTED) Indicates that the group call is started.                                                                                                                                                                                                                                                                                                                                                                                                      |
| `int` | [STATE_STOPPED](https://developer.android.com/reference/android/telephony/mbms/GroupCall#STATE_STOPPED) Indicates that the group call is in a stopped state This can be reported after network action or after calling[close()](https://developer.android.com/reference/android/telephony/mbms/GroupCall#close()).                                                                                                                                                                                                                                     |

|                                                                                                                                                                                                                                                                                                                  ### Public methods                                                                                                                                                                                                                                                                                                                   ||
|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` void` | ` `[close](https://developer.android.com/reference/android/telephony/mbms/GroupCall#close())`() ` Stop this group call.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ` long` | ` `[getTmgi](https://developer.android.com/reference/android/telephony/mbms/GroupCall#getTmgi())`() ` Retrieve the TMGI (Temporary Mobile Group Identity) corresponding to this call.                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ` void` | ` `[updateGroupCall](https://developer.android.com/reference/android/telephony/mbms/GroupCall#updateGroupCall(java.util.List<java.lang.Integer>,%20java.util.List<java.lang.Integer>))`(`[List](https://developer.android.com/reference/java/util/List)`<`[Integer](https://developer.android.com/reference/java/lang/Integer)`> saiList, `[List](https://developer.android.com/reference/java/util/List)`<`[Integer](https://developer.android.com/reference/java/lang/Integer)`> frequencyList) ` Send an update to the middleware when the SAI (Service Area Identifier) list and frequency information of the group call has \* changed. |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](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 `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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`                                                                  | ` `[wait](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*.                                                                                             | ||
| From interface` `[java.lang.AutoCloseable](https://developer.android.com/reference/java/lang/AutoCloseable)` ` |------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract void` | ` `[close](https://developer.android.com/reference/java/lang/AutoCloseable#close())`() ` Closes this resource, relinquishing any underlying resources. | ||

## Constants

### REASON_BY_USER_REQUEST

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

```
public static final int REASON_BY_USER_REQUEST
```

State changed due to a call to[close()](https://developer.android.com/reference/android/telephony/mbms/GroupCall#close())or[MbmsGroupCallSession.startGroupCall](https://developer.android.com/reference/android/telephony/MbmsGroupCallSession#startGroupCall(long,%20java.util.List<java.lang.Integer>,%20java.util.List<java.lang.Integer>,%20java.util.concurrent.Executor,%20android.telephony.mbms.GroupCallCallback))

<br />

Constant Value: 1 (0x00000001)  

### REASON_FREQUENCY_CONFLICT

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

```
public static final int REASON_FREQUENCY_CONFLICT
```

State changed due to a frequency conflict with another requested call.

<br />

Constant Value: 3 (0x00000003)  

### REASON_LEFT_MBMS_BROADCAST_AREA

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

```
public static final int REASON_LEFT_MBMS_BROADCAST_AREA
```

State changed due to the device leaving the area where this call is being broadcast.

<br />

Constant Value: 6 (0x00000006)  

### REASON_NONE

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

```
public static final int REASON_NONE
```

Indicates that the middleware does not have a reason to provide for the state change.

<br />

Constant Value: 0 (0x00000000)  

### REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE

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

```
public static final int REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE
```

State changed due to the device leaving the home carrier's LTE network.

<br />

Constant Value: 5 (0x00000005)  

### REASON_OUT_OF_MEMORY

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

```
public static final int REASON_OUT_OF_MEMORY
```

State changed due to the middleware running out of memory

<br />

Constant Value: 4 (0x00000004)  

### STATE_STALLED

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

```
public static final int STATE_STALLED
```

Indicates that the group call is stalled. This may be due to a network issue or the device being temporarily out of range.

<br />

Constant Value: 3 (0x00000003)  

### STATE_STARTED

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

```
public static final int STATE_STARTED
```

Indicates that the group call is started. Data can be transmitted and received in this state.

<br />

Constant Value: 2 (0x00000002)  

### STATE_STOPPED

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

```
public static final int STATE_STOPPED
```

Indicates that the group call is in a stopped state This can be reported after network action or after calling[close()](https://developer.android.com/reference/android/telephony/mbms/GroupCall#close()).

<br />

Constant Value: 1 (0x00000001)

## Public methods

### close

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

```
public void close ()
```

Stop this group call. Further operations on this object will fail with an[IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException). May throw an[IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)

<br />

### getTmgi

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

```
public long getTmgi ()
```

Retrieve the TMGI (Temporary Mobile Group Identity) corresponding to this call.

<br />

|    Returns     ||
|--------|--------|
| `long` | <br /> |

### updateGroupCall

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

```
public void updateGroupCall (List<Integer> saiList, 
                List<Integer> frequencyList)
```

Send an update to the middleware when the SAI (Service Area Identifier) list and frequency information of the group call has \* changed. Callers must obtain this information from the wireless carrier independently.

<br />

|                                                     Parameters                                                     ||
|-----------------|---------------------------------------------------------------------------------------------------|
| `saiList`       | `List`: New list of SAIs that the call is available on. This value cannot be`null`. <br />        |
| `frequencyList` | `List`: New list of frequencies that the call is available on. This value cannot be`null`. <br /> |