我是扑扑的新手。我已开始创建提醒应用程序。我正在尝试在android警报回叫上调用推送通知。我正在使用awesome_notifications。在回叫时,我正在调用_ringAlarm()。我已将其粘贴到下面。 它说D / NotificationSender(5192):通知已创建,但会在屏幕上显示。
此异常在运行时引发。
W / System.err(5192):java.lang.IllegalArgumentException:无效的通知(没有有效的小图标):Notification(channel = basic_channel快捷方式= null contentView = null振动= null声音= null勾号默认值= 0x0标志= 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'
)
);
}
答案 0 :(得分:0)
这意味着您的图标存在一些问题,要解决此问题,您必须在“ [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
)
]
);
目前唯一可用的方法是通过资源
答案 1 :(得分:0)
除了 Workflop 的回答之外,我还必须从手机上卸载该应用程序,然后在 Android Studio 上再次运行安装。
我在向我的应用程序添加图像时遇到了同样的问题。好像和调试缓存有关。
我还发现源图像受到极大限制,但不知何故,Awesome Notifications 存储库中并未对此进行解释。显然,图像的最大分辨率必须为 120x120,并且只包含简单的图形,不包括粘贴的图像。它只适用于文本和矢量图形。