https://github.com/firebase/quickstart-android/tree/master/messagingで提供されているFirebase Cloud Messagingクイックスタートサンプルプロジェクトを実装しており、これをアプリに組み込んでいます。Firebase Cloud Messagingサンプルプロジェクトの "if(Build.VERSION.SDK_INT> = Build.VERSION_CODES.O){"という条件の目的は何ですか?
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));
}
条件if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){}
を使用する目的は何ですか:https://github.com/firebase/quickstart-android/blob/master/messaging/app/src/main/java/com/google/firebase/quickstart/fcm/MainActivity.javaで私は、次のコードブロックを見ることができますか?私が理解するところでは、Build.VERSION.SDK_INT
は、アプリケーションがインストールされているデバイスのAPIレベルを返します。Build.VERSION_CODES.O
は、app/build.gradleファイルでコンパイルするAPIレベルとして定義したものです。例えば、compileSdkVersion 26
です。コンパイルするSDKバージョンを定義するために使用しているcompileSdkVersion
よりも低いAPIレベルのデバイスをユーザーが持っている場合、通知を表示するチャネルを作成するコードを実行しないようにコードが要求していますか?私はその状態の目的を理解していない。ところで、build.gradle
ファイルにcompileSdkVersion 26
を使用しているため、コードブロック全体が実行されていないため、APIレベルが23で期待される電話機でテストしています。このコードの目的を明確にするのに役立ちますが、もちろん私が書いたコードではないことを感謝します。私はhttps://github.com/firebase/quickstart-android/blob/master/messaging/app/src/main/java/com/google/firebase/quickstart/fcm/MainActivity.javaからそれを取ったが、私はそれを理解しようとしている。ありがとうございました。