app常驻通知栏

通知栏Notification和常驻通知栏

在开发出海app,圣经app时,需要使用常驻通知栏功能,提醒用户经常打开

圣经app对于用户留存非常重要,并且有效提升roi

通知栏Notification和常驻通知栏:

&&.普通Notification

一、整体步骤

//1.获取通知栏管理器实例

NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

//2.获取要弹出的Notification

Notification notification = ....自己封装的构建类及相应方法....

//3.弹出Notification

manager.notify( 【该通知对应的ID值】, notification );

二、其中第二步生成Notification:

两类方法

1.使用系统默认样式

参考默认样式的示意图,和各个参数以及构造方法的说明,设置各个字段的值.

可以使用notification.setContentIntent()或者其它手段来设置对应的PendingIntent.

注意:该方式下,不同api版本区间最实用的构造方法或许不同,可以参考相关资料。

2.自定义样式

2.1自定义RemoteView样式,获取RemoteView

2.2将notification与RemoteView绑定

notification.contentView = remoteView;

此时务必使用以下方式来指定notification的点击事件:

notification.contentIntent = pendingIntent;

参考:

android notification 的总结分析_Android_脚本之家

Android Notification 详解 - zzy7075的专栏 - 博客频道 - CSDN.NET

三、关于上面RemoteView的自定义:

1.可以为RemoteView指定对应的布局文件,来确定样式

2.可以为里面每个不同的View绑定不同的PendingIntent

(经我测试,没有指明PendingIntent的部分,点击会触发整个Notification绑定的PendingIntent)

&&.常驻通知栏

只要设置一下notification.falgs的值就行了,与常量 Notification.FLAG_ONGOING_EVENT 进行“位或”运算就行了:

notice.flags |= Notification.FLAG_ONGOING_EVENT;//该通知常驻在通知栏,始终存在

其它类似的语句还有:

notice.flags |= Notification.FLAG_AUTO_CANCEL;//点击后该通知消失

顺便说一下Notificaiton.flags,

在Notification类中定义了一系列二进制常量,因此上面是“|=”即“位或”运算,它们的对应的效果如下:(我没全部尝试)

public static final int FLAG_SHOW_LIGHTS        = 0x00000001;//search 控制闪光

public static final int FLAG_ONGOING_EVENT      = 0x00000002;//将flag设置为这个属性那么通知就会常驻

public static final int FLAG_INSISTENT          = 0x00000004; //重复发出声音,直到用户响应此通知 

public static final int FLAG_ONLY_ALERT_ONCE    = 0x00000008;//标记声音或者震动一次

public static final int FLAG_AUTO_CANCEL        = 0x00000010; //在通知栏上点击此通知后自动清除此通知 

public static final int FLAG_NO_CLEAR           = 0x00000020;//将flag设置为该值,则通知栏的清楚按钮就不会出现

public static final int FLAG_FOREGROUND_SERVICE = 0x00000040;//前台服务标记

public static final int FLAG_HIGH_PRIORITY = 0x00000080;//高权限??? 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值