본문 바로가기
개발노트/Flutter

[Flutter] 뒤로가기 버튼 두번 클릭 시 앱 종료 기능 구현하기

by 전지적진영시점 2023. 6. 5.
반응형

개발 환경

---------------------------------

OS : Mac

개발 툴 : android studio

개발 언어 : dart

개발 프레임워크 : flutter

---------------------------------

 

이번 포스팅에서는 뒤로가기 버튼 두번 클릭 시 앱을 종료하는 기능을 구현한다.

 

WillPopScope 클래스를 사용한다.

 

Scaffold 아래에 willPopScope을 열어주고 onWillPop 속성에 구현한 메서드를 넣어준다,

 

@override
Widget build(BuildContext context) {
    return Scaffold(
      body: WillPopScope(
        onWillPop: onWillPop,
        child: SafeArea(
          child: Stack(
            children: [

 

onWillPop 메서드 전체 코드

 

DateTime? currentBackPressTime;

 

Future<bool> onWillPop() async {
  DateTime currentTime = DateTime.now();

  //Statement 1 Or statement2
  if (currentBackPressTime == null ||
      currentTime.difference(currentBackPressTime!) > const Duration(seconds: 2)) {
    currentBackPressTime = currentTime;
    Fluttertoast.showToast(
        msg: "'뒤로' 버튼을 한번 더 누르시면 종료됩니다.",
        gravity: ToastGravity.BOTTOM,
        backgroundColor: const Color(0xff6E6E6E),
        fontSize: 20,
        toastLength: Toast.LENGTH_SHORT);
    return false;
  }
  return true;

  SystemNavigator.pop();
}

 

반응형

댓글