Flutter实现切换应用时隐藏应用预览

作者:大前端之旅 时间:2021-07-20 21:05:46 

如果您要显示敏感数据,例如。钱包金额,或者只是当登录表单显示插入的密码清晰时(想想眼睛图标..),当您不在应用程序中时,您必须隐藏敏感数据。

许多应用程序已经这样做了,无论是在 Android 还是 iOS 上。

今天我们将看看如何在不使用任何包的情况下完成这项任务,并自己编写所有代码。别担心,这很容易。

因此,请继续了解当您从一个应用切换到另一个应用时如何隐藏应用预览。

开始使用

现在,让我们开始编码吧!

创建一个新的基本 Flutter 应用程序。(我想你知道该怎么做^^)。

安卓

在 Android 中,这非常简单。

我们只需要将MainActivity.kt更新到您的 android 原生项目中,只需在* *onCreate**方法中添加一行代码。

因此,在 Android Studio 中打开 Android 模块。

Flutter实现切换应用时隐藏应用预览

然后,打开MainActivity.kt

Flutter实现切换应用时隐藏应用预览

并粘贴以下代码:

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,
       )
   }
?

}

此代码在我们的应用程序中启用了几个与安全相关的功能。例如。现在将无法在整个应用程序中截取屏幕截图。该功能广泛应用于金融科技领域。 但最重要的是,启用本文的客观功能,即在我们切换应用时隐藏预览应用。

现在您可以返回到 Flutter 项目并在 Android 设备/模拟器上运行该应用程序。

Flutter实现切换应用时隐藏应用预览

Android 上的行为

iOS

在 iOS 端,要获得相同的行为,我们必须编辑AppDelegate.swift文件。

Flutter实现切换应用时隐藏应用预览

通过添加以下 2 个方法来编辑类:

Flutter实现切换应用时隐藏应用预览

现在,您的课程如下所示:

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

当你运行应用程序时,你会得到类似的东西:

Flutter实现切换应用时隐藏应用预览

结论

安全性是我们应用程序的一个重要方面,永远不应低估。几行代码可以避免向我们身边的人显示敏感信息,从而改善用户体验。例如,我正在考虑钱包余额或图片库。我认为在收集用户的文档或个人信息的所有情况下使用此功能是一个好主意。

来源:https://juejin.cn/post/7107396312529633311

标签:Flutter,隐藏,应用,预览
0
投稿

猜你喜欢

  • C语言文件操作大全

    2022-10-17 06:25:01
  • Android SQLite详解及示例代码

    2023-08-04 22:26:35
  • Java中volatile关键字的作用

    2023-06-02 17:02:55
  • Java SpringBoot实现AOP

    2023-05-31 05:49:30
  • spring cloud将spring boot服务注册到Eureka Server上的方法

    2023-12-08 19:42:09
  • Java 使用 HttpClient 发送 GET请求和 POST请求

    2023-07-23 07:56:13
  • C#泛型的使用及示例详解

    2022-03-14 07:01:59
  • Java实现天天酷跑小游戏完整代码(附源码)

    2021-08-03 09:43:43
  • 5个主流的Java开源IDE工具详解

    2021-10-13 06:06:50
  • Java序列化常见的三个问题

    2023-11-21 08:40:52
  • C#中使用资源的方法分析

    2022-01-16 16:27:02
  • Java 实战范例之员工管理系统的实现

    2023-03-31 08:09:33
  • java静态工具类注入service出现NullPointerException异常处理

    2021-11-28 09:59:11
  • Java接口默认方法带来的问题分析【二义性问题】

    2023-11-27 20:32:55
  • java实现简单美女拼图游戏

    2023-03-09 16:45:26
  • C#(int)中Convert、Parse、TryParse的区别

    2023-06-25 03:19:50
  • spring cloud Ribbon用法及原理解析

    2021-11-28 15:27:21
  • 详解Spring Cloud Zuul中路由配置细节

    2022-07-31 06:55:45
  • java编程实现优先队列的二叉堆代码分享

    2022-11-13 15:32:13
  • C#冒泡法排序算法实例分析

    2023-08-13 18:03:42
  • asp之家 软件编程 m.aspxhome.com