保护应用的敏感内容
了解如何保护 Flutter 应用中的敏感内容。
SensitiveContent
widget 可阻止包含敏感内容(如密码)的屏幕被投射。要了解更多信息,请观看以下两分钟「每周 widget」视频:
关于 SensitiveContent widget
#
你可以在应用中使用 SensitiveContent widget,将子 widget 的内容敏感度设置为以下 ContentSensitivity
值之一:notSensitive、sensitive 或 autoSensitive。所选模式决定在媒体投射期间是否应遮挡(黑屏)设备屏幕以保护敏感数据。
你可以在应用中放置任意数量的 SensitiveContent widget,但若 任一 widget 的内容值为 sensitive,则媒体投射期间整个屏幕都会被遮挡。因此,在大多数用例中,使用多个
SensitiveContent widget 相比在应用的 widget 树中只放一个并无优势。
该功能在 Android API 35+ 上可用,在更低 API 版本或其他平台上无效。
使用 SensitiveContent widget
#
对于希望防止媒体屏幕共享的内容(例如 MySensitiveContent() widget),可按以下示例用 SensitiveContent widget 包裹:
class MyWidget extends StatelessWidget {
...
Widget build(BuildContext context) {
return SensitiveContent(
sensitivity: ContentSensitivity.sensitive,
child: MySensitiveContent(),
);
}
}
在 Android API 34 及以下版本运行时,媒体投射期间屏幕不会被遮挡。该 widget 会存在于树中但无其他效果,你无需在不支持此功能的平台上避免使用 SensitiveContent。
更多信息
#
更多信息请访问 SensitiveContent
与 ContentSensitivity
API 文档。
除非另有说明,本文档之所提及适用于 Flutter 3.44.0 版本。本页面最后更新时间:2026-06-04。查看文档源码 或者 为本页面内容提出建议。