【问题标题】:How to change local notification icon?如何更改本地通知图标?
【发布时间】:2022-09-28 03:52:05
【问题描述】:

我用 png 文件制作了本地通知图标。但是,在 android 中,图标看起来是透明的。它在 ios 应用程序中看起来不错。如何将原始图标图像显示为通知图标?

ios通知图标

安卓通知图标

通知代码

import \'package:flutter_local_notifications/flutter_local_notifications.dart\';
// import \'package:timezone/data/latest_all.dart\' as tz;
// import \'package:timezone/timezone.dart\' as tz;

final notifications = FlutterLocalNotificationsPlugin();

initNotification() async {

  var androidSetting = const AndroidInitializationSettings(\'ic_launcher\');

  var iosSetting = const IOSInitializationSettings(
    requestAlertPermission: true,
    requestBadgePermission: true,
    requestSoundPermission: true,
  );

  var initializationSettings = InitializationSettings(
      android: androidSetting,
      iOS: iosSetting
  );
  await notifications.initialize(
    initializationSettings,
  );
}

showNotification() async {

  var androidDetails = const AndroidNotificationDetails(
    \'ID\',
    \'notification\',
    priority: Priority.high,
    importance: Importance.max,
    // color: Color.fromARGB(255, 255, 0, 0),
  );

  var iosDetails = const IOSNotificationDetails(
    presentAlert: true,
    presentBadge: true,
    presentSound: true,
  );

  notifications.show(
      1,
      \'title1\',
      \'content1\',
      NotificationDetails(android: androidDetails, iOS: iosDetails)
  );
}
  • 您是否已经更改了 iOS 的图像?

标签: flutter android-studio dart


【解决方案1】:

我今天也有同样的问题。对于android,您需要更改图标, android -> app -> main -> res -> drawable 和那个名字放在里面

var androidSetting = const AndroidInitializationSettings('ic_launcher');

里面但是对于iOS我不知道在哪里改变

【讨论】:

  • 是的!这正是我所做的。但没有工作:(
【解决方案2】:

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案3】:

是的,您可以使用 png 图像颜色,它会在通知上显示颜色图标。

前任 : 图像文件 ic_launcher.png

在您的可绘制文件夹中创建新文件

启动器通知.xml

    <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <bitmap android:gravity="fill" android:src="@drawable/ic_launcher"/>
    </item>
    <item>
        <bitmap android:gravity="center" android:src="@drawable/ic_launcher"/>
    </item>
</layer-list>

并将“launcher_notification”放入

var androidSetting = const AndroidInitializationSettings('launcher_notification');

如果它在模拟器上显示灰色图标,请在您的手机上尝试

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 2019-03-10
    • 2017-03-06
    • 2017-06-26
    相关资源
    最近更新 更多