dart
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
switch (state) {
case AppLifecycleState.inactive: // 处于这种状态的应用程序应该假设它们可能在任何时候暂停。
break;
case AppLifecycleState.resumed: //从后台切换前台,界面可见
handle();
break;
case AppLifecycleState.paused: // 界面不可见,后台
break;
case AppLifecycleState.detached: // APP结束时调用
break;
}
}
以上代码会在app在初次启动以及app切换回来时触发handle()函数
dart
handle() async {
ClipboardData? clipboardData =
await Clipboard.getData(Clipboard.kTextPlain); //获取粘贴板中的文本
if (clipboardData != null) {
if(clipboardData.text!.length>10
&&clipboardData.text!.substring(0,9)=='粘贴板口令内容符合'){
Future.delayed(const Duration(milliseconds: 200),(){
Navigator.of(context).push(CustomRoute(const MyPage()));//跳转页面
});
}
}
}
切换App返回时监听粘贴板,如果口令符合要求,做出处理(如跳转页面或者启动弹框)
原文链接:https://blog.csdn.net/weixin_45003123/article/details/127234119