Ich implementiere das Firebase Cloud Messaging Quickstart-Beispielprojekt unter https://github.com/firebase/quickstart-android/tree/master/messaging, das es in meine App integriert. In https://github.com/firebase/quickstart-android/blob/master/messaging/app/src/main/java/com/google/firebase/quickstart/fcm/MainActivity.java kann ich den folgenden Code-Block siehe:Was ist der Zweck der Bedingung "if (Build.VERSION.SDK_INT> = Build.VERSION_CODES.O) {" im Firebase Cloud Messaging-Beispielprojekt?
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// Create channel to show notifications.
String channelId = getString(R.string.default_notification_channel_id);
String channelName = getString(R.string.default_notification_channel_name);
NotificationManager notificationManager =
getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(new NotificationChannel(channelId,
channelName, NotificationManager.IMPORTANCE_LOW));
}
Was ist der Zweck, den Zustand der Verwendung if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){}
? Von dem, was ich verstehe, Build.VERSION.SDK_INT
gibt die API-Ebene des Geräts, auf dem die App installiert ist, und Build.VERSION_CODES.O
ist, was ich als die API-Ebene zum Kompilieren in der app/build.gradle-Datei definieren, zum Beispiel: compileSdkVersion 26
. Soll der Code, der den Code erstellt, der den Kanal zum Anzeigen von Benachrichtigungen erstellt, nicht ausgeführt werden, wenn der Benutzer ein Gerät mit einer API-Ebene hat, die niedriger ist als die compileSdkVersion
, die ich verwende, um zu definieren, für welche SDK-Version ich kompiliere? Ich verstehe den Zweck dieser Bedingung nicht. By the way, ich teste mit einem Telefon, dessen API Level 23 ist und erwartet, da ich compileSdkVersion 26
in meiner build.gradle
Datei verwende, wird der gesamte Code-Block nicht ausgeführt. Ich würde es begrüßen, wenn Sie helfen könnten, den Zweck dieses Codes zu verdeutlichen, und natürlich ist es nicht Code, den ich geschrieben habe. Ich nahm es von https://github.com/firebase/quickstart-android/blob/master/messaging/app/src/main/java/com/google/firebase/quickstart/fcm/MainActivity.java, aber ich versuche es zu verstehen. Vielen Dank.