Flutter TextFiled频繁采集“剪切板信息”

news2024/9/20 1:10:07

在使用Flutter开发者,输入框是必不可少的功能,最近产品出了需要,要求输入框记住用户登录过的手机号,并在输入框输入时提示出来,这是个很基础的功能,但是在通过测试验收发布到应用市场时,被Vivo拒了,具体报错信息如下:

APP在运行时,SDK存在以下违规行为: 1、未见向用户告知且未经用户同意,f2prateek dart存在频繁采集“剪切板信息”的行为,非服务所必须且无合理应用场景,超出实现产品或服务的业务功能 所必须的最低频率

查看代码后发现就是一个很普通的tetFiled,没有其他特殊的,先做排除

  1. 是否跟焦点有关
  2. 是否需要在组件上做特殊设置

把组件主动获取焦点的 autoFocus 设置为false,提交到VIVO的做隐私合规检测,发现依然没有通过,还是这个问题。没办法去看源码(Flutter3.7.10),发现有一个函数:copySelection

 /// Copy current selection to [Clipboard].
  @override
  void copySelection(SelectionChangedCause cause) {
    final TextSelection selection = textEditingValue.selection;
    assert(selection != null);
    if (selection.isCollapsed || widget.obscureText) {
      return;
    }
    final String text = textEditingValue.text;
    Clipboard.setData(ClipboardData(text: selection.textInside(text)));
    if (cause == SelectionChangedCause.toolbar) {
      bringIntoView(textEditingValue.selection.extent);
      hideToolbar(false);

      switch (defaultTargetPlatform) {
        case TargetPlatform.iOS:
        case TargetPlatform.macOS:
        case TargetPlatform.linux:
        case TargetPlatform.windows:
          break;
        case TargetPlatform.android:
        case TargetPlatform.fuchsia:
          // Collapse the selection and hide the toolbar and handles.
          userUpdateTextEditingValue(
            TextEditingValue(
              text: textEditingValue.text,
              selection: TextSelection.collapsed(offset: textEditingValue.selection.end),
            ),
            SelectionChangedCause.toolbar,
          );
          break;
      }
    }
    clipboardStatus?.update();
  }

源码的注释是将当前内容复制到剪贴板,clipboardStatus是检测剪贴板是否可以粘贴。因为检测结果是“频繁采集剪贴板” 将日志文件下载看了下,确实频率非常高,那是不是跟这个状态被更新有关呢? 抱着试试看的态度,将源码的最后一行注释掉,重新编译打包

//clipboardStatus?.update();

提交到VIVO隐私自检,果然不出所料:检测通过!

 将此问题做个记录,可以帮到后面的同学们
注意:每个项目使用的版本可能不一致,建议优先找这个函数copySelection

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1929260.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深圳晶彩智能JC3636W518C开箱实现电脑副屏功能

深圳晶彩智能发布了JC3636W518C 这是一款中国制造的,铝合金外壳,价格非常震撼的开发板。原创是billbill的up播主萨纳兰的黄昏设计的ESP32太极小派,由深圳晶彩智能批量生产。 该款 LCD 模块采用 ESP32-S3R8 芯片作为主控,该主控是双核 MCU&…

SpringBoot中常用的注解及其用法

1. 常用类注解 RestController和Controller是Spring中用于定义控制器的两个类注解. 1.1 RestController RestController是一个组合类注解,是Controller和ResponseBody两个注解的组合,在使 用 RestController 注解标记的类中,每个方法的返回值都会以 JSON 或 XML…

《昇思25天学习打卡营第07天|qingyun201003》

日期 心得 越往后,越看不懂,只能说是有了解到如何去训练模型代码,对于模型代码该如何去保存,如何通过网络模型去训练。只能一步步来,目前来说是推进度,等后面全部有了认知,再回来重新学习 昇思…

Re:从零开始的C++世界——类和对象(中)

文章目录 前言1. 类的默认成员函数2. 构造函数🍎概念🍎特点🍌特点一🍌特点二🍌特点三🍌特点四🍌特点五🍌特点六🍌特性七 🍎总结 3.析构函数🍎概念…

Foxmail新版本迁移邮箱的数据文件教程

Foxmail作为轻量化办公中使用最多的邮件沟通应用,而当其邮件积累到一定数量后,会几乎占满所在的硬盘空间,小编接下来为大家介绍如何将邮件数据文件迁移到其他硬盘,且迁移后保持foxmail的旧邮件数据存在,方便搜索和转发…

职升网:一建和注安哪个难度大?哪个含金量高?选择哪个?

从考试难度来看,一级建造师(简称一建)的考试难度通常被认为要高于注册安全工程师(简称注安)。一建考试涵盖的内容比较广泛,需要考生对教材进行全面了解和深入复习,特别是在实务这一块内容&#…

第三季度加密市场动荡:市场缺乏炒作题材,波动加剧

摘要 根据 Arkham 的数据,德国政府联邦刑事调查局 (BKA) 可能已完成抛售,其持有量从 6 月中旬的约 50,000 BTC(35.5 亿美元)减少到 7 月 12 日的数据为 0 BTC。市场担忧美国经济在今年晚些时候或 2025 年初陷入衰退,导…

使用mitmproxy抓包详细记录(一)

1、安装mitmproxy pip install mitmproxy 安装失败解决方案,见上一篇 2、编辑代码,可以直接复制我的. 给文件起名,attacy.py import mitmproxyimport csv from mitmproxy import httpclass RequestRecorder:def __init__(self):self.records…

植物大战僵尸杂交版等超火的版本汇总(附说明和下载链接)

1.杂交版 (最火的一版) B站游戏作者潜艇伟伟迷(点击进进入作者空间) 夸克网盘链接:https://pan.quark.cn/s/095de551d1d1 UC网盘链接:https://drive.uc.cn/s/86debb3ce1294 新增7月5日更新的2.2版本链接…

条件匹配工具之ACL概述

基本概念 ACL,即Access Control List(访问控制列表),每个ACL但是是由单条或多条Rule(规则)组成的一个集合 技术背景: 1.用户需求: 用户对网络服务体验的要求越来越高&#xff0c…

Openerstry + lua + redis根据请求参数实现动态路由转发

文章目录 一、需求分析二、准备1、软件安装2、redis-lua封装优化 三、实现1、nginx.conf2、dynamic.lua注意 3、准备两个应用4、访问nginx 四、参数直接传要代理的地址端口 一、需求分析 根据用户访问url的参数,将请求转发到对应指定IP的服务器上。 二、准备 1、…

java实现树形结构的设计

一、页面效果 二、数据库表设计 CREATE TABLE qc_question (id bigint(20) NOT NULL AUTO_INCREMENT,p_id bigint(11) NOT NULL,rank int(4) NOT NULL COMMENT 层级,name varchar(255) NOT NULL COMMENT 名称,code varchar(255) DEFAULT NULL COMMENT 编号,group_id bigint(20…

网络安全防御【防火墙双机热备带宽管理综合实验】

目录 一、实验拓扑图 二、实验要求 三、实验思路: 四、实验步骤: 1、FW3的网络相关配置: 2、FW1的新增配置: 3、交换机LSW6(总公司)的新增配置: 4、双机热备技术配置(双机热…

【人工智能】高级搜索技术(模拟退火搜索算法和遗传算法解决旅行商问题)

目录 一、旅行商问题 1. 需求分析 2. 数据结构、功能模块设计与说明 2.1 数据结构 (1)模拟退火搜索算法 (2)遗传算法 2.2 功能模块设计 (1)模拟退火搜索算法 (2)遗传算法 …

离散数学,传递闭包的运算 ,集合的划分和覆盖 ,等价关系 ,等价类,相容关系 ,偏序关系

目录 1.传递闭包的运算 2.集合的划分和覆盖 3.等价关系 4.等价类 等价关系的性质 商集 5.相容关系 相容类 写出以下相容关系的最大相容类 完全覆盖 6.偏序关系 覆盖 7.哈斯图例子 1.传递闭包的运算 2.集合的划分和覆盖 3.等价关系 4.等价类 等价关…

starrcoks内存溢出后重启失败

sr版本:version 2.1.12 RELEASE (build 04f2931) 部署方式: FE:10.6.xx.107~10.6.xx.109 BE:10.6.xx.107~10.6.xx.111 问题:某天10.6.xx.107机器上的BE提示内存溢出(日志如下),重启后,be却无法…

Gooxi受邀参加第三届中国数据中心服务器与设备峰会

7月2-3日,第三届中国数据中心服务器与设备峰会在上海召开,作为国内最聚焦在服务器领域的专业峰会,吸引了来自全国的行业专家、服务器与机房设备厂家,企业IT用户,数据中心业主共同探讨AIGC时代下智算中心设备的设计之道…

普通人用AI提升收入的四种途径分享(附教程)

全文干货视频很长,建议先收藏再看。 实操和AI绘画工具可以扫描下方,免费获取 01 提升赚钱效率:拆解主业,让AI为你的主业做乘法 首先我要告诉你的是,用 AI 来提升收入这件事并不难,只不过大多数人用错了方…

文心一言 VS 讯飞星火 VS chatgpt (304)-- 算法导论22.2 2题

二、请计算出在图22-3所示无向图上运行广度优先搜索算法后的 d 值和 π 值。这里假定结点 u 为算法所用的源结点。 文心一言: 为了计算在图22-3所示的无向图上运行广度优先搜索(BFS)算法后的d值和π值,我们首先需要明确图的结构…