如何在安卓设备上用Flutter处理推送通知并解决flutter_local_notifications废弃API警告
Flutter安卓端flutter_local_notifications废弃API提示解决方案
Note: /home/uriel/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_local_notifications-5.0.0+4/android/src/main/java/com/dexterous/flutterlocalnotifications/FlutterLocalNotificationsPlugin.java uses or overrides a deprecated API
Note: Recompile with -Xlint:deprecation for details.
问题性质说明
上述输出属于编译警告,不是崩溃级错误,由你使用的5.0.0+4版本flutter_local_notifications依赖包的安卓侧代码调用了安卓官方标记为废弃的API导致,如果当前通知功能可以正常运行,可暂时忽略该提示。如果需要彻底消除提示或伴随出现通知功能异常,可按以下方案处理:
具体解决步骤
- 优先升级依赖包:5.x属于老旧版本,官方已经在后续版本修复了废弃API调用问题。打开项目根目录的
pubspec.yaml文件,将flutter_local_notifications的依赖版本替换为当前稳定大版本,修改完成后执行flutter pub upgrade拉取新版本依赖,重新编译项目即可消除绝大多数该类警告。 - 若因项目兼容要求无法升级大版本,可屏蔽编译警告输出:打开项目
android/build.gradle文件,在allprojects代码块内添加如下配置:
该方案仅隐藏警告输出,不会修改底层依赖的废弃API调用逻辑。tasks.withType(JavaCompile) { options.compilerArgs += "-Xlint:-deprecation" } - 升级依赖后如果仍然存在异常,检查安卓侧最低版本配置:高版本flutter_local_notifications要求安卓
minSdkVersion不得低于21,打开android/app/build.gradle文件,找到defaultConfig代码块,将其中的minSdkVersion参数修改为21或更高即可。 - 若伴随出现通知无法发送的问题,检查安卓通知渠道配置:安卓8.0及以上系统必须预先创建通知渠道才能正常发送通知,初始化flutter_local_notifications时需调用对应API完成通知渠道创建,未配置渠道的情况下即使无编译警告也无法正常推送通知。
内容的提问来源于stack exchange,提问作者Uriel
相关产品推荐
相关产品推荐

