我正在实施https://github.com/firebase/quickstart-android/tree/master/messaging上提供的 Firebase Cloud Messaging 快速入门示例项目,并将其合并到我的应用程序中。在https://github.com/firebase/quickstart-android/blob/master/messaging/app/src/main/java/com/google/firebase/quickstart/fcm/MainActivity.java我可以看到以下代码块:
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){}
?据我了解,Build.VERSION.SDK_INT
返回安装应用程序的设备的 API 级别,并且Build.VERSION_CODES.O
是我在 app/build.gradle 文件中定义为要编译的 API 级别,例如:compileSdkVersion 26
. 如果用户的设备的 API 级别低于compileSdkVersion
我用来定义我正在编译的 SDK 版本的设备,代码是否要求不执行创建通道以显示通知的代码?我不明白这种情况的目的。顺便说一句,我正在使用 API 级别为 23 且符合预期的手机进行测试,因为我compileSdkVersion 26
在我的build.gradle
文件,整个代码块都没有被执行。如果您能帮助澄清这段代码的目的,我将不胜感激,当然这不是我编写的代码。我从https://github.com/firebase/quickstart-android/blob/master/messaging/app/src/main/java/com/google/firebase/quickstart/fcm/MainActivity.java拿了它,但我正在尝试去理解它。谢谢你。