无法使用 FCM 解析 Android 通知的符号“NotificationChannel”

Posted

技术标签:

【中文标题】无法使用 FCM 解析 Android 通知的符号“NotificationChannel”【英文标题】:Cannot resolve symbol 'NotificationChannel' for Android notifications using FCM 【发布时间】:2017-11-23 00:51:16 【问题描述】:

我正在尝试在 android 上设置 Firebase 云消息传递客户端应用。我使用https://github.com/firebase/quickstart-android/tree/master/messaging 作为我的实施指南或模板。当我尝试在https://github.com/firebase/quickstart-android/blob/master/messaging/app/src/main/java/com/google/firebase/quickstart/fcm/MainActivity.java 编写代码时,我在以下行中看到Cannot resolve symbol 'NotificationChannel' 错误:

import android.app.NotificationChannel;

您对为什么NotificationChannel 可能无法识别有任何想法吗?谢谢。

【问题讨论】:

您在 gradle 文件中使用的是什么 SDK 版本?应该是 26 我正在使用android:targetSdkVersion="23"。是因为我需要 API Level 26 吗?我正在查看developer.android.com/reference/android/app/… 和NotificationChannel,上面写着:added in API level 26 目标无关紧要...编译SDK可以 你在哪里定义的?这是我在AndroidManifest.xml 文件中的内容:<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" /> 我需要将 minSdkVersion 更改为 26 吗? 我找到了。我在我的build.gradle 中使用compileSdkVersion 23。谢谢。 【参考方案1】:

NotificationChannel is added in API 26

要获得这个类,compileSdkVersion 需要至少是那个版本。

检查 build.gradle

【讨论】:

嗨 cricket_007,我在 build.gradle 中使用 compileSdkVersion 'Google Inc.:Google APIs:24',所以不能使用 compileSdkVersion 26。还有其他解决办法吗?? 其实我用的是com.google.android.maps.,为此我需要添加compileSdkVersion 'Google Inc.:Google APIs:24' 同样,该类仅在版本 26 及更高版本中可用,因此我猜它需要是 'Google Inc.:Google APIs:26'。虽然没有测试过 我不明白为什么不会,但你的问题与地图无关developer.android.com/reference/android/app/NotificationChannel 问题是,在我的项目中com.google.android.mapscom.google.android.gms.maps 都实现了。对于com.google.android.maps,我需要使用compileSdkVersion 'Google Inc.:Google APIs:24',因为Google APIs:24是地图v1的最新版本,所以不能使用Google APIs:26compileSdkVersion 26来使用NotificationChannel。请建议我该怎么做?

以上是关于无法使用 FCM 解析 Android 通知的符号“NotificationChannel”的主要内容,如果未能解决你的问题,请参考以下文章

使用 FCM 解析部署在 Amazon EC2 Android 通知上的服务器

使用 FCM 杀死应用程序时,Android 无法接收通知

应用程序被杀死时无法接收推送解析 FCM

FCM - 如何修复 android.app.RemoteServiceException:从包发布的错误通知无法扩展 RemoteViews:StatusBarNotification

FCM - 从 Java 向我的 android 设备发送通知

IONIC FCM推送通知ios,无法接收