Skip to main content

保護您的應用程式敏感內容

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

SensitiveContent 元件 (Widget) 讓您可以防止含有敏感內容(例如密碼)的畫面被投影。如需進一步瞭解,請觀看以下兩分鐘的 Widget of the Week 影片:

Watch on YouTube in a new tab: "SensitiveContent | Flutter widget of the week"

關於 SensitiveContent 元件(Widget)

#

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

您可以在應用程式中放置任意多個 SensitiveContent 元件,但只要其中_任何一個_元件的內容值為 sensitive,螢幕就會在媒體投影時被遮蔽。因此,在大多數情境下,使用多個 SensitiveContent 元件並不會比在元件樹中只放一個 SensitiveContent 元件有更多優勢。

此功能適用於 Android API 35 以上版本,對於較低 API 版本及其他平台則無效。

使用 SensitiveContent 元件(Widget)

#

假設有一些您希望避免被媒體螢幕分享的內容(例如 MySensitiveContent() 元件),您可以如以下範例所示,將其包裹在 SensitiveContent 元件中:

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

當在 Android API 34 及以下版本執行時,進行媒體投影期間螢幕不會被遮蔽。該元件會存在於元件樹中,但不會產生其他效果,因此在不支援此功能的平台上,您無需避免使用 SensitiveContent

更多資訊

#

如需更多資訊,請參閱 SensitiveContent 以及 ContentSensitivity API 文件。