android - 在 Flutter 中使用 awesome_notifications 显示通知的问题

标签 android flutter dart flutter-layout

我是 flutter 的新手。我已经开始创建一个提醒应用程序。我正在尝试在 android 警报回调上调用推送通知。我正在使用 awesome_notifications。回电时,我正在调用 _ringAlarm()。我已将其粘贴在下面。
它说 D/NotificationSender(5192): 通知已创建但注意显示在屏幕上。
运行时抛出此异常。
W/System.err(5192):java.lang.IllegalArgumentException:无效通知(没有有效的小图标):通知(channel=basic_channelshortcut=null contentView=null vibrate=null sound=null tick defaults=0x0 flags=0x11 color= 0xff9d50dd vis=UNKNOWN(2))

Future _ringAlarm() async {

  AwesomeNotifications().initialize(
    'resource://drawable/logo.png',
    [
        NotificationChannel(
            channelKey: 'basic_channel',
            channelName: 'Basic notifications',
            channelDescription: 'Notification channel for basic tests',
            defaultColor: Color(0xFF9D50DD),
            ledColor: Colors.white
        )
    ]
  );

  AwesomeNotifications().isNotificationAllowed().then((isAllowed) {
    if (!isAllowed) {
      AwesomeNotifications().requestPermissionToSendNotifications();
    }
  });

  AwesomeNotifications().createNotification(
    content: NotificationContent(
        id: 10,
        channelKey: 'basic_channel',
        title: 'Simple Notification',
        body: 'Simple body'
    )
  );

}

最佳答案

这意味着您的图标有一些问题要解决这个问题,您必须在“[project]/android/app/src/main/res/drawable/”下添加一个名为“logo.png”的图标。 drawable position image
初始化时,您必须只插入不带扩展名的名称,如下所示

AwesomeNotifications().initialize(
    'resource://drawable/logo',
    [
        NotificationChannel(
            channelKey: 'basic_channel',
            channelName: 'Basic notifications',
            channelDescription: 'Notification channel for basic tests',
            defaultColor: Color(0xFF9D50DD),
            ledColor: Colors.white
        )
    ]
  );
现在唯一可用的方法是通过资源

关于android - 在 Flutter 中使用 awesome_notifications 显示通知的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64499092/

相关文章:

Android TextToSpeech 初始化 block /卡住 UI 线程

flutter - 有什么方法可以在 flutter 中剪辑 appbar 吗?

dart - 使用 Dart 编辑器让应用程序在 Chromium 中启动

dart - 如何等待 ValueChanged?

android - 将二进制文件放入 Assets 文件夹时,错误文件名必须以 .xml 结尾

java - 如何将 SQLite 表行保存到数组中?

android - 如何禁用android键盘中的语音输入键

Flutter Svg 图像无法加载

ios - CocoaPods 在 Podfile 中找不到 pod XXXX 的兼容版本

flutter - Flutter-当文本可见时,Textfield失去焦点