Hier ist die grundlegende Verwendung von Android Notification. Der Inhalt ist für Anfänger einfach. Ich möchte anhand der Beispielanwendung erklären.
Die Umgebung der Beispielanwendung ist wie folgt.
Laut der offiziellen Seite gibt es die folgende Beschreibung
Benachrichtigungen sind Nachrichten, die Android außerhalb der Benutzeroberfläche der App anzeigt und die Benutzer mit Erinnerungen, Nachrichten von anderen, zeitnahen Informationen aus der App und vielem mehr versorgen. Benutzer können auf die Benachrichtigung tippen, um die App zu öffnen oder direkt über die Benachrichtigung zu interagieren.
Nun, es ist schwierig ... Kurz gesagt, es wird in der Statusleiste des Smartphones angezeigt.
Dieses Mal möchte ich eine Anwendung erstellen, die "eine Taste drückt und eine Benachrichtigung anzeigt". Diesmal ist es die Anwendung bisher. Wenn Sie danach auf den Inhalt tippen, wird "App öffnen" usw. diesmal nicht implementiert. Derzeit ist Kotlin der Mainstream für Android, aber ich möchte es diesmal auch in Java implementieren.
Die Beispiel-App funktioniert diesmal wie folgt.
Lassen Sie es uns jetzt implementieren.
Der Bildschirm hat eine Schaltfläche in der Mitte des Bildschirms. MainActivity.java
und activity_main.xml
lauten wie folgt.
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", "Beispiel App", importance);
channel.setDescription("Beschreibung / Erklärung Hier können Sie eine Beschreibung der Benachrichtigung schreiben.");
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("Titel")
.setContentText("Nachricht Nachricht")
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
NotificationManagerCompat notificationManager
= NotificationManagerCompat.from(this);
notificationManager.notify(R.string.app_name, builder.build());
//・ ・ ・(5)
}
}
(1) Um Benachrichtigungen unter Android 8.0 oder höher zu übermitteln, müssen Sie den Benachrichtigungskanal der App im System registrieren. Führen Sie diesen Code aus, sobald die App gestartet wird.
Das Erstellen eines vorhandenen Benachrichtigungskanals führt keine Vorgänge aus, daher ist es sicher, ihn wiederholt aufzurufen.
Wenn Sie es also mit "onCreate" aufrufen, gibt es kein Problem.
(2) Implementierung des Benachrichtigungskanals. Der Benachrichtigungskanal sieht folgendermaßen aus: Dies ist ein Bildschirm, der über die Smartphone-Einstellungen-> Apps / Benachrichtigungen angezeigt werden kann.
(3) Implementieren Sie die Verarbeitung, wenn die Taste gedrückt wird.
(4) Erstellen Sie eine Benachrichtigung. Sie können das Symbol, den Titel, die Nachricht usw. festlegen.
(5) Zeigen Sie die Benachrichtigung an.
Anzeigen von Benachrichtigungen mit notificationManager.notify
. Übergeben Sie eine eindeutige ID und das Ergebnis von "NotificationCompat.Builder.build ()" als Argument.
Wenn Sie die App starten und die angezeigte Taste drücken, sollte eine Benachrichtigung angezeigt werden. Wenn die Bewegung mit der in der obigen Beispiel-App gezeigten übereinstimmt, sind Sie erfolgreich!
Hat die Probe funktioniert? Vielleicht funktioniert es mit Kopieren und Einfügen. Bei der Zustellung von Benachrichtigungen unter Android 8.0 und höher ist eine zusätzliche Implementierung erforderlich, und ich denke, der Rest ist relativ einfach.
Benachrichtigungen haben noch viele Funktionen. Sie können auch einen Fortschrittsbalken oder eine Implementierung hinzufügen, wenn Sie auf eine Benachrichtigung tippen. Ich möchte hier in Zukunft über die Implementierung hier schreiben.
wir sehen uns!
Recommended Posts