对于淘系电商APP或其他类似的APP而言,获取剪贴板上的淘口令,再解析出具体的商品详情,是整个APP的核心业务操作,就像下面图片展示的这样。

下面我们就用Flutter实现这个功能,首先是前面一部分导入相关引用和常规页面布局代码,直接复制就好了。

import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Flutter Demo',home: MyHomePage(),);}
}class MyHomePage extends StatefulWidget {@override_MyHomePageState createState() => _MyHomePageState();
}

接下来就是主要代码,我们需要实现组件绑定观察者(WidgetsBindingObserver)抽象类,使用组件(Widgets)图层绑定注册的类的接口,我们会覆盖它的App生命周期状态发生改变(didChangeAppLifecycleState)方法,其返回值类型是应用生命周期状态(AppLifecycleState)类。

应用生命周期状态(AppLifecycleState)类有几个常量,分别是:等待(AppLifecycleState.inactive)、暂停(AppLifecycleState. paused)和恢复(AppLifecycleState. resumed)。

class _MyHomePageState extends State<MyHomePage> with WidgetsBindingObserver {@overridevoid initState() {// 在当前页面放一个观察者。WidgetsBinding.instance.addObserver(this);super.initState();}@overridevoid dispose() {// 移除当前页面的观察者。WidgetsBinding.instance.removeObserver(this);super.dispose();}@overridevoid didChangeAppLifecycleState(AppLifecycleState state) {// 当App生命周期状态为恢复时。if (state == AppLifecycleState.resumed) {getClipboardContents();}}/// 使用异步调用获取系统剪贴板的返回值。getClipboardContents() async {// 访问剪贴板的内容。ClipboardData clipboardData = await Clipboard.getData(Clipboard.kTextPlain);// 剪贴板不为空时。if (clipboardData != null && clipboardData.text.trim() != '') {String _name = clipboardData.text.trim();// 淘口令的正则表达式,能判断类似“¥123456¥”的文本。if (RegExp(r'[\uffe5]+.+[\uffe5]').hasMatch(_name)) {// 处理淘口令的业务逻辑。showDialog<Null>(context: context,barrierDismissible: true,builder: (BuildContext context) {return CupertinoAlertDialog(title: Text('淘口令'),content: Text(_name),);},);}}}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Flutter Demo 主页'),),);}
}

如果把上面两段代码合成一个文件,执行调试,然后把APP放在后台,再复制一段淘口令,然后回到APP时,就会像下面一样弹出窗口。

Flutter代码锦囊---淘口令复制弹窗相关推荐

  1. Flutter代码锦囊---摇一摇

    现在很多APP里面的会出现让用户拿起手机摇一摇的场景,除了最常见的微信.QQ等社交APP里面的摇一摇,我们在把APP给测试人员测试的时候,也经常要添加上摇一摇弹窗切换环境的场景,比如下面的场景. 所以 ...

  2. Flutter代码锦囊---自定义曲线裁剪

    在实际开发中,很多APP里面都会有一些布局需要用到曲线,而不是直线,下面举两个例子,一个是京东APP的页面,一个是淘宝APP的页面,它们都用到了曲线. 在Flutter中可以怎么实现这个效果呢,有一个 ...

  3. Flutter代码锦囊---魔改进度条

    Flutter框架提供了Material Design风格的线性进度条(LinearProgressIndicator)组件,就是下面的样子,方方正正的,一点也不圆润. 但是很多APP的设计都按照Ma ...

  4. Flutter代码锦囊---集中管理路由与导航

    当一个Flutter项目的页面多来以后,页面跳来跳去的,开发者自己都会晕,所以需要用一个集中.灵活的方式去管理项目中所有页面的路由与导航. 通常我们是使用主页(home)属性设置应用程序的默认路由,即 ...

  5. Flutter代码锦囊---切换时页面保持状态

    一个正常的Flutter项目中,通过底部导航栏(BottomNavigationBar)或者标签栏(TabBar)组件来切换页面内容,是很正常的操作.但是大家是否有发现,每次导航栏或标签栏切换页面时, ...

  6. Flutter代码锦囊---根据环境选择URL地址

    现在要给公司开发一个内部使用的APP,但是因为是小公司,没有多余的服务器资源,只能拿公司的主机当服务器,也只能在通过映射实现外网访问.所以呀,很蛋疼,只能想办法判断用户是在内网使用APP,还是在外网使 ...

  7. 微信公众号对接淘宝客系统,淘口令解析

    现在大家做淘宝客公众号的比较多,最近也是开发了淘宝客系统,解析淘口令也算是比较烦心的一件事了.直接上思路+代码,不啰嗦. 首先我们判断,用户发送的消息中是否含有https://m.tb.cn,一般淘口 ...

  8. 通过淘口令获取Url链接

    话不多说上代码 举例 淘口令:6.0f/u枝这行 a:/

  9. C# 淘宝商品微信返利助手开发-(九)编写一个vue页面用于复制淘口令

    系列教程一目录:返利助手原理 系列教程二目录:返利助手开放文档以及帐号申请地址 系列教程三目录:返利助手开发(1)API介绍 系列教程四目录:返利助手开发(2)淘宝分享的内容如何只取淘口令 系列教程五 ...

最新文章

  1. PPT文字怎样规划 哪里可以代做PPT
  2. matlab imnoise 用法,怎样使在matlab用imnoise函数啊 对图像有什么要求才能用imnoise函数...
  3. SQL优化万能公式:5 大步骤 + 10 个案例
  4. html里注释的写法正确的是,网页怎么注释语句 HTML的注释正确写法是?
  5. 插入排序、选择排序、快速排序以及归并排序(附Python代码)
  6. 如何修改 SAP 登录界面的文字(事务码SE61)
  7. source insight 4.0 无法同步文件问题
  8. 使用Python分析网易云歌曲评论信息,我发现了这些有趣的规律
  9. LOCK TABLES
  10. C语言汇编-函数调用堆栈的过程
  11. 如何在 Windows 显示扩展名?
  12. 虚拟打印机 android版,Doro PDF Writer
  13. DTU和RTU的区别
  14. FL Studio使用外部音源播放导入的MIDI文件
  15. 天马行空(不定时更新)
  16. 如何向icloud上传文件_扔掉百度网盘,这两招教你用好 iCloud 分享文件
  17. Java 将txt文本文档转换为excel
  18. linux查看进程占用pcu,ksoftirq占用PCU较高,电脑使用较卡,该如何排查问题和解决?...
  19. 牛客-小a与星际探索
  20. AGM AG16K FPGA介绍

热门文章

  1. 牛客练习赛 栈和排序
  2. 分拆素数和(杭电2098)
  3. 5-3 面向可维护性的构造技术
  4. ~~染色法判别二分图
  5. 2018年1月问答系统综述
  6. leetcode770. Basic Calculator IV
  7. 机器学习-多项式回归、正规方程(标准方程)
  8. 使用网络调试助手 MQTT接入阿里云物联网平台,逐字节讲解,适用单片机/ESP8266接入阿里云
  9. 2020-5-13从0在mac上搭载SSM新闻网站项目
  10. 网络协议分析(Network Protocol Analysis)之IPCP、认证协议PAP与CHAP