Android 5.1推送通知图标为空白

时间:2015-04-19 10:57:27

标签: android parse-platform push-notification

当使用Parse进行推送通知时,我们的应用程序始终显示应用程序的启动器图标。 在最新的Android 5.1版本中,图标显示为空白(白色方块)。

我尝试在元数据中设置图标:

<meta-data android:name="com.parse.push.notification_icon" android:resource="@drawable/noti_icon"/>

基于问题here

但似乎没有任何效果。 有什么想法吗?

3 个答案:

答案 0 :(得分:12)

您必须在Android Lollipop 5.0或更高版本下使用透明和白色图标。您可以扩展ParsePushBroadcastReceiver类并覆盖这两种方法,以使您的通知图标与这些Android API兼容。

    @Override
protected int getSmallIconId(Context context, Intent intent) {
    return R.drawable.your_notifiation_icon;
}

@Override
protected Bitmap getLargeIcon(Context context, Intent intent) {
    return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon);
}

请记住自定义代码以支持Lollipop和以前的API。

        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
        return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon_lollipop);
    }
    else{
        return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon);
    }

答案 1 :(得分:2)

它与Parse或推送通知无关,而是与Android 5.0如何处理通知图标有关。 有关详细信息,请参阅此相关问 Notification bar icon turns white in Android 5 Lollipop

答案 2 :(得分:0)

试试这段代码。

Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);

NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
                .setSmallIcon(R.drawable.ic_launcher)
                .setLargeIcon(largeIcon)
                .setContentText(data)
                .setContentTitle("Notification from Parse")
                .setContentIntent(pendingIntent);