微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AndroidManifest 中缺少默认通知通道元数据 Flutter 将使用默认值

如何解决AndroidManifest 中缺少默认通知通道元数据 Flutter 将使用默认值

我使用的是 Firebase Messaging 10.0.2 版和 Flutterlocalnotification 6.0.0 版。每当我在我的应用程序处于后台时使用 firebase 消息运行我的通知时,我总是在控制台中收到此异常AndroidManifest 中缺少通知通道元数据。即使我使用 Flutter localnotification 插件创建了一个通知通道,也会使用认值。 虽然,当应用程序处于前台时,这非常有效 这是我的 Manifest.xml 文件

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.app">
  <application
    android:label="app"
    android:icon="@mipmap/ic_launcher">
    <activity
        android:name=".MainActivity"
        android:launchMode="singletop"
        android:theme="@style/LaunchTheme"
        
        <Meta-data
          android:name="io.Flutter.embedding.android.SplashScreenDrawable"
          android:resource="@drawable/launch_background"
          />
        <Meta-data
             android:name="com.google.firebase.messaging.default_notification_channel_id"
          android:value="app"/>
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <!-- Don't delete the Meta-data below.
         This is used by the Flutter tool to generate GeneratedpluginRegistrant.java -->
    <Meta-data
        android:name="FlutterEmbedding"
        android:value="2" />
</application>

这也是我创建通知渠道的代码

 static final FlutterlocalnotificationsPlugin FlutterlocalnotificationsPlugin =
    FlutterlocalnotificationsPlugin();

  static void initialize() {
    final InitializationSettings initializationSettings =
      InitializationSettings(
        android: AndroidInitializationSettings("@mipmap/ic_launcher"));

  static void createChannelAnddisplay(RemoteMessage message) async {
    final id = DateTime.Now().millisecondsSinceEpoch ~/ 1000;
    final NotificationDetails notificationDetails = NotificationDetails(
      android: AndroidNotificationDetails(
          "app","app_channel","my app channel",importance: Importance.max,priority: Priority.high));

  await FlutterlocalnotificationsPlugin.show(
      id,message.notification!.title,message.notification!.body,notificationDetails,);

我做错了什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?