Android 13中FLAG_NO_CLEAR行为变更,需额外标记实现通知不可移除?
Android 13 中如何实现通知「不可移除」的效果?
问题描述
通知标记
FLAG_NO_CLEAR在Android 13上的行为发生了变化:
- Android 12及更低版本:点击「全部清除」按钮或滑动操作都无法移除该通知
- Android 13:可通过滑动清除通知,但点击「全部清除」按钮不会将其移除
请问在Android 13中,是否需要额外的标记来实现通知「不可移除」的效果?
解决方案
在Android 13及更高版本中,仅使用FLAG_NO_CLEAR只能阻止「全部清除」操作,无法禁用滑动清除。要实现完全不可移除的通知(既不能滑动清除,也不受「全部清除」影响),需要结合以下两个设置:
- 保留
FLAG_NO_CLEAR标记,确保通知不会被「全部清除」按钮移除 - 调用
Notification.Builder.setOngoing(true),禁用通知的滑动清除功能
组合这两项设置后,通知的行为就会和Android 12及以下版本中单独使用FLAG_NO_CLEAR的效果一致,完全无法被用户手动移除。
内容的提问来源于stack exchange,提问作者chrisonline
相关产品推荐
相关产品推荐

