Flutter Android 应用中的通知图标不显示 local_notification_flutter。

9

我是Flutter新手,请勿因我的问题太简单而责备我。

通知图标没有显示如下:

enter image description here

我将其放在以下路径中:

\android\app\src\main\res\drawable

这是我的图标代码:

 final settingsAndroid = AndroidInitializationSettings('app_icon');
 final settingsIOS = IOSInitializationSettings(onDidReceiveLocalNotification: (id, title, body, payload) => onSelectNotification(payload));
 final settingsIOSgeneral = IOSInitializationSettings(onDidReceiveLocalNotification: (id, title, body, payload) => onSelectNotificationgeneral(payload));
 notifications.initialize(InitializationSettings(settingsAndroid, settingsIOS), onSelectNotification: onSelectNotification);

请问有谁可以帮我预览通知中的图标?


看起来像是一个Proguard问题, 请见https://dev59.com/Mbroa4cB1Zd3GeqPknXX#61303224 - Taz
6个回答

15

我按照以下步骤操作,成功解决了问题:

  1. 创建透明和白色的通知图标(可以使用以下工具:AndroidAssetStudio)

下载zip文件夹并解压缩,您将看到它包含一个带有不同drawable文件夹的res文件夹。复制并粘贴res文件夹中的内容到“android\app\src\main\res”路径中。

Folder Structure

  1. 然后打开AndroidManifest.xml文件并添加以下行:

ic_stat_calendar_today是我的通知图标的名称。已经粘贴的每个drawable文件夹都包含相同名称的不同大小的图标。

Android Manifest

  1. 如果你想改变图标的颜色,请参考上面的图片,在通知图标标签后添加metadata标签

  2. 转到“android\app\src\main\res\values”并添加一个colors.xml文件

colors.xml

<color name="colorAccent">#00FF00</color>

我也在下面的 Github 链接中分享了这个答案- 解决方案


你是一个传奇,谢谢。 - Mohamed Surour

4

1
生成一个透明图标,然后在AndroidNotificationDetails参数中设置颜色。

0

你必须做三件事:

1.按照@user2549980的答案逐步操作,但在colors.xml文件中,你必须以大写格式编写encoding="utf-8",如下所示;


(你的通知图标必须复制到具有相同大小的mipmap文件夹中,并且你必须将该图标名称添加到AndroidManifest.xml中,并且它必须是透明的图标。)

2.步骤:在你的本地通知初始化函数中,

 _notificationPlugin=FlutterLocalNotificationsPlugin();

await _notificationPlugin.initialize(
    const InitializationSettings(
        android: AndroidInitializationSettings('@mipmap/notification_icon'),
        iOS: IOSInitializationSettings()
    ),
  onSelectNotification: (payload) async{

  
  },
);

你必须将此行@mipmap/icon_name更改为您的图标名称。

我写这条评论是因为,这一步很容易被忽略,所以不要忘记这一步。


0

(1) 你不必把它们放在drawable文件夹中,如果需要的话,可以将它们放在mipmap文件夹中(android/src/main/res/mip-map-**dpi文件夹)。 (2) 如果你需要测试结果,热重载不会生效,你需要重新构建来测试结果。


0

图标应该是透明的或者背景是白色的,如果需要可以使用这个网站进行去除https://www.remove.bg/upload

然后在Android Studio中打开你的项目,你可以很容易地使用Android Studio内置工具创建它们。右键单击Res文件夹 -> 新建 -> 图像资产 -> 通知图标(从下拉菜单中选择),然后你可以从图库中选择任何svg或图像。

然后更改最终版本。

AndroidInitializationSettings initializationSettingsAndroid =
        AndroidInitializationSettings('ic_notification');

ic_notification name是我的图像,它在drawable文件夹中 在此输入图片描述

它会起作用的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接