Creación de la interfaz
Para poder ver el estado de conexión de la aplicación, tendrás que añadir un TextView vista de la pantalla. También añadirás botones para controlar la llamada (Contestar, Rechazar, Finalizar). Sustituye el contenido de app/res/layout/activity_main.xml archivo con el siguiente diseño:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<TextView
android:id="@+id/connectionStatusTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
app:layout_constraintRight_toRightOf="parent" />
<Button
android:id="@+id/answerCallButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:text="Answer"
android:visibility="gone"
tools:visibility="visible" />
<Button
android:id="@+id/rejectCallButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:text="Reject"
android:visibility="gone"
tools:visibility="visible" />
<Button
android:id="@+id/endCallButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:text="End"
android:visibility="gone"
tools:visibility="visible" />
</LinearLayout>
Recuperar referencias de vistas
Controlarás la vista mediante código, por lo que las referencias a las vistas deben almacenarse en el MainActivity clase. Añada estas propiedades en la parte superior de la clase MainActivity clase:
private lateinit var connectionStatusTextView: TextView
private lateinit var answerCallButton: Button
private lateinit var rejectCallButton: Button
private lateinit var endCallButton: Button
Ahora necesitas asignar vistas a las propiedades añadidas previamente. Añada el código siguiente al archivo onCreate método inside MainActivity clase (código de solicitud de permisos que aparece a continuación):
// init views
connectionStatusTextView = findViewById(R.id.connectionStatusTextView)
answerCallButton = findViewById(R.id.answerCallButton)
rejectCallButton = findViewById(R.id.rejectCallButton)
endCallButton = findViewById(R.id.endCallButton)
Usted llenará el cuerpo de estos métodos en los siguientes pasos de este tutorial.
Construir y ejecutar
Vuelve a ejecutar el proyecto (Ctrl + R).
Ten en cuenta que los botones están ocultos por defecto:

El estado de la conexión y los botones de control de llamada se mostrarán después de iniciar la sesión del usuario. Lo harás en el siguiente paso.
Recibir una llamada telefónica in-app
Recibes una llamada de un teléfono a tu aplicación