跳到主內容

保護你應用的敏感內容

瞭解如何保護 Flutter 應用中的敏感內容。

SensitiveContent 元件允許您防止包含敏感內容(例如密碼)的螢幕被投屏。要了解更多資訊,請檢視以下兩分鐘的“每週元件(Widget of the Week)”影片。

在新標籤頁中觀看 YouTube 影片:“SensitiveContent | Flutter 每週元件”

關於 SensitiveContent 元件

#

您可以在應用中使用 SensitiveContent 元件,將子 Widget 的內容敏感度設定為以下 ContentSensitivity 值之一:notSensitivesensitiveautoSensitive。您選擇的模式決定了在媒體投屏過程中是否應遮蓋(黑屏)裝置螢幕以保護敏感資料。

您的應用中可以包含任意數量的 SensitiveContent 元件,但如果其中任何一個元件的值為 sensitive,則整個螢幕在媒體投屏期間都會被遮蓋。因此,對於大多數用例,在應用元件樹中使用多個 SensitiveContent 元件相比僅使用一個並無優勢。

此功能適用於 Android API 35 及以上版本,在較低的 API 版本或其他平臺上沒有影響。

使用 SensitiveContent 元件

#

對於您希望防止媒體投屏的內容(例如 MySensitiveContent() 元件),您可以使用 SensitiveContent 元件對其進行包裹,如下例所示:

dart
class MyWidget extends StatelessWidget {
  ...
  Widget build(BuildContext context) {
    return SensitiveContent(
      sensitivity: ContentSensitivity.sensitive,
      child: MySensitiveContent(),
    );
  }
}

在 Android API 34 及以下版本上執行時,螢幕在媒體投屏期間不會被遮蓋。該元件將存在於元件樹中,但不會產生其他影響,您無需在不支援此功能的平臺上刻意避免使用 SensitiveContent

更多資訊

#

有關更多資訊,請訪問 SensitiveContentContentSensitivity 的 API 文件。