如何获取推送通知消息的图标

时间:2017-07-17 23:35:34

标签: android cordova ibm-mobilefirst

如何让我的图标显示在android中的推送通知消息旁边。我有一个cordova应用程序,我看到iOS推送消息的图标,但在Android上,我的推送消息旁边有一个白色圆圈。

我在config.xml文件中有这个设置

<platform name="android">

        <icon src="splash/icon/android/icon-96-xhdpi.png" />
        <icon density="ldpi" src="splash/icon/android/icon-36-ldpi.png" />
        <icon density="mdpi" src="splash/icon/android/icon-48-mdpi.png" />
        <icon density="hdpi" src="splash/icon/android/icon-72-hdpi.png" />
        <icon density="xhdpi" src="splash/icon/android/icon-96-xhdpi.png" />
        <icon density="xxhdpi" src="splash/icon/android/icon-144-xxhdpi.png" />
        <icon density="xxxhdpi" src="splash/icon/android/icon-192-xxxhdpi.png" />

    </platform>

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

  

您好,只需从onMessageReceived()中调用此方法即可   MyFirebaseMessagingService可以获取通知图标而不是   白色图标。希望这可能会对你有所帮助。这是为Android。像这样: - Icon not displaying in notification: white square shown instead

private void sendNotification(String message, String mAction) {
        int id = (int) System.currentTimeMillis();
        PendingIntent pendingIntent = null;
        Intent intent = new Intent(this, SplashActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | 
        Intent.FLAG_ACTIVITY_SINGLE_TOP);
        pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, PendingIntent.FLAG_ONE_SHOT);

        Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                .setSmallIcon(R.mipmap.ic_launcher)
                .setContentTitle(getString(R.string.app_name))
                .setContentText(message)
                .setAutoCancel(true)
                .setSound(defaultSoundUri)
                .setContentIntent(pendingIntent);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            notificationBuilder.setSmallIcon(R.mipmap.ic_launcher);
        } else {
            notificationBuilder.setSmallIcon(R.mipmap.ic_launcher);
        }
        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(id, notificationBuilder.build());
    }