仿微信添加好友消息通知栏遇到的问题记录

2019-01-23  本文已影响13人  爱吃鱼的外星人

最近在做通知栏相关功能,和微信添加好友后的通知类似。因为下面有两个view,想着应该是自定义吧。便开始着手写xml, 运行后发现有如下问题:

1.直接 设置 builder.setCustomContentView(remoteViews),发现通知栏显示不全,此原因是自定义的remoteview 高度过高导致。

2.用builder.setCustomBigContentView(remoteViews), 发现通知栏会收缩起来,点击小三角才能展示整个通知内容。
显然不满足要求,经查阅文档看到notification 中有个addAction() ,此方法可以在通知栏下方添加按钮。

intent.setAction("notification_clicked_ignore");
builder.addAction(0, "忽略", PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT)); 

intent.setAction("notification_clicked_accept");
builder.addAction(0, "接受", PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT));
一加手机通知栏.jpg vivo 手机通知栏.jpg

以上两个图片都是微信添加好友后的通知,都是是系统自带的通知栏,只是在不同的手机上表现不同。
需要注意的是在一加手机忽略和接受是靠近左边的,而在vivo 手机上的表现是左右均分,如希望在一加手机上也左右均分,则可以用builder.setFullScreenIntent(). 代码如下

 //如果描述的PendingIntent已经存在,则在产生新的Intent之前会先取消掉当前的
            PendingIntent hangPendingIntent = PendingIntent.getBroadcast(context, requestCode, intent, PendingIntent.FLAG_CANCEL_CURRENT);
            builder.setFullScreenIntent(hangPendingIntent, true);
一加手机下方按钮均分.jpg
上一篇下一篇

猜你喜欢

热点阅读