如果您要顯示敏感數據,例如。錢(qián)包金額,或者只是當登錄表單顯示插入的密碼清晰時(shí)(想想眼睛圖標..),當您不在應用程序中時(shí),您必須隱藏敏感數據。
許多應用程序已經(jīng)這樣做了,無(wú)論是在 Android 還是 iOS 上。
今天我們將看看如何在不使用任何包的情況下完成這項任務(wù),并自己編寫(xiě)所有代碼。別擔心,這很容易。
因此,請繼續了解當您從一個(gè)應用切換到另一個(gè)應用時(shí)如何隱藏應用預覽。
開(kāi)始使用
現在,讓我們開(kāi)始編碼吧!
創(chuàng )建一個(gè)新的基本 Flutter 應用程序。(我想你知道該怎么做^^)。
安卓
在 Android 中,這非常簡(jiǎn)單。
我們只需要將MainActivity.kt更新到您的 android 原生項目中,只需在****onCreate方法中添加一行代碼。
因此,在 Android Studio 中打開(kāi) Android 模塊。

然后,打開(kāi)MainActivity.kt類(lèi)

并粘貼以下代碼:
package com.example.flutter_3
import android.os.Bundle
import android.view.WindowManager
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
window.setFlags(
WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE,
)
}
}
此代碼在我們的應用程序中啟用了幾個(gè)與安全相關(guān)的功能。例如?,F在將無(wú)法在整個(gè)應用程序中截取屏幕截圖。該功能廣泛應用于金融科技領(lǐng)域。但最重要的是,啟用本文的客觀(guān)功能,即在我們切換應用時(shí)隱藏預覽應用。
現在您可以返回到 Flutter 項目并在 Android 設備/模擬器上運行該應用程序。
Android 上的行為
iOS
在 iOS 端,要獲得相同的行為,我們必須編輯AppDelegate.swift文件。

通過(guò)添加以下 2 個(gè)方法來(lái)編輯類(lèi):

現在,您的課程如下所示:
import UIKit
import Flutter
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
// Hide your app’s preview window
當你運行應用程序時(shí),你會(huì )得到類(lèi)似的東西:

結論
安全性是我們應用程序的一個(gè)重要方面,永遠不應低估。幾行代碼可以避免向我們身邊的人顯示敏感信息,從而改善用戶(hù)體驗。例如,我正在考慮錢(qián)包余額或圖片庫。我認為在收集用戶(hù)的文檔或個(gè)人信息的所有情況下使用此功能是一個(gè)好主意。
下一步是什么?
不僅將這種用戶(hù)體驗集成到 Android 和 iOS 中,而且還集成到 Flutter 框架提供的其他平臺上,這將是一件好事。畢竟,即使在桌面操作系統上,也有帶有應用預覽和其他一切的“應用切換器”。
好的,今天的文章就和大家分享到這兒。
聯(lián)系客服