如何在Android 15中检测通知敏感内容被隐藏?
检测Android 15中通知敏感内容是否被移除的可行方案
1. 检查通知Extra中的系统标记字段
Android 15在隐藏OTP等敏感通知内容时,会在通知的extras中添加一个布尔类型的内部标记。你可以通过以下代码直接判断:
Bundle notificationExtras = notification.extras; boolean isSensitiveContentRemoved = notificationExtras.getBoolean("android.sensitive_content_removed", false);
这个标记不受系统语言影响,是目前最可靠的检测方式,无需依赖变化的提示文本。
2. 分析通知文本的特征差异
虽然提示文本随语言本地化变化,但系统生成的占位符有固定特征:
- 文本长度较短,仅为通用提示(无具体验证码、账号等敏感信息)
- 不包含敏感内容的典型特征(如6位数字串、“验证码”“OTP”等关键字)
- 结合通知来源包名(如短信APP、金融类APP),如果这类高概率含敏感内容的APP通知突然变为无具体信息的通用文本,可判定为内容被移除。
3. 基于历史内容的结构对比(适用于有用户积累的应用)
如果你的应用在Android 15之前已获取过同类通知的完整内容,可以记录其文本结构特征(如是否包含数字串、关键字等)。当Android 15中获取的文本与历史结构差异显著时,即可判断敏感内容被移除。
关键注意事项
- 由于官方未公开该隐私功能的文档,上述系统标记字段需在Android 15测试设备上多场景验证,避免版本适配风险。
- 绝对不要硬编码多语言提示文本进行匹配,这种方法会因系统语言切换或系统更新完全失效。
内容的提问来源于stack exchange,提问作者Panther
相关产品推荐
相关产品推荐

