Construire l'interface
Pour pouvoir afficher l'état de la connexion de l'application, vous devez ajouter un fichier TextView à l'écran. Vous ajouterez également des boutons pour contrôler l'appel (répondre, rejeter, terminer). Remplacer le contenu de app/res/layout/activity_main.xml avec la mise en page ci-dessous :
<?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>
Récupérer les références des vues
Vous contrôlerez la vue à l'aide de code, de sorte que les références aux vues doivent être stockées dans le fichier MainActivity classe. Ajoutez ces propriétés au sommet de la classe MainActivity classe :
private lateinit var connectionStatusTextView: TextView
private lateinit var answerCallButton: Button
private lateinit var rejectCallButton: Button
private lateinit var endCallButton: Button
Vous devez maintenant assigner des vues aux propriétés précédemment ajoutées. Ajoutez le code ci-dessous au fichier onCreate méthode à l'intérieur MainActivity (voir ci-dessous le code des permissions) :
// init views
connectionStatusTextView = findViewById(R.id.connectionStatusTextView)
answerCallButton = findViewById(R.id.answerCallButton)
rejectCallButton = findViewById(R.id.rejectCallButton)
endCallButton = findViewById(R.id.endCallButton)
Vous remplirez le corps de ces méthodes dans les étapes suivantes de ce tutoriel.
Construire et faire fonctionner
Exécutez à nouveau le projet (Ctrl + R).
Notez que les boutons sont cachés par défaut :

L'état de la connexion et les boutons de contrôle des appels seront affichés après la connexion de l'utilisateur. Vous le ferez dans l'étape suivante.
Recevoir un appel téléphonique in-app
Vous recevez un appel d'un téléphone vers votre application