更改 Android 和 IOS 上推送通知状态栏的图标

Change the icon of the push notification status bar on Android and IOS

我的应用程序图标是 blue/red,当我收到推送通知时,状态栏上的图标是相同的应用程序图标 (blue/red)。我希望状态栏的图标是透明的白色版本

我的离子项目正在使用 this cordova plugin 接收推送通知。插件的官方文档没有关于如何配置状态栏通知的图标。

看起来你想要的东西用那个库是不可能的。

在 iOS

根据文档,通知图标 is automatically set 到您应用的小图标 (Icon-Small.png):

In the banner, iOS displays your notification message and the small version of your app icon.

除非你改变小版本的应用程序图标,这在 iOS 上根本不可能。

在 Android

使用 Android API 这将很简单 Notification.Builder#setSmallIcon(int), but the library you’re using hard-codes that icon 到应用程序的图标。

您需要修改库以接受其他图标。这可能尚未实现,因此行为在所有平台上都是一致的。

更新

现在 this plugin 完全可以。

    private void shownotification(String message, Context context) {
    NotificationManager mNotificationManager = (NotificationManager) context
            .getSystemService(context.NOTIFICATION_SERVICE);
    NotificationCompat.Builder mNotifyBuilder = new NotificationCompat.Builder(
            context).setContentTitle("Jaswinderwadali").setContentText(message)
            .setDefaults(Notification.DEFAULT_ALL).setAutoCancel(true)
            .setSmallIcon(R.drawable.Mypic);
    Notification notification = mNotifyBuilder.build();
    notification.flags |= Notification.FLAG_AUTO_CANCEL;
    mNotificationManager.notify(0, notification);
}

用于android改变状态栏通知图标.setSmallIcon(R.drawable.Mypic)

您需要在您的绘图目录中创建一个名为 ic_stat_onesignal_default 的图标,该图标将代替 OneSignal 的默认铃铛图标显示。