通知栏屏蔽了怎么解除的通知怎么办

由于项目需求需要把下拉状态栏Φ的通知显示部分通知栏屏蔽了怎么解除掉不让其显示出来,由android7.0移植到android8.0还是按照以前的通知栏屏蔽了怎么解除方式,通知栏屏蔽了怎麼解除掉了原生的通知区域

发现了如下了,多数情况是挺正常的如下截图:

 但是当收到电话、短信等一些特殊通知时,会出现如下截圖现象:

 被测试提出了这样的bug当时移植项目之前就感觉多多少少会出现一些问题,毕竟要适配刘海平出现了,咱们就解决

因为发现昰当收到一些特殊通知的时候会出现这个样子,因此一部分原因肯定是通知的问题造成的因此先把之前通知栏屏蔽了怎么解除的通知区域放开,查看一下现象经发现,如图

其第二张图的收缩的高度正好是上边截图的滚动产生的View,通过Monitor工具抓取这个View的布局查看这个View的id為backgroundNormal,然后通过搜索代码查看到这个控件相关的类有两个

但是第一个NotificationShelf,它是就是上边图三中的QuickSettings下边的那一栏的带一个点的一行其实它代表了通知区域的一条信息。因此这个NotificationShelf这个布局的作用是用来显示多少条被收缩的通知应用的图标(收缩就是指你上推状态栏的时候,一條条通知被隐藏然后所对应的通知就会通过最下边这一栏来显示被隐藏通知的图标)。

上边也有说到其中根据收缩高度以及现象,怀疑

①、当测量展开高度时没有计算下边这个NotificationShelf这一条的高度导致给的展开高度偏小

②、没有被隐藏而只是不可见状态(意思是没有gone掉)但昰InVisible的控件也是计算控件高度及大小的。

①、先验证第一条猜测通过跟踪代码发现其中关于计算状态栏的下拉展开高度在SystemUI的NotificationPanelVIew的getMaxPanelHeight这个方法。嘫后其中方法如下截图:

其中通过打印这个maxHeight(这个值就是展开高度值)其实看if语句有两种高度,一种是完全展开即QuickSettings也展开的高度二者昰QuickSettings不展开,通过打印这个maxHeight发现当不存在特殊通知(就是正常现象正常高度的展开高度)与存在特殊通知(就是不正常现象,不正常的展開的高度 )的时候其打印的maxHeight的值是一样的所以第一种猜测排除。发现其实第一种的说法也没有错误只是一直给的定值,并没有计算NotificationShelf的高度也只能说当有特殊通知的时候,咱们状态栏中NotificationShelf的状态不对看似是没有显示,但是其占有一定空间位置的

②、验证第二条,通过查看NotificationShelf类其中如下截图:

 其中这里通过获取config.xml的值来控制NotificationShelf的显示和隐藏,通过代码也可以看到其中通过读取的值mShowNotificationShelf来控制这个控件的显示和隱藏。这里我们改一下config中对应的boolean值改为false,原本是true测试了一下,真的这个NotificationShelf被隐藏了而且现在下拉也恢复正常了。

第一种猜测得出一部汾结论通过第二种方法测试验证了这个结论,问题得以解决

}
  • 你可以到设置——应用——全部——点击软件后把显示的勾去掉就可以了,系统的软件通知是无法去除的

  • 展开全部 你可以到设置——应用——全部——点击软件后把顯示的勾去掉就可以了,系统的软件通知是无法去除的希望对你有用

  • 你可以到设置——应用——全部——点击软件后,把显示的勾去掉僦可以了系统的软件通知是无法去除的。希望对你有用

  • 展开全部 你可以到设置——应用——全部——点击软件后把显示的勾去掉就可鉯了,系统的软件通知是无法去除的

  • 展开全部 你可以到设置——应用——全部——点击软件后把显示的勾去掉就可以了,系统的软件通知是无法去除的希望对你有用

}

我要回帖

更多关于 通知栏屏蔽了怎么解除 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信