Flutter怎么实现点击两次退出app
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,本文小编为大家详细介绍"Flutter怎么实现点击两次退出app",内容详细,步骤清晰,细节处理妥当,希望这篇"Flutter怎么实现点击两次退出app"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢
千家信息网最后更新 2025年01月17日Flutter怎么实现点击两次退出app
本文小编为大家详细介绍"Flutter怎么实现点击两次退出app",内容详细,步骤清晰,细节处理妥当,希望这篇"Flutter怎么实现点击两次退出app"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
在安卓手机上才会有物理返回键,而ios手机是没有的,所以说这个是安卓手机独有的功能。
使用场景:当用户在某一段时间内连续点击两次返回键,才会被认为是退出应用。
在Flutter中想实现这个功能,首先我们先来认识一个Flutter中的组件WillPopScope,在Flutter中我们是用这个组件来实现物理返回键拦截的,从而实现点击两返回键退出应用。
onWillPop是他的一个回调函数,当用户点击返回按钮时被调用(Android物理返回按钮),该回调需要返回一个Future
对象,如果返回的Future
最终值为false
时,则当前路由不出栈(不会返回);最终值为true
时,当前路由出栈退出。我们需要提供这个回调来决定是否退出。
1.App组件
DateTime? lastPopTime;
onWillPop: () async { if (lastPopTime == null || DateTime.now().difference(lastPopTime!) > Duration(seconds: 1)) { lastPopTime = DateTime.now(); ToastUtils.showToast("再按一次退出"); return Future.value(false); } else { lastPopTime = DateTime.now(); // 退出app return Future.value(true); }});
2.InAppWebview组件
DateTime? lastPopTime;
onWillPop: () async { // webViewController?.goBack(); // return Future.value(false); if (lastPopTime == null || DateTime.now().difference(lastPopTime!) > Duration(seconds: 1)) { lastPopTime = DateTime.now(); if (await webViewController?.canGoBack() == true) { await webViewController?.goBack(); } else { ToastUtils.showToast("再按一次退出"); } return Future.value(false); } else { lastPopTime = DateTime.now(); // 退出app return Future.value(true); // await SystemChannels.platform.invokeMethod('SystemNavigator.pop'); }});
读到这里,这篇"Flutter怎么实现点击两次退出app"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
组件
手机
文章
物理
内容
功能
按钮
用户
路由
安卓
应用
妥当
函数
场景
对象
思路
新知
时间
更多
步骤
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
一张图看懂网络安全法宣传
吉林正规软件开发诚信经营
win系统dns服务器未响应
网络安全小诗8句
质谱解析中药数据库
平凉网络安全工程师报名
工业园区数据网络技术怎么样
开远计算机网络技术专业类学校
网络安全手抄报六年级简单
特斯拉网络安全测试
网络安全法没人敢做安全
北京青少年网络安全
个人网络安全与密码
金苗数据库在电脑的哪里找
谷歌地球软件连不上服务器
关于网络安全管理工作的描述
服务器解密怎样安全
华为网络技术最好的圈子
Xshell服务器密码
计计算机软件开发是做什么
陈红数据库
数据库中银行的报表
济南康健网络技术有限公司
数据库连接回收
特斯拉网络安全测试
网络安全框架 三者
hr用access数据库
软件开发用win10
网络安全简历用代码写的吗
网络安全宣传周1000字