前言
我在一款自己做的APP上做了一个前台服务,每当这个服务更新时,都会产生一个浮动横幅,这很不美观,并且影响使用。于是我研究了很久怎么去掉这个横幅。
异常现象
首先软件层面的设置:
NotificationManager.IMPORTANCE_MIN
和
.setPriority(Notification.PRIORITY_MIN) //设定为最低优先级
无法使得 横幅隐藏,并且始终是最高优先级,出现在状态栏的最左侧
然后我手机设置这个应用的通知最小化
从这之后,无法出现横幅,并且怎么调整优先级比如设置为
NotificationManager.IMPORTANCE_HIGH
和
setPriority(Notification.PRIORITY_HIGH) //
都无法使得app出现浮动横幅
再一步测试我删除APP全部数据
此时发现恢复到了开始时候的状态,无法隐藏浮动横幅
结语
因此可以得出结论,oneplus 7手机有一个处理通知栏消息的机制,在被机制处理前,不论什么优先级必然出现浮动横幅,在被机制处理后不论什么优先级必然不出现浮动横幅
猜想
oneplus7手机在通知栏上有2个区间,优先级仅影响在各自区间的排序,但是无法改变区间。