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

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

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

基于问题here

但是似乎没有任何作用。
有任何想法吗?

最佳答案

您必须在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);
    }

关于android - Android 5.1推送通知图标为空白,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29728902/

10-11 22:16
查看更多