Notification
notification一般是移动应用的通知栏,在顶部有小图标,下拉通知栏之后,会显示大图标,题目,内容,小图标等。
一般的notification声明代码:
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setContentTitle(msg.title)
.setContentText(msg.text)
.setTicker(msg.ticker)
.setSmallIcon(smallIcon)
.setLargeIcon(largeIconBitmap)
.setAutoCancel(true);
Notification mNotification = builder.build();
NotificationManager manager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(id, mNotification);
如果只设置smallIcon 则大小图标都显示为smallIcon,如果也设置了largeIcon,则再通知栏显示小图标,下拉时显示大图标,当然也可以自定义下拉框的样式
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
RemoteViews myNotificationView = new RemoteViews(context.getPackageName(), R.layout.notification);
myNotificationView.setTextViewText(R.id.notification_title, title);
myNotificationView.setTextViewText(R.id.notification_text, text);
myNotificationView.setImageViewBitmap(R.id.notification_large_icon, largeIcon);
myNotificationView.setImageViewResource(R.id.notification_small_icon, smallIcon);
builder.setContent(myNotificationView)
.setTicker(msg.ticker)
.setAutoCancel(true);
Notification mNotification = builder.build();
mNotification.contentView = myNotificationView;
经过测试后发现原生的Android系统和华为的EMUI都能正常显示,但是MIUI下就没有效果,总是显示Android小人的图标,
根据搜索有反映MIUI的通知栏图标只能显示应用图标,因此修改应用图标之后发现还是Android小人,我这暴脾气!!
最后实在是黔驴技穷,后授高人指点,因为MIUI的ROM会保存应用图标,所以通知栏图标没有改变是因为读取的是缓存,然后我试过卸载应用,清理垃圾,在Android Studio 中clean Project,Rebuild Project 还是不好用,最后的大神告诉可以重启系统和更换MIUI主题,果然一一验证成功,感觉MIUI的水好深啊,谨以此文和大家共享,能少入坑。
第一次使用markdown编辑器,希望能慢慢习惯