Voici l'utilisation de base de la notification Android. Le contenu est simple pour les débutants. Je voudrais expliquer en fonction de l'exemple d'application.
L'environnement de l'exemple d'application est le suivant.
Selon la page officielle, il y a la description suivante
Les notifications sont des messages qu'Android affiche en dehors de l'interface utilisateur de l'application, fournissant aux utilisateurs des rappels, des messages d'autres personnes, des informations opportunes de l'application, etc. Les utilisateurs peuvent appuyer sur la notification pour ouvrir l'application ou interagir directement à partir de la notification.
Eh bien, c'est difficile ... Bref, c'est celui affiché sur la barre d'état du smartphone.
Cette fois, je voudrais créer une application qui "appuie sur un bouton et affiche une notification". Cette fois, c'est l'application pour l'instant. Si vous appuyez sur le contenu après cela, "Ouvrir l'application", etc. ne sera pas mis en œuvre cette fois. Actuellement, Kotlin est le courant dominant pour Android, mais j'aimerais également l'implémenter en Java cette fois-ci.
L'exemple d'application fonctionne cette fois comme suit.
Implémentons-le maintenant.
L'écran a un bouton au centre de l'écran. MainActivity.java
et ʻactivity_main.xml` sont les suivants.
activtiy_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
tools:context=".MainActivity">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { //・ ・ ・(1)
int importance = NotificationManager.IMPORTANCE_DEFAULT;
NotificationChannel channel //・ ・ ・(2)
= new NotificationChannel("CHANNEL_ID", "Exemple d'application", importance);
channel.setDescription("Description / Explication Vous pouvez écrire une description de la notification ici.");
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
Button button = findViewById(R.id.button);
button.setOnClickListener(v -> notifyTest()); //・ ・ ・(3)
}
public void notifyTest() {
NotificationCompat.Builder builder
= new NotificationCompat.Builder(this, "CHANNEL_ID") //・ ・ ・(4)
.setSmallIcon(android.R.drawable.ic_menu_info_details)
.setContentTitle("Titre")
.setContentText("Message message")
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
NotificationManagerCompat notificationManager
= NotificationManagerCompat.from(this);
notificationManager.notify(R.string.app_name, builder.build());
//・ ・ ・(5)
}
}
(1) Pour envoyer des notifications sur Android 8.0 ou supérieur, vous devez enregistrer le canal de notification de l'application dans le système. Exécutez ce code dès le lancement de l'application.
La création d'un canal de notification existant n'effectue aucune opération, il est donc prudent de l'appeler à plusieurs reprises.
Donc, si vous l'appelez avec ʻonCreate`, il n'y aura pas de problème.
(2) Implémentation du canal de notification. Le canal de notification ressemble à ceci: C'est un écran qui peut être vu à partir des paramètres du smartphone-> applications / notifications.
(3) Mettez en œuvre le traitement lorsque vous appuyez sur le bouton.
(4) Créez une notification. Vous pouvez définir l'icône, le titre, le message, etc.
(5) Affichez la notification.
Affichez les notifications avec notificationManager.notify
. Passez un ID unique et le résultat de NotificationCompat.Builder.build ()
comme argument.
Lorsque vous démarrez l'application et appuyez sur le bouton affiché ... vous devriez voir une notification. Si le mouvement est le même que celui montré dans l'exemple d'application ci-dessus, vous avez réussi!
L'échantillon a-t-il fonctionné? Peut-être que cela fonctionne avec le copier-coller. Lors de l'envoi de notifications sur Android 8.0 et supérieur, une implémentation supplémentaire est nécessaire, et je pense que le reste est relativement facile.
Les notifications ont encore de nombreuses fonctionnalités. Vous pouvez également ajouter une barre de progression ou une implémentation lorsque vous appuyez sur une notification. Je voudrais écrire sur la mise en œuvre ici dans le futur.
à plus!
Recommended Posts